usbatm_heavy_init: don't use CLONE_SIGHAND
authorOleg Nesterov <[email protected]>
Wed, 9 May 2007 09:34:35 +0000 (02:34 -0700)
committerLinus Torvalds <[email protected]>
Wed, 9 May 2007 19:30:53 +0000 (12:30 -0700)
usbatm_do_heavy_init() calls allow_signal() which plays with parent process's
->sighand.

Signed-off-by: Oleg Nesterov <[email protected]>
Acked-by: Duncan Sands <[email protected]>
Cc: Greg KH <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/usb/atm/usbatm.c

index b082d95bbbaae87f1a42c607ac67f75e33f34152..11e9b15ca45a35fb7c37e84fef91e07c54b2b507 100644 (file)
@@ -1033,7 +1033,7 @@ static int usbatm_do_heavy_init(void *arg)
 
 static int usbatm_heavy_init(struct usbatm_data *instance)
 {
-       int ret = kernel_thread(usbatm_do_heavy_init, instance, CLONE_KERNEL);
+       int ret = kernel_thread(usbatm_do_heavy_init, instance, CLONE_FS | CLONE_FILES);
 
        if (ret < 0) {
                usb_err(instance, "%s: failed to create kernel_thread (%d)!\n", __func__, ret);