I think this will work, but unless we have to I'd generally prefer to just split dta that is DMAed into into a separate allocation. That is, do a separate kmalloc for the nvme_smart_log structure. Guenter, is this ok with you?