scst: Fix scst_resume_activity()

Avoid that the following crash is triggered under memory pressure:

 PID: 12622  TASK: ffff88042069a040  CPU: 2   COMMAND: "scst_uid"
  #0 [ffff88040daebaa0] machine_kexec at ffffffff8103b60b
  #1 [ffff88040daebb00] crash_kexec at ffffffff810c99e2
  #2 [ffff88040daebbd0] oops_end at ffffffff8152e1c0
  #3 [ffff88040daebc00] die at ffffffff81010f5b
  #4 [ffff88040daebc30] do_general_protection at ffffffff8152dcb2
  #5 [ffff88040daebc60] general_protection at ffffffff8152d485
     [exception RIP: __scst_resume_activity+531]
     RIP: ffffffffa05ccbd3  RSP: ffff88040daebd10  RFLAGS: 00010046
     RAX: 0000000000000063  RBX: dead000000100100  RCX: 0000000000000000
     RDX: ffffffffa067c8a0  RSI: 0000000000000046  RDI: 0000000000000046
     RBP: ffff88040daebd30   R8: 000000001c1471e6   R9: 6320746d676d2065
     R10: 766974636120666f  R11: 2064616568206f74  R12: ffff88068fea73a8
     R13: ffff88068fea73a8  R14: ffff88040daebe08  R15: ffff88043a7eaab0
     ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
  #6 [ffff88040daebd18] mutex_lock at ffffffff8152af9e
  #7 [ffff88040daebd38] scst_resume_activity at ffffffffa05ccc6d [scst]
  #8 [ffff88040daebd48] scst_unregister_virtual_device at ffffffffa05ce18c [scst]
  #9 [ffff88040daebd88] vdev_del_device at ffffffffa07ca1c0 [scst_vdisk]
 #10 [ffff88040daebdb8] vdisk_del_device at ffffffffa07ca4bf [scst_vdisk]
 #11 [ffff88040daebde8] scst_process_devt_mgmt_store at ffffffffa0605ab9 [scst]
 #12 [ffff88040daebe38] scst_devt_mgmt_store_work_fn at ffffffffa0605af6 [scst]
 #13 [ffff88040daebe48] scst_process_sysfs_works at ffffffffa0601c5f [scst]
 #14 [ffff88040daebe78] sysfs_work_thread_fn at ffffffffa0601e97 [scst]
 #15 [ffff88040daebee8] kthread at ffffffff8109e78e
 #16 [ffff88040daebf48] kernel_thread at ffffffff8100c28a
    
Reported-by: Ashok Ramu <ashok.ramu@actifio.com>
Reported-by: Boris Protopopov <boris.protopopov@actifio.com>


git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6818 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2016-03-01 17:39:37 +00:00
parent ca246c4a50
commit 068bc3f41e
+2 -1
View File
@@ -1092,7 +1092,8 @@ static void __scst_resume_activity(void)
TRACE_MGMT_DBG("Moving delayed mgmt cmd %p to head of active "
"mgmt cmd list", m);
}
list_splice(&scst_delayed_mgmt_cmd_list, &scst_active_mgmt_cmd_list);
list_splice_init(&scst_delayed_mgmt_cmd_list,
&scst_active_mgmt_cmd_list);
spin_unlock_irq(&scst_mcmd_lock);
wake_up_all(&scst_mgmt_cmd_list_waitQ);