1. 28 10月, 2005 1 次提交
  2. 11 10月, 2005 2 次提交
    • L
      Use the new "kill_proc_info_as_uid()" for USB disconnect too · d7dd8a72
      Linus Torvalds 提交于
      All the same issues - we can't just save the pointer to the thread, we
      must save the pid/uid/euid combination.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d7dd8a72
    • H
      [PATCH] Fix signal sending in usbdevio on async URB completion · 46113830
      Harald Welte 提交于
      If a process issues an URB from userspace and (starts to) terminate
      before the URB comes back, we run into the issue described above.  This
      is because the urb saves a pointer to "current" when it is posted to the
      device, but there's no guarantee that this pointer is still valid
      afterwards.
      
      In fact, there are three separate issues:
      
      1) the pointer to "current" can become invalid, since the task could be
         completely gone when the URB completion comes back from the device.
      
      2) Even if the saved task pointer is still pointing to a valid task_struct,
         task_struct->sighand could have gone meanwhile.
      
      3) Even if the process is perfectly fine, permissions may have changed,
         and we can no longer send it a signal.
      
      So what we do instead, is to save the PID and uid's of the process, and
      introduce a new kill_proc_info_as_uid() function.
      Signed-off-by: NHarald Welte <laforge@gnumonks.org>
      [ Fixed up types and added symbol exports ]
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      46113830
  3. 01 10月, 2005 1 次提交
  4. 22 9月, 2005 1 次提交
  5. 13 9月, 2005 3 次提交
  6. 09 9月, 2005 12 次提交
  7. 08 9月, 2005 1 次提交
  8. 06 9月, 2005 1 次提交
  9. 05 9月, 2005 1 次提交
  10. 30 7月, 2005 3 次提交
  11. 13 7月, 2005 4 次提交
  12. 12 7月, 2005 1 次提交
  13. 28 6月, 2005 5 次提交
  14. 26 6月, 2005 1 次提交
    • C
      [PATCH] Cleanup patch for process freezing · 3e1d1d28
      Christoph Lameter 提交于
      1. Establish a simple API for process freezing defined in linux/include/sched.h:
      
         frozen(process)		Check for frozen process
         freezing(process)		Check if a process is being frozen
         freeze(process)		Tell a process to freeze (go to refrigerator)
         thaw_process(process)	Restart process
         frozen_process(process)	Process is frozen now
      
      2. Remove all references to PF_FREEZE and PF_FROZEN from all
         kernel sources except sched.h
      
      3. Fix numerous locations where try_to_freeze is manually done by a driver
      
      4. Remove the argument that is no longer necessary from two function calls.
      
      5. Some whitespace cleanup
      
      6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
         cleared before setting PF_FROZEN, recalc_sigpending does not check
         PF_FROZEN).
      
      This patch does not address the problem of freeze_processes() violating the rule
      that a task may only modify its own flags by setting PF_FREEZE. This is not clean
      in an SMP environment. freeze(process) is therefore not SMP safe!
      Signed-off-by: NChristoph Lameter <christoph@lameter.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3e1d1d28
  15. 24 6月, 2005 2 次提交
  16. 21 6月, 2005 1 次提交