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 |
|
|
|
@ Always allow updating task state for signal operations. |
|
|
|
|
|
ccs_check_signal_acl() was skipping permission checks if signal is 0 |
|
|
or sent to self or sent to same domain. To make it possible to update |
|
|
task state when current process is sending 0 signal or to self or |
|
|
to same domain, I modified to check ACL anyway. The result of access |
|
|
control will not change, but this modification will generate granted logs |
|
|
which were not generated until now. |
|
|
|
|
1654 |
Fix 2008/10/11 |
Fix 2008/10/11 |
1655 |
|
|
1656 |
@ Remove domain_acl_lock mutex. |
@ Remove domain_acl_lock mutex. |
1680 |
which returns process information of the specified PID in |
which returns process information of the specified PID in |
1681 |
"PID manager=\* execute_handler=\* state[0]=\$ state[1]=\$ state[2]=\$" |
"PID manager=\* execute_handler=\* state[0]=\$ state[1]=\$ state[2]=\$" |
1682 |
format. |
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(). |
1711 |
|
|
1712 |
|
Fix 2008/11/07 |
1713 |
|
|
1714 |
|
@ Fix is_alphabet_char(). |
1715 |
|
|
1716 |
|
is_alphabet_char() should match 'A' - 'Z' and 'a' - 'z', |
1717 |
|
but was matching from 'A' - 'F' and 'a' - 'f'. |
1718 |
|
|
1719 |
|
@ Add /proc/ccs/.execute_handler . |
1720 |
|
|
1721 |
|
Process information became visible to userspace by |
1722 |
|
"Show process information in /proc/ccs/.process_status" feature. |
1723 |
|
However, programs specified by execute_handler keyword may run as |
1724 |
|
non root user, making it impossible to see process information. |
1725 |
|
|
1726 |
|
So, I added a new interface that allows execute handler processes |
1727 |
|
to see process information. The content of /proc/ccs/.execute_handler is |
1728 |
|
identical to /proc/ccs/.process_status . |
1729 |
|
|
1730 |
|
Version 1.6.5 2008/11/11 Third anniversary release. |