Re: [PATCH v6 6/6] blktrace: fix debugfs use after free

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jun 12, 2020 at 07:42:12PM -0700, Bart Van Assche wrote:
> On 2020-06-08 10:01, Luis Chamberlain wrote:
> > +	/*
> > +	 * Blktrace needs a debugfs name even for queues that don't register
> > +	 * a gendisk, so it lazily registers the debugfs directory.  But that
> > +	 * can get us into a situation where a SCSI device is found, with no
> > +	 * driver for it (yet).  Then blktrace is used on the device, creating
> > +	 * the debugfs directory, and only after that a driver is loaded. In
> > +	 * that case we might already have a debugfs directory registered here.
> > +	 * Even worse we could be racing with blktrace to register it.
> > +	 */
> 
> There are LLD and ULD drivers in the SCSI subsystem. Please mention the
> driver type explicitly. I assume that you are referring to SCSI ULDs
> since only SCSI ULD drivers call device_add_disk()?

I've simplified this and so this is no longer a valid comment.

> >  	case BLKTRACESETUP:
> > +		if (!sdp->device->request_queue->sg_debugfs_dir)
> > +			blk_sg_debugfs_init(sdp->device->request_queue,
> > +					    sdp->disk->disk_name);
> 
> How about moving the sg_debugfs_dir check into blk_sg_debugfs_init()?

I found a way to not have to do any of this, the fix will be short and
sweet now.

  Luis



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux