diff options
| author | Paolo Abeni <pabeni@redhat.com> | 2023-09-21 21:49:45 +0200 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2023-09-21 21:49:45 +0200 |
| commit | e9cbc89067cce78211c8629c78e931c0fe64e29d (patch) | |
| tree | 95662373d0a7b4adc589fec61e120586d476de71 /kernel/bpf/offload.c | |
| parent | net: dsa: sja1105: make read-only const arrays static (diff) | |
| parent | Merge tag 'net-6.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/netd... (diff) | |
| download | linux-e9cbc89067cce78211c8629c78e931c0fe64e29d.tar.gz linux-e9cbc89067cce78211c8629c78e931c0fe64e29d.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR.
No conflicts.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'kernel/bpf/offload.c')
| -rw-r--r-- | kernel/bpf/offload.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/kernel/bpf/offload.c b/kernel/bpf/offload.c index 92c9df46134a..1a4fec330eaa 100644 --- a/kernel/bpf/offload.c +++ b/kernel/bpf/offload.c @@ -199,12 +199,14 @@ static int __bpf_prog_dev_bound_init(struct bpf_prog *prog, struct net_device *n offload->netdev = netdev; ondev = bpf_offload_find_netdev(offload->netdev); + /* When program is offloaded require presence of "true" + * bpf_offload_netdev, avoid the one created for !ondev case below. + */ + if (bpf_prog_is_offloaded(prog->aux) && (!ondev || !ondev->offdev)) { + err = -EINVAL; + goto err_free; + } if (!ondev) { - if (bpf_prog_is_offloaded(prog->aux)) { - err = -EINVAL; - goto err_free; - } - /* When only binding to the device, explicitly * create an entry in the hashtable. */ |
