1. 11 Apr, 2006 17 commits
  2. 10 Apr, 2006 3 commits
    • Eric W. Biederman's avatar
      [PATCH] de_thread: Don't confuse users do_each_thread. · de12a787
      Eric W. Biederman authored
      
      Oleg Nesterov spotted two interesting bugs with the current de_thread
      code.  The simplest is a long standing double decrement of
      __get_cpu_var(process_counts) in __unhash_process.  Caused by
      two processes exiting when only one was created.
      
      The other is that since we no longer detach from the thread_group list
      it is possible for do_each_thread when run under the tasklist_lock to
      see the same task_struct twice.  Once on the task list as a
      thread_group_leader, and once on the thread list of another
      thread.
      
      The double appearance in do_each_thread can cause a double increment
      of mm_core_waiters in zap_threads resulting in problems later on in
      coredump_wait.
      
      To remedy those two problems this patch takes the simple approach
      of changing the old thread group leader into a child thread.
      The only routine in release_task that cares is __unhash_process,
      and it can be trivially seen that we handle cleaning up a
      thread group leader properly.
      
      Since de_thread doesn't change the pid of the exiting leader process
      and instead shares it with the new leader process.  I change
      thread_group_leader to recognize group leadership based on the
      group_leader field and not based on pids.  This should also be
      slightly cheaper then the existing thread_group_leader macro.
      
      I performed a quick audit and I couldn't see any user of
      thread_group_leader that cared about the difference.
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      de12a787
    • Adrian Bunk's avatar
      [PATCH] CONFIGFS_FS must depend on SYSFS · 65714b91
      Adrian Bunk authored
      
      This patch fixes the a compile error with CONFIG_SYSFS=n
      
      Configfs is creating, as a matter of policy, the /sys/kernel/config
      mountpoint.  This means it requires CONFIG_SYSFS.
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      65714b91
    • Eric Sesterhenn's avatar
      [PATCH] Bogus NULL pointer check in fs/configfs/dir.c · cbca692c
      Eric Sesterhenn authored
      
      We check the "group" pointer after we dereference it.  This check is
      bogus, as it cannot be NULL coming in.
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      cbca692c
  3. 08 Apr, 2006 5 commits
  4. 07 Apr, 2006 1 commit
  5. 02 Apr, 2006 14 commits