linux/arch
Alexei Starovoitov 361fb04812 bpf: fix bpf_tail_call() x64 JIT
[ upstream commit 90caccdd8c ]

- bpf prog_array just like all other types of bpf array accepts 32-bit index.
  Clarify that in the comment.
- fix x64 JIT of bpf_tail_call which was incorrectly loading 8 instead of 4 bytes
- tighten corresponding check in the interpreter to stay consistent

The JIT bug can be triggered after introduction of BPF_F_NUMA_NODE flag
in commit 96eabe7a40 in 4.14. Before that the map_flags would stay zero and
though JIT code is wrong it will check bounds correctly.
Hence two fixes tags. All other JITs don't have this problem.

Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Fixes: 96eabe7a40 ("bpf: Allow selecting numa node during map creation")
Fixes: b52f00e6a7 ("x86: bpf_jit: implement bpf_tail_call() helper")
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-03 17:04:24 +01:00
..
alpha alpha: fix build failures 2017-12-25 14:22:16 +01:00
arc ARC: uaccess: dont use "l" gcc inline asm constraint modifier 2018-01-10 09:27:11 +01:00
arm ARM: dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7 2018-01-23 19:50:16 +01:00
arm64 arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls 2018-01-23 19:50:17 +01:00
avr32
blackfin pinctrl: adi2: Fix Kconfig build problem 2017-12-20 10:05:00 +01:00
c6x
cris
frv mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
h8300
hexagon
ia64
m32r
m68k
metag
microblaze
mips MIPS: AR7: ensure the port type's FCR value is used 2018-01-23 19:50:18 +01:00
mn10300
nios2
openrisc openrisc: fix issue handling 8 byte get_user calls 2017-12-20 10:04:54 +01:00
parisc parisc: Fix alignment of pa_tlb_lock in assembly on 32-bit SMP kernel 2018-01-10 09:27:12 +01:00
powerpc powerpc/perf: Dereference BHRB entries safely 2018-01-02 20:33:21 +01:00
s390 kernel: make groups_sort calling a responsibility group_info allocators 2018-01-10 09:27:10 +01:00
score
sh serial: sh-sci: Fix register offsets for the IRDA serial port 2017-11-15 17:13:10 +01:00
sparc sparc64/mm: set fields in deferred pages 2017-12-16 10:33:55 +01:00
tile mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
um um: link vmlinux with -no-pie 2018-01-31 12:06:12 +01:00
unicore32
x86 bpf: fix bpf_tail_call() x64 JIT 2018-02-03 17:04:24 +01:00
xtensa mm: larger stack guard gap, between vmas 2017-06-26 07:13:11 +02:00
.gitignore
Kconfig