[PATCH] block: bio-integrity: fix potential null-ptr-deref in bio_integrity_free
Christoph Hellwig
hch at infradead.org
Thu Jun 6 07:52:51 PDT 2024
On Thu, Jun 06, 2024 at 10:30:06PM +0800, Ming Lei wrote:
> Yeah, that is one area queue freezing can't cover logical block size
> change, but I'd suggest to put the logical bs check into submit_bio() or
> slow path of __bio_queue_enter() at least.
We really need an alignment check in submit_bio anyway, so doing it
under the freeze protection would also help with this.
> My concern is that nvme format is started without draining IO, and
> IO can be submitted to hardware when nvme FW is handling formatting.
> I am not sure if nvme FW can deal with this situation correctly.
> Ewan suggested to run 'nvme format' with exclusive nvme disk open, which
> needs nvme-cli change.
.. and doesn't protect against someone using a different tool anyway.
That beeing said, nvme_passthru_start actually freezes all queues
based on the commands supported an affects log, and
nvme_init_known_nvm_effects should force this even for controllers
not supporting the log or reporting bogus information. So in general
the queue should be frozen during the actual format.
More information about the Linux-nvme
mailing list