Re: [PATCH] scsi: use GFP_NOFS to avoid circular locking dependency
From: Christoph Hellwig
Date: Wed Jan 29 2025 - 00:35:30 EST
GFP_NOFS is never the right thing for block layer allocations.
The right thing here is GFP_NOIO which is a superset of GFP_NOFS.
Otherwise you could reproduce the same deadlock when using swap
instead of a file system to reproduce basically the same deadlock.
Note that this:
https://lore.kernel.org/linux-block/20250117074442.256705-3-hch@xxxxxx/T/#u
should probably fix the actual deadlock, but it might still need
annotations for lockdep to deal with the initial probing where
the queue is not frozen. Compared to hacky annotations just using
GFP_NOIO feels simpler and more obvious.