Merge branch 'bpf-fixes'
Daniel Borkmann says: ==================== Two BPF fixes The set fixes cb_access and xdp_adjust_head bits in struct bpf_prog, that are used for requirement checks on the program rather than f.e. heuristics. Thus, for tail calls, we cannot make any assumptions and are forced to set them. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
acf167f3f2
@ -617,6 +617,14 @@ static void fixup_bpf_calls(struct bpf_prog *prog)
|
||||
if (insn->imm == BPF_FUNC_xdp_adjust_head)
|
||||
prog->xdp_adjust_head = 1;
|
||||
if (insn->imm == BPF_FUNC_tail_call) {
|
||||
/* If we tail call into other programs, we
|
||||
* cannot make any assumptions since they
|
||||
* can be replaced dynamically during runtime
|
||||
* in the program array.
|
||||
*/
|
||||
prog->cb_access = 1;
|
||||
prog->xdp_adjust_head = 1;
|
||||
|
||||
/* mark bpf_tail_call as different opcode
|
||||
* to avoid conditional branch in
|
||||
* interpeter for every normal call
|
||||
|
Loading…
Reference in New Issue
Block a user