Files
linux/kernel
Daniel Borkmann 7dcda40e52 bpf: arsh is not supported in 32 bit alu thus reject it
[ upstream commit 7891a87efc ]

The following snippet was throwing an 'unknown opcode cc' warning
in BPF interpreter:

  0: (18) r0 = 0x0
  2: (7b) *(u64 *)(r10 -16) = r0
  3: (cc) (u32) r0 s>>= (u32) r0
  4: (95) exit

Although a number of JITs do support BPF_ALU | BPF_ARSH | BPF_{K,X}
generation, not all of them do and interpreter does neither. We can
leave existing ones and implement it later in bpf-next for the
remaining ones, but reject this properly in verifier for the time
being.

Fixes: 17a5267067 ("bpf: verifier (add verifier core)")
Reported-by: syzbot+93c4904c5c70348a6890@syzkaller.appspotmail.com
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-02-03 17:04:24 +01:00
..
2018-01-23 19:50:10 +01:00
2014-10-09 22:26:04 -04:00
2015-11-04 08:23:51 -05:00
2014-08-08 15:57:18 -07:00
2015-04-12 21:03:31 +02:00
2015-11-23 09:44:58 +01:00
2014-12-04 14:34:54 -05:00
2017-05-20 14:27:02 +02:00
2017-07-05 14:37:19 +02:00
2017-08-24 17:02:36 -07:00
2015-01-17 10:02:23 +13:00
2015-11-05 19:34:48 -08:00