From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) (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 9609A5B206 for ; Thu, 8 Oct 2026 23:36:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791502587; cv=none; b=CELuEQCBRE4f2JurBxo6eMyTAdKIAafcUms+Frdbrgf1YtSJu6li+ysO1Q74nin7GqeZUQ5LKZSnqOIPdDnu7eoxGdN3nYNxdPO6xhLs7nIr/5MHxOBOyWo4Cy+mOXV9DIi1wejhSaV/uDXvLthajQKt3lJkwsAItsmZEpaPiCE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791502587; c=relaxed/simple; bh=z9XdaDwozt4DVNCBsjCCo4rkJo41je1Q1+kLf3Q23Nk=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Vfda/Ar7Z0RZn4fTZ0m+WOdhNlQ7IWBsJ+4zdjNPHLuINn+Ju9cxjxZSzVdLT7BhdDeznBRq+EJ9o/BSwVGXn5Xvuu6IhQM1+InpdKkK7UhpbCliCqJlhg0W3idMqWkg1bNS0rX17wu89S5/HSxcHcR2T/fVrecxKR3vhZX53j0= 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=kKwK7lCv; arc=none smtp.client-ip=209.85.219.44 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="kKwK7lCv" Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-917a04338c1so41263976d6.0 for ; Thu, 08 Oct 2026 16:36:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1791502585; x=1792107385; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=H0aMo8yA757AIchUgl2zcuEjDzZI6HgSNUOupZw3Xrg=; b=kKwK7lCvJz1wVTkLfGaKVKfr70dIJRtyWct7BtoHRxe3CXDSUhd4E2lyJhjnrN4m99 sORMFy7GVSAyMIOUouqjD03TbB0RbQBeyi4xo0ZHaeZ89XjWXO0pqcjBdWXsyiY/L3Ul 16zGbHDwkQYLkTKD1wiKQ0aMzufklwBVhfOWabGS6h6AcwxBU1AHPI5NTcSmhVTPYZgW LD9j6b5Kwu3XZY7Caigs/5NY4keHAcTyihauPisaT+d2XHnoRGeoTqqgTXHxizQVvt9f i38990xka5QM+qq/4qk2Cxabe2eQzcMXqIRb1HsWtXHeiXC7UK4W1PAoZosgMiStREX6 3+Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791502585; x=1792107385; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=H0aMo8yA757AIchUgl2zcuEjDzZI6HgSNUOupZw3Xrg=; b=dl73BUi2KGfgOO7axUSxjbb2gnGerdL4d64Zpk2C5+LmnIOw4ttRykc3HFz4kzyQqC r+sg9VWYh8XKCx1y2aj6mKkIpFQyTSt/dG2nYDJ9p4Y0Qh0eoV4QKSSudxTyoD34K6Di VlftLS4/dnyPGKW/2de87vwGFZyotHpTtUoLJAmRZSGLBHGAmZhLl7SXZl7/Bmv5Pi+A 7QSz0YMd78A54R6tN6Dbio5NCgWruf1fqoCSs5fwCiaptxz9/Y6RYlqbVteAkJ2ky7+s uTAKBdOZNsgcqrYOiswQbB8qDYJADd4bk1fm4uCaUVFQtIzVBjzfDPIJ4bkQPO4jMtN7 i57g== X-Forwarded-Encrypted: i=1; AKwUvBxlnJq2KvqBaMU/scOkPyh0dX+z60GQ+EgH/Rl4cMYhoxLDTr8G0iJA+gcGvhc+nao1mtwGsK+0t45r2w4Wyvw=@vger.kernel.org X-Gm-Message-State: AFuF++k9biTMVtjtkYUtIJVDF6l05lXlloCiZ22xTavO+nCDVoXE7uTg CSwhVf8QZ6MdSsJmDrMuogkT0AOX+WMRvd5An5iTOuJO1j0Lxm56ogCX X-Gm-Gg: AYBFou1dZf6/6yniIYOu8pFYEhEwGaR/CsgnAQraE3j0HJe0ex8CGIe1VqzogZzRuCf LYCjRJ9bPFG3WYitqa5Zk+BABJ1DHAMe6/7xY59nFALk5WTgb2dGTiZqr2XbNfWyMRW1kTrB8Kc jVXExVeAqTXpby09uXGTHFIc5OqIuGmq3qAO6xW3wGm9sY6pVb34rJqrcCM2gtLcOzczkTj1yBn M/UKHlWrDK4boDW0XHBGSHMWvOZMrEhwfkpHW/10C4e285I9Slz4O11E194NCNknF0qftYBPUjo VqhlAshsxXVXUCcdmOtyVCBg5AweZG6Rw8Mp8d2eGeUmUBbXrY9hrOak9CDdyPyJjlX2lfRFy73 u93ILEJzGidvDehAgY2KPNA9HYxb0BOg7CAOR/I17E6sextZg4kZ5mQjnWyNbdVhiowwtIlQ/O0 S7NUqcHXco+pNKjoDJ/IqroX7dimQloCfgCLyZuQ6Od8krF4cO6sMyrsatrNlUdZeribGB+8K0v lhy5ccHALioLpC4f+unZ87B+slgPf1oEbknBFnXA+autlg5odNbcOEiNpoER8ijHlwLnFsMeR9c 8/iEhN4j X-Received: by 2002:a05:620a:890c:b0:93b:d7a0:d9e6 with SMTP id af79cd13be357-93ebd2675e2mr26192385a.64.1791502585481; Thu, 08 Oct 2026 16:36:25 -0700 (PDT) Received: from battery.lan (pool-138-88-31-60.washdc.fios.verizon.net. [138.88.31.60]) by smtp.gmail.com with ESMTPSA id af79cd13be357-93eb9848702sm51693885a.12.2026.10.08.16.36.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Oct 2026 16:36:24 -0700 (PDT) From: David Windsor To: bpf@vger.kernel.org Cc: ast@kernel.org, daniel@iogearbox.net, john.fastabend@gmail.com, andrii@kernel.org, martin.lau@linux.dev, eddyz87@gmail.com, song@kernel.org, yonghong.song@linux.dev, kpsingh@kernel.org, sdf@fomichev.me, haoluo@google.com, jolsa@kernel.org, shuah@kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, yunwei356@gmail.com, David Windsor Subject: [PATCH bpf 1/2] bpf: Fix state pruning regression in bpf_loop() callbacks Date: Thu, 8 Oct 2026 19:36:22 -0400 Message-ID: <20261008233623.4011127-1-dwindsor@gmail.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Commit f597664454bd ("bpf: bpf_scc_visit instance and backedges accumulation for bpf_loop()") left dead stack slots in cached callback states while SCC backedges were pending, defeating state pruning and causing previously valid programs to hit the verifier instruction limit. On affected kernels, ActPlane fails to load with -E2BIG. Removing the incomplete_read_marks() check from clean_live_states() is safe because zero-branch states have already had their stack read/write effects propagated into the liveness masks consumed by clean_verifier_state(). Pending SCC backedges only defer verifier-state precision propagation and cannot add stack-liveness requirements after cleanup. Fixes: f597664454bd ("bpf: bpf_scc_visit instance and backedges accumulation for bpf_loop()") Signed-off-by: David Windsor diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c index e3814152b52f8139a5565b2e4ac1b80d82d1ea65..1e300ca71a8a833eb4c2a340b4f94342f54af5f2 100644 --- a/kernel/bpf/verifier.c +++ b/kernel/bpf/verifier.c @@ -19791,8 +19791,6 @@ static void clean_live_states(struct bpf_verifier_env *env, int insn, if (sl->state.cleaned) /* all regs in this state in all frames were already marked */ continue; - if (incomplete_read_marks(env, &sl->state)) - continue; clean_verifier_state(env, &sl->state); } } -- 2.53.0