]> git.baikalelectronics.ru Git - kernel.git/commit
ebpf: remove self-assignment in interpreter's tail call
authorDaniel Borkmann <daniel@iogearbox.net>
Mon, 13 Jul 2015 18:49:32 +0000 (20:49 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 13 Jul 2015 20:11:41 +0000 (13:11 -0700)
commit0d75476aa84686c8573637e3ad302fb28d7788ad
treef4ccb3f0c039382f2a3ce0a9247197a0712aeb03
parent1cebb5c6750b2947778f579914c43986acfb8dea
ebpf: remove self-assignment in interpreter's tail call

ARG1 = BPF_R1 as it stands, evaluates to regs[BPF_REG_1] = regs[BPF_REG_1]
and thus has no effect. Add a comment instead, explaining what happens and
why it's okay to just remove it. Since from user space side, a tail call is
invoked as a pseudo helper function via bpf_tail_call_proto, the verifier
checks the arguments just like with any other helper function and makes
sure that the first argument (regs[BPF_REG_1])'s type is ARG_PTR_TO_CTX.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
kernel/bpf/core.c