On Tue, Dec 04, 2012 at 07:33:54PM +0800, Xiaotian Feng wrote: > megaraid use INIT_WORK to declare a hotplug_work, but cast the hotplug_work > from work_struct to delayed_work and schedule_delayed_work on it. This is > very dangerous, as other part of delayed_work might be kernel memories allocated > by others. > > With commit 8852aac, schedule_delayed_work() will check dwork->timer before > queue_work, this will cause megaraid code to hit the BUG_ON in workqueue code. > Change megaraid code to use delayed work. > > Signed-off-by: Xiaotian Feng <dannyfeng@xxxxxxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> > Cc: Neela Syam Kolli <megaraidlinux@xxxxxxx> > Cc: "James E.J. Bottomley" <JBottomley@xxxxxxxxxxxxx> > Cc: linux-scsi@xxxxxxxxxxxxxxx Urgh... what the.... Didn't see that one coming. I'm gonna push this to Linus through the workqueue tree. Thanks for the fix. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html