From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexei Starovoitov Subject: Re: [PATCH bpf] bpf: arsh is not supported in 32 bit alu thus reject it Date: Wed, 10 Jan 2018 14:57:06 -0800 Message-ID: <20180110225704.qquylvq7igzqhxb4@ast-mbp> References: <20180110190437.2774-1-daniel@iogearbox.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: ast@fb.com, netdev@vger.kernel.org To: Daniel Borkmann Return-path: Received: from mail-pg0-f46.google.com ([74.125.83.46]:45821 "EHLO mail-pg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752096AbeAJW5J (ORCPT ); Wed, 10 Jan 2018 17:57:09 -0500 Received: by mail-pg0-f46.google.com with SMTP id c194so905728pga.12 for ; Wed, 10 Jan 2018 14:57:09 -0800 (PST) Content-Disposition: inline In-Reply-To: <20180110190437.2774-1-daniel@iogearbox.net> Sender: netdev-owner@vger.kernel.org List-ID: On Wed, Jan 10, 2018 at 08:04:37PM +0100, Daniel Borkmann wrote: > 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: 17a5267067f3 ("bpf: verifier (add verifier core)") > Reported-by: syzbot+93c4904c5c70348a6890@syzkaller.appspotmail.com > Signed-off-by: Daniel Borkmann ouch. it's been there forever. Applied, Thank you Daniel.