オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.8.x/ccs-patch/README.ccs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1658 by kumaneko, Tue Oct 7 04:02:50 2008 UTC revision 1778 by kumaneko, Tue Nov 4 04:30:02 2008 UTC
# Line 1651  Fix 2008/10/07 Line 1651  Fix 2008/10/07
1651        As the number of parameters is increasing, I modified to use a structure        As the number of parameters is increasing, I modified to use a structure
1652        for passing parameters.        for passing parameters.
1653    
1654      @ Always allow updating task state for signal operations.  Fix 2008/10/11
1655    
1656        ccs_check_signal_acl() was skipping permission checks if signal is NULL      @ Remove domain_acl_lock mutex.
1657        or sent to self or sent to same domain. To make it possible to update  
1658        task state when current process is sending NULL signal or to self or        I noticed that I don't need to keep all functions that modify an ACL of
1659        to same domain, I modified to check ACL anyway. The result of access        a domain mutually exclusive. Since each functions handles different type
1660        control will not change, but this modification will generate granted logs        of ACL, locking is needed only when they append an ACL to a domain.
1661        which were not generated until now.        So, I modified to use local locks.
1662    
1663      @ Show process type in /proc/ccs/.process_status .  Fix 2008/10/14
1664    
1665        To be able to determine a process's type, I added "(manager)" if the      @ Fix ccs_check_condition() bug.
1666        process is a policy manager and "(execute_handler)" if the process is an  
1667        execute handler.        Due to a bug in ccs_check_condition(), it was impossible to use
1668          task.state[0] task.state[1] task.state[2] inside condition part
1669          if the ACL does not treat a pathname. For example, an ACL like
1670    
1671            allow_network TCP connect @HTTP_SERVERS 80 if task.state[0]=100
1672    
1673          didn't work.
1674    
1675    Fix 2008/10/15
1676    
1677        @ Show process information in /proc/ccs/.process_status .
1678    
1679          To be able to determine a process's type, I added a command "info PID"
1680          which returns process information of the specified PID in
1681          "PID manager=\* execute_handler=\* state[0]=\$ state[1]=\$ state[2]=\$"
1682          format.
1683    
1684    Fix 2008/10/20
1685    
1686        @ Use rcu_dereference() when walking the list.
1687    
1688          I was using "dependency ordering" for appending an element to a list
1689          without asking the reader to take a lock. But "dependency ordering"
1690          is not respected by DEC Alpha or by some aggressive value-speculation
1691          compiler optimizations.
1692    
1693          On such environment, use of "dependency ordering" can lead to system
1694          crash because the reader might read uninitialized value of newly
1695          appended element.
1696    
1697          To prevent the reader from reading uninitialized value of newly appended
1698          element, I inserted rcu_dereference() when walking the list.
1699    
1700    Fix 2008/11/04
1701    
1702        @ Use sys_getpid() instead for current->pid.
1703    
1704          Kernel 2.6.24 introduced PID namespace.
1705    
1706          To compare PID given from userland, I can't use current->pid.
1707          So, I modified to use sys_getpid() instead for current->pid.
1708    
1709          I modified to use task_tgid_nr_ns() for 2.6.25 and later instead for
1710          current->tgid when checking /proc/self/ in get_absolute_path().

Legend:
Removed from v.1658  
changed lines
  Added in v.1778

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26