diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-04-26 08:55:31 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-04-26 08:55:31 -0700 |
| commit | 35f4fc9f6bb92dc2d425c472971927ced12547d4 (patch) | |
| tree | 0023fdae0fcfb25401273b2612ce71ef500e9d51 /include/linux/console_struct.h | |
| parent | bf9e688d76438678a6d5a902a2a57f7d866e2b51 (diff) | |
[PATCH] Use workqueue for call_usermodehelper
From: Rusty Russell <rusty@rustcorp.com.au>
call_usermodehelper uses keventd to create a thread, guaranteeing a nice,
clean kernel thread. Unfortunately, there is a case where
call_usermodehelper is called with &bus->subsys.rwsem held (via
bus_add_driver()), but keventd could be running bus_add_device(), which is
blocked on the same lock. The result is deadlock, and it comes from using
keventd for both.
In this case, it can be fixed by using a completely independent thread for
call_usermodehelper, or an independent workqueue. Workqueues have the
infrastructure we need, so we use one.
Move EXPORT_SYMBOL while we're there, too.
akpm fixes: Make it compile with !CONFIG_KMOD
Diffstat (limited to 'include/linux/console_struct.h')
0 files changed, 0 insertions, 0 deletions
