Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp3973057pxj; Tue, 15 Jun 2021 12:34:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwS9zGOpzMX51OqARD+Nrzxn9EVS4prDIdMhy9HFwaGgptcttodjCUMrz189p+0jgngS3ZO X-Received: by 2002:a17:906:5053:: with SMTP id e19mr1263767ejk.251.1623785678876; Tue, 15 Jun 2021 12:34:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623785678; cv=none; d=google.com; s=arc-20160816; b=T7xZjNUcoAFo6nxFweEQaHRiVlARz58V+R5sluRG9lfxeCrh4theqAphMrCTtqbp5r UamT6x8HRlZ1IzgJEZu0DhL3n/9C+QkAXy21gTc0Pr18eX8cZjjL/WPQGyYBHwIiLlNf xyvM3EeBwgUQFGqepp4yUxr68TIa6FaOwnba+tBbLEiEBIJIstEi/sCcSstoi5I7BqGq in3c5EyO78ksCgTdZCVV+8mDyK6USfboEQyu43K3c9KTBULlUfOQeUm/fJaTIMAkD++g NguAGrcUOvt8SUeywnrpO/43jU9MssVex8PYkQKYsBawQBoa6fFHBCs5zEEjsP3n54Wq ARNg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=9o9cYCs0zHNio05ImrzjlAnZH3CFqgtE2kOdF5LazHs=; b=akKovf4oGJacg1QaIUNBCvowjEpx9CZYihUUQuxOWcH22ERt85bZT2hx0E7kEc7tX8 PWTMZbVx4y72LBPxhA4gh3ZrSDWHclNjDCmN/au1HTl3DtBsXHWitoYWkq8g3fny6+zq UlH2oD0N6N7SjG6fmhwlk0ykt4rOtUKc67YU+i93vGRta1ggst6Hce0qG4PWr2VLbyTS DVa2XhzrcNGxQf1sjfw9NJXNBNg7fC4GQ3sku5G6GXseIpdgJe5xsDdM16W/KUzEfWW+ 19fH7xPFJ+WLnAvDoACt7FZfRDvTUnHUC5+cAXXQZYoU4QEtiV7DSkIDwM5vx1X+5xfO Sw/Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=s+556g9O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ca2si2756017edb.232.2021.06.15.12.34.16; Tue, 15 Jun 2021 12:34:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=s+556g9O; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230410AbhFOTfI (ORCPT + 99 others); Tue, 15 Jun 2021 15:35:08 -0400 Received: from mail.kernel.org ([198.145.29.99]:58736 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230012AbhFOTfH (ORCPT ); Tue, 15 Jun 2021 15:35:07 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 9A28D60E0C; Tue, 15 Jun 2021 19:33:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623785582; bh=Mx6wAAXn/soRKwq/hg+UAA/IhWBECd+G+9shpZSj+rQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=s+556g9OCPnVI5+ewcio9gs7JtTbSK0kEbBTFHukMPNcwVXk/K9XkoxpQMEG9V6K2 xa7MYmQCNdKpw4GjteIkhU1bajY7WA4K0tSqER20sHf2BJpuximXtWZA7BFDUdwfLy a5CIp1f9C6JpdMC6UvfG9TSdjdreYAsPIzLDQGYzG9j+S+L0yGoxfuVIsmkBgxZmPW 85cxV357Znr2898TTvgeZfNb/gKhd7CFqztKshOTQcdBnUTuOZcFjMUVol8KFq65e3 XxzEiKTfJkSj37kH19RlKg6u6y34o8SKF79C76tq/0GsVeRKw3WjjSmf3c1aI0cTSq 71lkPV5tl5n2w== Date: Tue, 15 Jun 2021 12:33:00 -0700 From: Eric Biggers To: Edward Cree Cc: Kurt Manucredo , syzbot+bed360704c521841c85d@syzkaller.appspotmail.com, keescook@chromium.org, yhs@fb.com, dvyukov@google.com, andrii@kernel.org, ast@kernel.org, bpf@vger.kernel.org, daniel@iogearbox.net, davem@davemloft.net, hawk@kernel.org, john.fastabend@gmail.com, kafai@fb.com, kpsingh@kernel.org, kuba@kernel.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, songliubraving@fb.com, syzkaller-bugs@googlegroups.com, nathan@kernel.org, ndesaulniers@google.com, clang-built-linux@googlegroups.com, kernel-hardening@lists.openwall.com, kasan-dev@googlegroups.com Subject: Re: [PATCH v5] bpf: core: fix shift-out-of-bounds in ___bpf_prog_run Message-ID: References: <202106091119.84A88B6FE7@keescook> <752cb1ad-a0b1-92b7-4c49-bbb42fdecdbe@fb.com> <1aaa2408-94b9-a1e6-beff-7523b66fe73d@fb.com> <202106101002.DF8C7EF@keescook> <85536-177443-curtm@phaethon> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 15, 2021 at 07:51:07PM +0100, Edward Cree wrote: > > As I understand it, the UBSAN report is coming from the eBPF interpreter, > which is the *slow path* and indeed on many production systems is > compiled out for hardening reasons (CONFIG_BPF_JIT_ALWAYS_ON). > Perhaps a better approach to the fix would be to change the interpreter > to compute "DST = DST << (SRC & 63);" (and similar for other shifts and > bitnesses), thus matching the behaviour of most chips' shift opcodes. > This would shut up UBSAN, without affecting JIT code generation. > Yes, I suggested that last week (https://lkml.kernel.org/netdev/YMJvbGEz0xu9JU9D@gmail.com). The AND will even get optimized out when compiling for most CPUs. - Eric