Linux 6.10 compat: Fix zvol NULL pointer deference

zvol_alloc_non_blk_mq()->blk_queue_set_write_cache() needs the disk
queue setup to prevent a NULL pointer deference.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Closes #16453
This commit is contained in:
Tony Hutter 2024-08-15 14:05:58 -07:00 committed by GitHub
parent f2f4ada240
commit fb432660c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 4 additions and 3 deletions

View File

@ -1261,13 +1261,14 @@ zvol_alloc_non_blk_mq(struct zvol_state_os *zso, zvol_queue_limits_t *limits)
return (1); return (1);
} }
zso->zvo_disk = disk;
zso->zvo_disk->minors = ZVOL_MINORS;
zso->zvo_queue = zso->zvo_disk->queue;
#ifndef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES #ifndef HAVE_BLKDEV_QUEUE_LIMITS_FEATURES
blk_queue_set_write_cache(zso->zvo_queue, B_TRUE); blk_queue_set_write_cache(zso->zvo_queue, B_TRUE);
#endif #endif
zso->zvo_disk = disk;
zso->zvo_disk->minors = ZVOL_MINORS;
zso->zvo_queue = zso->zvo_disk->queue;
#else #else
zso->zvo_queue = blk_alloc_queue(NUMA_NO_NODE); zso->zvo_queue = blk_alloc_queue(NUMA_NO_NODE);
if (zso->zvo_queue == NULL) if (zso->zvo_queue == NULL)