I reproduced a similar result using test patch shown below. ---------- test patch start ---------- diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index 5653e50..eaaa5e2 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c @@ -1412,6 +1412,9 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) return 0; } + printk(KERN_WARNING "Sleep injection start\n"); + ssleep(40); + printk(KERN_WARNING "Sleep injection end\n"); sh = scsi_host_alloc(&mptspi_driver_template, sizeof(MPT_SCSI_HOST)); if (!sh) { diff --git a/kernel/signal.c b/kernel/signal.c index 52f881d..52ec166 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1051,6 +1051,7 @@ static int __send_signal(int sig, struct siginfo *info, struct task_struct *t, int override_rlimit; int ret = 0, result; + WARN_ON(sig == SIGKILL); assert_spin_locked(&t->sighand->siglock); result = TRACE_SIGNAL_IGNORED; ---------- test patch end ----------
---------- dmesg start ---------- [ 2.665872] Fusion MPT base driver 3.04.20 [ 2.666876] Copyright (c) 1999-2008 LSI Corporation [ 2.676334] Fusion MPT SPI Host driver 3.04.20 [ 2.679817] mptbase: ioc0: Initiating bringup [ 2.692059] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI [ 2.693733] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 2.761570] ioc0: LSI53C1030 B0: Capabilities={Initiator} [ 2.919766] Sleep injection start [ 3.062094] e1000 0000:02:00.0 eth0: (PCI:66MHz:32-bit) 00:0c:29:d7:20:d6 [ 3.064980] e1000 0000:02:00.0 eth0: Intel(R) PRO/1000 Network Connection [ 35.716117] ------------[ cut here ]------------ [ 35.718364] WARNING: CPU: 2 PID: 174 at kernel/signal.c:1054 __send_signal+0x476/0x4b0() [ 35.722092] Modules linked in: e1000 mptspi(+) mptscsih mptbase floppy [ 35.725666] CPU: 2 PID: 174 Comm: systemd-udevd Not tainted 3.14.0-rc5+ #267 [ 35.729478] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 09/20/2012 [ 35.734379] 0000000000000009 ffff8800377c5d50 ffffffff816f9669 0000000000000000 [ 35.738226] ffff8800377c5d88 ffffffff8106970d ffff88007a470000 0000000000000009 [ 35.742039] ffff8800377c5ec0 0000000000000001 0000000000000003 ffff8800377c5d98 [ 35.745852] Call Trace: [ 35.747083] [<ffffffff816f9669>] dump_stack+0x45/0x56 [ 35.749482] [<ffffffff8106970d>] warn_slowpath_common+0x7d/0xa0 [ 35.752228] [<ffffffff810697ea>] warn_slowpath_null+0x1a/0x20 [ 35.754904] [<ffffffff8107ac66>] __send_signal+0x476/0x4b0 [ 35.757467] [<ffffffff8107acde>] send_signal+0x3e/0x80 [ 35.759889] [<ffffffff8107b753>] do_send_sig_info+0x43/0x80 [ 35.762490] [<ffffffff8107bc16>] group_send_sig_info+0x46/0x50 [ 35.764040] [<ffffffff8107bd24>] kill_pid_info+0x34/0x50 [ 35.765244] [<ffffffff8107bdee>] SYSC_kill+0x8e/0x1a0 [ 35.766360] [<ffffffff810a18db>] ? account_user_time+0x8b/0xa0 [ 35.767654] [<ffffffff810a1ef4>] ? vtime_account_user+0x54/0x60 [ 35.768946] [<ffffffff81022635>] ? syscall_trace_enter+0x145/0x250 [ 35.770298] [<ffffffff8107d9be>] SyS_kill+0xe/0x10 [ 35.771373] [<ffffffff8170aabf>] tracesys+0xe1/0xe6 [ 35.772455] ---[ end trace aeaeb4f8a60584a0 ]--- [ 42.921677] Sleep injection end [ 42.923315] scsi2: error handler thread failed to spawn, error = -12 [ 42.926270] mptspi: ioc0: WARNING - Unable to register controller with SCSI subsystem [ 42.929990] BUG: unable to handle kernel NULL pointer dereference at 0000000000000060 [ 42.933846] IP: [<ffffffff816fff62>] mutex_lock+0x12/0x2f [ 42.936484] PGD 7a453067 PUD 7a454067 PMD 0 [ 42.939242] Oops: 0002 [#1] SMP [ 42.940874] Modules linked in: e1000 mptspi(+) mptscsih mptbase floppy [ 42.944277] CPU: 0 PID: 181 Comm: systemd-udevd Tainted: G W 3.14.0-rc5+ #267 [ 42.947652] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 09/20/2012 [ 42.952471] task: ffff88007a470000 ti: ffff88007a478000 task.ti: ffff88007a478000 [ 42.954281] RIP: 0010:[<ffffffff816fff62>] [<ffffffff816fff62>] mutex_lock+0x12/0x2f [ 42.955924] RSP: 0018:ffff88007a479b20 EFLAGS: 00010246 [ 42.957009] RAX: 0000000000000000 RBX: 0000000000000060 RCX: 0000000000001a42 [ 42.958398] RDX: 0000000000004090 RSI: 0000000040924090 RDI: 0000000000000060 [ 42.959853] RBP: ffff88007a479b28 R08: 0000000000000082 R09: 000000000000050c [ 42.961323] R10: ffffffff8185b080 R11: 2049534353206874 R12: 0000000000000060 [ 42.962752] R13: ffff88007be19000 R14: 00000000ffffffff R15: 0000000000000001 [ 42.964164] FS: 00007f79226bd880(0000) GS:ffff88007fa00000(0000) knlGS:0000000000000000 [ 42.965755] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 42.966899] CR2: 0000000000000060 CR3: 000000007a452000 CR4: 00000000000407f0 [ 42.968333] Stack: [ 42.969259] 0000000000000000 ffff88007a479b50 ffffffff814cd54d ffff88007abcf000 [ 42.970922] 0000000000000000 ffff88007be19000 ffff88007a479b80 ffffffffa003a2a1 [ 42.972674] ffff88007abcf000 ffff88007be19000 0000000000000000 00000000ffffffff [ 42.974337] Call Trace: [ 42.974868] [<ffffffff814cd54d>] scsi_remove_host+0x1d/0x120 [ 42.976106] [<ffffffffa003a2a1>] mptscsih_remove+0x31/0xc0 [mptscsih] [ 42.977686] [<ffffffffa003423a>] mptspi_probe+0xfa/0x400 [mptspi] [ 42.978964] [<ffffffff813a08f5>] local_pci_probe+0x45/0xa0 [ 42.980094] [<ffffffff813a1b95>] ? pci_match_device+0xc5/0xd0 [ 42.981276] [<ffffffff813a1cb9>] pci_device_probe+0xd9/0x130 [ 42.982410] [<ffffffff8148cfd5>] driver_probe_device+0x125/0x3b0 [ 42.983599] [<ffffffff8148d333>] __driver_attach+0x93/0xa0 [ 42.984770] [<ffffffff8148d2a0>] ? __device_attach+0x40/0x40 [ 42.985913] [<ffffffff8148af23>] bus_for_each_dev+0x63/0xa0 [ 42.987066] [<ffffffff8148c98e>] driver_attach+0x1e/0x20 [ 42.988167] [<ffffffff8148c570>] bus_add_driver+0x180/0x250 [ 42.989318] [<ffffffffa0045000>] ? 0xffffffffa0044fff [ 42.990384] [<ffffffff8148d9b4>] driver_register+0x64/0xf0 [ 42.991888] [<ffffffffa0045000>] ? 0xffffffffa0044fff [ 42.992944] [<ffffffff813a028c>] __pci_register_driver+0x4c/0x50 [ 42.994162] [<ffffffffa00450d7>] mptspi_init+0xd7/0x1000 [mptspi] [ 42.995435] [<ffffffff81002142>] do_one_initcall+0xd2/0x180 [ 42.996594] [<ffffffff8105b743>] ? set_memory_nx+0x43/0x50 [ 42.997718] [<ffffffff810e7046>] load_module+0x1c86/0x26c0 [ 42.998834] [<ffffffff810e29e0>] ? store_uevent+0x40/0x40 [ 43.000119] [<ffffffff810e35ba>] ? copy_module_from_fd.isra.46+0x12a/0x190 [ 43.001528] [<ffffffff810e7bf6>] SyS_finit_module+0x86/0xb0 [ 43.002680] [<ffffffff8170aabf>] tracesys+0xe1/0xe6 [ 43.003695] Code: 65 6e 9b ff e9 40 ff ff ff b8 01 00 00 00 e9 8c fe ff ff 66 0f 1f 44 00 00 66 66 66 66 90 55 48 89 e5 53 48 89 fb e8 9e df ff ff <f0> ff 0b 79 08 48 89 df e8 31 fe ff ff 65 48 8b 04 25 00 c8 00 [ 43.010886] RIP [<ffffffff816fff62>] mutex_lock+0x12/0x2f [ 43.012085] RSP <ffff88007a479b20> [ 43.012823] CR2: 0000000000000060 [ 43.013556] ---[ end trace aeaeb4f8a60584a1 ]--- ---------- dmesg end ---------- It is systemd-udevd process who is sending SIGKILL to worker systemd-udevd process who is waiting for finit_module() to complete. We can see that systemd-udevd has hard-coded 30 seconds timeout. ---------- systemd-204/src/udev/udevd.c start ---------- (...snipped...) /* check for hanging events */ udev_list_node_foreach(loop, &worker_list) { struct worker *worker = node_to_worker(loop); if (worker->state != WORKER_RUNNING) continue; if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { log_error("worker [%u] %s timeout; kill it\n", worker->pid, worker->event ? worker->event->devpath : "<idle>"); kill(worker->pid, SIGKILL); worker->state = WORKER_KILLED; /* drop reference taken for state 'running' */ worker_unref(worker); if (worker->event) { log_error("seq %llu '%s' killed\n", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); worker->event->exitcode = -64; event_queue_delete(worker->event, true); worker->event = NULL; } } } (...snipped...) ---------- systemd-204/src/udev/udevd.c end ---------- Therefore, we cannot override this timeout without modifying udevd.c . It is unfortunate but we have to let kthread_create() ignore SIGKILL (unless killed by the OOM killer). -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1276705 Title: Kernel 3.13 fail to boot with LSI SAS1068E (Dell SAS 6/iR) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1276705/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs