On Tue, Apr 22, 2025 at 11:19 AM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote: > > On 4/22/25 14:56, Mina Almasry wrote: > > On Tue, Apr 22, 2025 at 1:43 AM Pavel Begunkov <asml.silence@xxxxxxxxx> wrote: > >> > >> On 4/18/25 00:15, Mina Almasry wrote: > >>> Currently net_iovs support only pp ref counts, and do not support a > >>> page ref equivalent. > >> > >> Makes me wonder why it's needed. In theory, nobody should ever be > >> taking page references without going through struct ubuf_info > >> handling first, all in kernel users of these pages should always > >> be paired with ubuf_info, as it's user memory, it's not stable, > >> and without ubuf_info the user is allowed to overwrite it. > >> > > > > The concern about the stability of the from-userspace data is already > > called out in the MSG_ZEROCOPY documentation that we're piggybacking > > devmem TX onto: > > Sure, I didn't object that. There is no problem as long as the > ubuf_info semantics is followed, which by extension mean that > any ref manipulation should already be gated on ubuf_info, and > there should be no need in changing generic paths. > I'm sorry I'm not following. skb_frag_ref is how the net stack obtains references on an skb_frag, regardless on whether the frag is a MSG_ZEROCOPY one with ubuf info, or a regular tx frag without a ubuf_info, or even an io_uring frag which I think have the msg->ubuf_info like we discussed previously. I don't see the net stack in the current code special casing how it obtains refs on frags, and I don't see the need to add special casing. Can you elaborate in more detail what is the gating you expect, and why? Are you asking that I check the skb has a ubuf_info before allowing to grab the reference on the dmabuf binding? Or something else? -- Thanks, Mina