diff options
author | Daniel Borkmann <daniel@iogearbox.net> | 2019-01-03 02:58:28 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2019-01-03 03:01:24 +0300 |
commit | 144cd91c4c2bced6eb8a7e25e590f6618a11e854 (patch) | |
tree | 2fefab1821f1de1dc02d94ad6aa1be59e08f056c /include/linux | |
parent | c08435ec7f2bc8f4109401f696fd55159b4b40cb (diff) | |
download | linux-144cd91c4c2bced6eb8a7e25e590f6618a11e854.tar.xz |
bpf: move tmp variable into ax register in interpreter
This change moves the on-stack 64 bit tmp variable in ___bpf_prog_run()
into the hidden ax register. The latter is currently only used in JITs
for constant blinding as a temporary scratch register, meaning the BPF
interpreter will never see the use of ax. Therefore it is safe to use
it for the cases where tmp has been used earlier. This is needed to later
on allow restricted hidden use of ax in both interpreter and JITs.
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/filter.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/filter.h b/include/linux/filter.h index 8c8544b375eb..84a6a98f8328 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h @@ -60,7 +60,8 @@ struct sock_reuseport; * constants. See JIT pre-step in bpf_jit_blind_constants(). */ #define BPF_REG_AX MAX_BPF_REG -#define MAX_BPF_JIT_REG (MAX_BPF_REG + 1) +#define MAX_BPF_EXT_REG (MAX_BPF_REG + 1) +#define MAX_BPF_JIT_REG MAX_BPF_EXT_REG /* unused opcode to mark special call to bpf_tail_call() helper */ #define BPF_TAIL_CALL 0xf0 |