On Fri, Jun 20, 2025 at 09:09:55AM -0600, Caleb Sander Mateos wrote: > struct ublk_device's __queues points to an allocation with up to > UBLK_MAX_NR_QUEUES (4096) queues, each of which have: > - struct ublk_queue (48 bytes) > - Tail array of up to UBLK_MAX_QUEUE_DEPTH (4096) struct ublk_io's, > 32 bytes each > This means the full allocation can exceed 512 MB, which may well be > impossible to service with contiguous physical pages. Switch to > kvcalloc() and kvfree(), since there is no need for physically > contiguous memory. > > Signed-off-by: Caleb Sander Mateos <csander@xxxxxxxxxxxxxxx> > Fixes: 71f28f3136af ("ublk_drv: add io_uring based userspace block driver") Reviewed-by: Ming Lei <ming.lei@xxxxxxxxxx> Thanks, Ming