Re: INFO: task hung in __get_super

From: Jan Kara
Date: Tue Apr 30 2019 - 09:07:50 EST


On Tue 30-04-19 04:11:44, Al Viro wrote:
> On Tue, Apr 30, 2019 at 04:55:01AM +0200, Jan Kara wrote:
>
> > Yeah, you're right. And if we push the patch a bit further to not take
> > loop_ctl_mutex for invalid ioctl number, that would fix the problem. I
> > can send a fix.
>
> Huh? We don't take it until in lo_simple_ioctl(), and that patch doesn't
> get to its call on invalid ioctl numbers. What am I missing here?

Doesn't it? blkdev_ioctl() calls into __blkdev_driver_ioctl() for
unrecognized ioctl numbers. That calls into lo_ioctl() in case of a loop
device. lo_ioctl() calls into lo_simple_ioctl() for ioctl numbers it
doesn't recognize and lo_simple_ioctl() will lock loop_ctl_mutex as you
say.

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR