On Wed, Dec 11, 2024 at 10:35:13AM -0800, Keith Busch wrote: > + size = le32_to_cpu(hdr.sze); > + if (size > PAGE_SIZE * MAX_ORDER_NR_PAGES) { > + dev_warn(ctrl->device, "FDP config size too large:%zu\n", > + size); > + return 0; > + h = vmalloc(size); > + if (!h) > + return -ENOMEM; Isn't an unconditional vmalloc here for something that usually should have less than a handful of descriptors a little aggressive? I'd use kvmalloc here to get the best of both worlds, and the free path seems to already use kvfree anyway. Otherwise the incremental changes vs the previous version for the entire series look good to me.