Re: [PATCH bpf-next v4 2/3] bpf, xdp: move offload check into dev_xdp_install()

Jiayuan Chen <[email protected]>
Newsgroups gmane.linux.kernel,gmane.linux.kernel.bpf,gmane.linux.network
Message-ID <[email protected]>
On 8/11/26 2:49 AM, Jakub Kicinski wrote:
> On Mon, 10 Aug 2026 13:06:00 +0800 Jiayuan Chen wrote:
>> bpf_xdp_link_update() calls dev_xdp_install() directly and skips
>> dev_xdp_attach(), so the checks in dev_xdp_attach() do not run. A user can
>> make an XDP link with a normal program and then swap in an offloaded or
>> device-bound program with BPF_LINK_UPDATE, which puts it on the software
>> path.
>>
>> Move the three program checks (offloaded, bound to another device, and
>> device-bound in generic mode) from dev_xdp_attach() into
>> dev_xdp_install(), so both the attach path and the link update path are
>> covered.
> Shouldn't we move all the checks that are not explicitly about the
> netlink API (so all but the first?)

Sounds great, the code would be much cleaner.


>
> It may be better to split the series and send this patch to net,
> the netdev CI has a netdevsim test for the prog offload, would be
> good to run that.


Though for now bpf_xdp_link_update() already does:

     if (old_prog->type != new_prog->type ||
         old_prog->expected_attach_type != new_prog->expected_attach_type) {
         err = -EINVAL;
         goto out_unlock;
     }

so the other checks can't be triggered on the update path even without 
them in dev_xdp_install().


So I'm thinking this patch works as a standalone fix (good for 
backport), and the cleanup goes as a followup (if necessary)?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.