On Fri, Feb 28, 2025 at 4:43 PM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Thu, 27 Feb 2025 04:12:08 +0000 Mina Almasry wrote: > > + if (!skb_frags_readable(skb) && !dev->netmem_tx) > > How do you know it's for _this_ device tho? Maybe a noob question, but how do we end up here with an skb that is not targeted for the 'dev' device? We are checking in tcp_sendmsg_locked that we're targeting the appropriate device before creating the skb. Is this about a packet arriving on a dmabuf bound to a device and then being forwarded through another device that doesn't own the mapping, bypassing the check? > The driver doesn't seem to check the DMA mapping belongs to it either. > > Remind me, how do we prevent the unreadable skbs from getting into the > Tx path today? I'm not sure if this is about forwarding, or if there is some other way for unreadable skbs to end up in the XT path that you have in mind. At some point in this thread[1] we had talked about preventing MP bound devices from being lower devices at all to side step this entirely but you mentioned that may not be enough, and we ended up sidestepping only XDP entirely. [1] https://lore.kernel.org/bpf/20240821153049.7dc983db@xxxxxxxxxx/ -- Thanks, Mina