On Thu, Mar 13, 2025 at 09:34:39AM +0100, Hannes Reinecke wrote: > nvmf_connect_command_prep() returns a kmalloced buffer. Yes. > That is stored in a bvec in _nvme_submit_sync_cmd() via > blk_mq_rq_map_kern()->bio_map_kern(). > And from that point on we are dealing with bvecs (iterators > and all), and losing the information that the page referenced > is a slab page. Yes. But so does every other consomer of the block layer that passes slab memory, of which there are quite a few. Various internal scsi and nvme command come to mind, as does the XFS buffer cache. > The argument is that the network layer expected a kvec iterator > when slab pages are referred to, not a bvec iterator. It doesn't. It just doesn't want you to use ->sendpage.