bpf: offload: make bpf_offload_dev_match() reject host+host case
Daniel suggests it would be more logical for bpf_offload_dev_match() to return false is either the program or the map are not offloaded, rather than treating the both not offloaded case as a "matching CPU/host device". This makes no functional difference today, since verifier only calls bpf_offload_dev_match() when one of the objects is offloaded. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
This commit is contained in:
parent
4c38f74c91
commit
0a2d28ff51
|
@ -395,10 +395,8 @@ bool bpf_offload_dev_match(struct bpf_prog *prog, struct bpf_map *map)
|
||||||
struct bpf_prog_offload *offload;
|
struct bpf_prog_offload *offload;
|
||||||
bool ret;
|
bool ret;
|
||||||
|
|
||||||
if (!!bpf_prog_is_dev_bound(prog->aux) != !!bpf_map_is_dev_bound(map))
|
if (!bpf_prog_is_dev_bound(prog->aux) || !bpf_map_is_dev_bound(map))
|
||||||
return false;
|
return false;
|
||||||
if (!bpf_prog_is_dev_bound(prog->aux))
|
|
||||||
return true;
|
|
||||||
|
|
||||||
down_read(&bpf_devs_lock);
|
down_read(&bpf_devs_lock);
|
||||||
offload = prog->aux->offload;
|
offload = prog->aux->offload;
|
||||||
|
|
Loading…
Reference in New Issue