Re: [ata_scsi_offline_dev] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:238
From: Tejun Heo
Date: Mon Nov 06 2017 - 19:12:20 EST
Hello,
On Mon, Nov 06, 2017 at 03:12:31PM -0800, Linus Torvalds wrote:
> But it does seem to be a new regression in 4.14, caused by commit
> 8a97712e5314 ("scsi: make 'state' device attribute pollable"), because
> that's what added the sysfs_notify() call to scsi_device_set_state(),
> which made that spinlock be a problem.
Yeah, pinged Hannes about it a couple of weeks ago.
> That commit came in through the SCSI merge this merge window, and it
> seems to still revert cleanly.
>
> So I do suspect that by now we should just revert that commit. It's
> not clear why that state attribute should be pollable, and the new
> code is clearly very much buggy.
I think reverting is the right thing to do right now. If necessary,
we can make kernfs_notify() safe to be called from atomic contexts.
Thanks.
--
tejun