1. 09 2月, 2008 15 次提交
  2. 08 2月, 2008 1 次提交
  3. 07 2月, 2008 3 次提交
  4. 06 2月, 2008 12 次提交
  5. 02 2月, 2008 1 次提交
  6. 29 1月, 2008 2 次提交
  7. 26 1月, 2008 1 次提交
  8. 15 1月, 2008 1 次提交
    • O
      fix the "remove task_ppid_nr_ns" commit · a98fdcef
      Oleg Nesterov 提交于
      Commit 84427eae (remove task_ppid_nr_ns)
      moved the task_tgid_nr_ns(task->real_parent) outside of lock_task_sighand().
      This is wrong, ->real_parent could be freed/reused.
      
      Both ->parent/real_parent point to nothing after __exit_signal() because
      we remove the child from ->children list, and thus the child can't be
      reparented when its parent exits.
      
      rcu_read_lock() protects ->parent/real_parent, but _only_ if we know it was
      valid before we take rcu lock.
      
      Revert this part of the patch.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a98fdcef
  9. 14 1月, 2008 1 次提交
    • R
      remove task_ppid_nr_ns · 84427eae
      Roland McGrath 提交于
      task_ppid_nr_ns is called in three places.  One of these should never
      have called it.  In the other two, using it broke the existing
      semantics.  This was presumably accidental.  If the function had not
      been there, it would have been much more obvious to the eye that those
      patches were changing the behavior.  We don't need this function.
      
      In task_state, the pid of the ptracer is not the ppid of the ptracer.
      
      In do_task_stat, ppid is the tgid of the real_parent, not its pid.
      I also moved the call outside of lock_task_sighand, since it doesn't
      need it.
      
      In sys_getppid, ppid is the tgid of the real_parent, not its pid.
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      84427eae
  10. 03 1月, 2008 3 次提交