On 4/18/25 00:15, Mina Almasry wrote:
Later patches in the series adds TX net_iovs where there is no pp
associated, so we can't rely on niov->pp->mp_ops to tell what is the
type of the net_iov.

That's fine, but that needs a NULL pp check in io_uring as well,
specifically in io_zcrx_recv_frag().

You can also move it to struct net_iov_area and check niov->owner->type
instead. It's a safer choice than aliasing with struct page, there is
no cost as you're loading ->owner anyway (e.g. for
net_iov_virtual_addr()), and it's better in terms of normalisation /
not unnecessary duplicating it, assuming we'll never have niovs of
different types bound to the same struct net_iov_area.

--
Pavel Begunkov


Reply via email to