From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com [209.85.210.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA5F7380FD3 for ; Fri, 5 Jun 2026 23:20:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780701639; cv=none; b=EjnA4jiRlwHowtguyAL+Bw4m9SHi0U7vUc8HwYnFFsa09ymk0bu4E9BG5ztn1KDQ9hDH7M7QtGlHl6/ostigOwCAAksKeT8dHGZ+eD5Imr6+SdjA7jReJpZW4opcLp3q6QboyegNrGm2qRGqp7eeiHEo/cOY+zA2mkwPFwguFog= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780701639; c=relaxed/simple; bh=nug21V64ITKbfvSbc40LYsd5QGvDEPSkFhsuoGGRZYg=; h=Mime-Version:Content-Type:Date:Message-Id:From:To:Cc:Subject: References:In-Reply-To; b=RRlQhRLsG9aKvSl66mGsDotCf1uu9SwWUhUHK5+t7FPOfiAna+/2eUpJxFW9WS77CRxlGPjjTkM2JnmL9rRyGoCiydkEJ0RPE2gNdzqWm9Ho/dwj7DiZ46hjKefify7O7fckzPU/8mkwJJ87BL5FTxuFLzRNV27avubNgYjixUI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=rdg0/7yy; arc=none smtp.client-ip=209.85.210.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="rdg0/7yy" Received: by mail-ot1-f49.google.com with SMTP id 46e09a7af769-7e71dd64ea2so140133a34.3 for ; Fri, 05 Jun 2026 16:20:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780701638; x=1781306438; darn=vger.kernel.org; h=in-reply-to:references:subject:cc:to:from:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4+iCAJCoPeoQjVniwPzyILoS4cYkcgjvk5RajaSaOvM=; b=rdg0/7yyegSQt2OEuyAmZjUCK7zB031d9xyyn8/HAkzG5iUCcuX1s6Lw3pD6utR9LM +7IfmAp9yRcYYD9lz6SEUd0weEJdyGiYUdIroOWtgKIa/FFtqR1HJlwUP6dx7YdUcDBU HEK5rqOp5AFNm3krducr/eVPTi6epgRBzWEWR3sj85QF6ZoyEhmmrUtbalz7etCFzu21 W8rByq8fjkAXOp0XNoTJUtTVhG4YVX/B3Fn+5t/XodRZ3jiDEFF+fuEjyJs3gvTRfrsB 6ydRiQCf43TMFAs1AtDJaNmlwQdXpDJ8LyognfFZV+r1Cly5oIvZ3/kSVRh2+3+yLxW7 X6vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780701638; x=1781306438; h=in-reply-to:references:subject:cc:to:from:message-id:date :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=4+iCAJCoPeoQjVniwPzyILoS4cYkcgjvk5RajaSaOvM=; b=S9LqeaWMoWNXHax0oEg9WdR4A1Ukgi1+S7Yk8qzsq2vrty0tWlbmmCRMjeUAkU3Mas 6Bi5U45ezzjy472gC4Z2mgXQrF3W8FC2y1jtG/xgwuTi5J66reAxGm6nvWlbky+pAQX/ VEEFdS/Hy+QN3qMknXJnB+sopHwmYEjLnKXj7okzcOVuWkdKTOd5uyrbypuBPFF2xyUm S6/mSVVX32pEZOcC1XjhwzOx77LlYUm8tfMg7yUt7491qd2VE9vNZnkn2DPN5243yZov 7fik+wlEZ3e8WP++dFP48SChk3QCEm49LJobwgGbNAFCzth+l+8GaCT8w+gVbQy49BlV SmUw== X-Forwarded-Encrypted: i=1; AFNElJ/05Ndhq8V+eAMGrlTXInP1MBea8KoKoONM6HFUJQ7qavGtpYnNI+YECu4da5TSrvsCQjdsEvdBJQBO0qI=@vger.kernel.org X-Gm-Message-State: AOJu0YxtYBn2RDKdIpZ9Xlv+Xyo0emvgkE50OdMVoRkqOyiuV4GnCDwJ n7/xP2QglM+nqnNXr/m5Dsn3G0wafsOnTOiGU2jibp2D7pKfqt8wT/kf X-Gm-Gg: Acq92OFkHMB4D39GdEXnCGY4lZIbVazWv3CfaQXXT58GClV7X/gOiIRPdnTVSNzRuyi HQx6Tpfl7B169YDYIyCc22o9KDrqwQywzgRWRPZmjr+EK6IWutilRSZd4+iSsgLJ5pdiZJf9GDf i7lmOVeOBMa+YJ/08H0vOwJMzOjb7RBMRBvgmgmEFZ4uTn4chVFesWX2GrQ+ZxgVGpwljw4iDrf BW8xvnaL1k5SVsJmuRuSwJ0NXoto8WAuV+u5ASvL8OPr7TPh5MOwUXr3TCA6x6D1ZS5MCXGYcc9 0mBlBy2j5PSQzuc9x/f0MtxB9BmbeZoyVXn/gdfhjTyCVFk4IULJNYfZXwxrmlIxFDukAle0VdC 2+SYeQNL6lVfVo8ol9+N0CgC2IOPtEW0FIz2JtIOUKBnUOlwTAnHHbWTXIM3wsw8RSFzUquMbne myJTKOFt0Eee5k39YCpVZmIssDmlr6XEihCpYQnw5D8k48z6XcTbdWX4u4a+uWQ/GoR5jHp2tzl A4Z2N1aCXufUFz4Rwo1BGc5KI6e X-Received: by 2002:a4a:edcb:0:b0:69e:40a1:5fd3 with SMTP id 006d021491bc7-69e68b1b820mr3057943eaf.2.1780701637605; Fri, 05 Jun 2026 16:20:37 -0700 (PDT) Received: from localhost ([2a03:2880:10ff:46::]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-440d8465e00sm8002361fac.15.2026.06.05.16.20.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Jun 2026 16:20:36 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 05 Jun 2026 16:20:34 -0700 Message-Id: From: "Alexei Starovoitov" To: =?utf-8?b?QWxleGlzIExvdGhvcsOpIChlQlBGIEZvdW5kYXRpb24p?= , "Alexei Starovoitov" , "Daniel Borkmann" , "Andrii Nakryiko" , "Martin KaFai Lau" , "Eduard Zingerman" , "Kumar Kartikeya Dwivedi" , "Song Liu" , "Yonghong Song" , "Jiri Olsa" , "John Fastabend" , "Thomas Gleixner" , "Ingo Molnar" , "Borislav Petkov" , "Dave Hansen" , , "H. Peter Anvin" , "Shuah Khan" , "Maxime Coquelin" , "Alexandre Torgue" , "Ihor Solodrai" Cc: , "Bastien Curutchet" , "Thomas Petazzoni" , , , , , Subject: Re: [PATCH bpf-next v2 1/8] bpf: mark instructions accessing program stack X-Mailer: aerc References: <20260604-kasan-v2-0-c066e627fda8@bootlin.com> <20260604-kasan-v2-1-c066e627fda8@bootlin.com> In-Reply-To: <20260604-kasan-v2-1-c066e627fda8@bootlin.com> On Thu Jun 4, 2026 at 1:21 PM PDT, Alexis Lothor=C3=A9 (eBPF Foundation) wr= ote: > =20 > +bool bpf_insn_accesses_stack_only(const struct bpf_verifier_env *env, > + const struct bpf_prog *prog, int insn_idx) > +{ > + struct bpf_insn *insn; > + > + /* cBPF: we have no verifier state, do a best-effort check based on > + * dst/src reg > + */ > + insn_idx +=3D prog->aux->subprog_start; > + insn =3D (struct bpf_insn *)prog->insnsi + insn_idx; > + if (!env) > + return insn->dst_reg =3D=3D BPF_REG_FP || > + insn->src_reg =3D=3D BPF_REG_FP; > + return !env->insn_aux_data[insn_idx].non_stack_access; > +} Let's skip this function and cBPF altogether. This effort aims to catch verifier and kfunc bugs. cBPF doesn't have normal verifier and has plenty of unpriv gotchas. The kernel compiled with KASAN is for debugging, but I'd like to avoid thinking about unpriv complications with cBPF and KASAN.