From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) (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 80ADD3AE19D for ; Mon, 9 Mar 2026 13:46:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.73 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773063997; cv=none; b=V7SGiaY+xHgVr5byju2lf9pMKqXlht2jlUGyDXkx/jWOWwSaKtKnLD+wQtXYngYINgbrnXtgT7ERfb5UGDlqFUUX+IHXSgvQfpZZ40vLnj9hpIkYKplDZxZzWSZfBrR4y5f1z3BpsKfRh0ytA4elCgrhj2JV8EUlF6KYN1W4Ab0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773063997; c=relaxed/simple; bh=iwjHllC5+JdOTH0B0ZpAx9JhaEblp3aG6UZS+7naJMY=; h=Date:Mime-Version:Message-ID:Subject:From:To:Cc:Content-Type; b=kBriG10UuVaGSvTN09CbBJMNOXUTyCT2z192WAVTsMA45Lnu2T00dnfpoUnbUfaUfWhGX/v00biFJxrr1o6drsYgj4nWnHiIK7SX2xsx5KaGPQV0gWTUX43fJZVSez0pNKx12sr4U7SHiFBCM7w/kdEh4NO5iXAMwtyajuLjCdU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--bqe.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=NtrT7w8E; arc=none smtp.client-ip=209.85.128.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--bqe.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="NtrT7w8E" Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-483786a09b1so3669125e9.3 for ; Mon, 09 Mar 2026 06:46:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1773063993; x=1773668793; darn=vger.kernel.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=BNZrYmR0hxM/DoGoq88/XwdM4xNmGaXW6cnlXqxFVCo=; b=NtrT7w8EF/M8K/pbuqUNePhgovO+4ZmgbKILPJ+dOwBMbRacbxrC8QXnHZMzrdV0JA QA03YlbSvN6Z2TpjRg2gflNyNziF1rW2WB1ZUkEu3J85UkkE1/kukXDBa6nfZuL/xAxg NGFgqLeTaZlo0Shl2pU272/I9oLIxewwyG6wTq6/gl3sx8IpgFs+fheUO1YLJgiHOliw ho06xIARkwVBC/uUghiHFwdIjzJJ6oKOr09PZmI3G6WPR+Hl8T1T7ngmRHCiO+aJnQwR u5vGSXC/tc/nfJEJF24l1KsaeJmzPjkQ4HiLKkdun1cEuYrasqSQ1WHZefPwtD/Knxaf iizA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773063993; x=1773668793; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=BNZrYmR0hxM/DoGoq88/XwdM4xNmGaXW6cnlXqxFVCo=; b=flj5uS9AOtnFLYhSEjEEdCbeEM2PXulnUTn38fYwYdpq9rgHvHaUITcU24QktdZ7Fe +YDmFBw8ic27EB7kCwn2GcdTnZssbAozBGJyh/zP4jYPUDCNd1UVnQEWJJXHmiPloxlz Z85iNP9JWJsPQpxzrrQpMSDgkqdHLQez5uaV3guJRG1cEN5ds95eLxria5ElvpOzMFqJ epcMC974vojlaQodjlHYXmMT6k66c+3jkSmk23vNHt6r6Yw8JVM3ILmGwWfOtSHJBYjv tF1ulMpTNpEhXY4iNdWOwDWJ+Hbvd6JavsSB2DV2EZ8QmgPkGdM4oiISabvAzUOUT1K3 A5RQ== X-Forwarded-Encrypted: i=1; AJvYcCUIxAMJh9sHRmsywH7xTgNGh738KtQWGXiwcjPzVTDpUqBJLbqROPYVsMkVdk1YXzsFdSWTfVfXf3M=@vger.kernel.org X-Gm-Message-State: AOJu0YzfXhLeXxX5Mi7XO7svG6UfiJ3cWH0dEgif4RVrcrB+++pWruaC 1o3H0k+sMyMPC21YubbnrSqk399Nz6QUxy6bKqBL/PyeDgdxSLhgqeDuIvcVVvAD2Ya8KQ== X-Received: from wmg15.prod.google.com ([2002:a05:600c:22cf:b0:485:3925:a795]) (user=bqe job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:4fc4:b0:485:40c6:f51a with SMTP id 5b1f17b1804b1-48540c6f65bmr12006315e9.31.1773063992500; Mon, 09 Mar 2026 06:46:32 -0700 (PDT) Date: Mon, 9 Mar 2026 13:46:24 +0000 Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 X-Mailer: git-send-email 2.53.0.473.g4a7958ca14-goog Message-ID: <20260309134630.2638181-1-bqe@google.com> Subject: [RFC PATCH v2 0/1] bpf, docs: structured overview of verifier From: Burak Emir To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko Cc: Burak Emir , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa , Jonathan Corbet , bpf@vger.kernel.org, linux-doc@vger.kernel.org Content-Type: text/plain; charset="UTF-8" This is an RFC for adding overview documentation for the BPF verifier. The existing verifier.rst has detail but IMHO it lacks structure and background. Here is my humble proposal to make the verifier docs more helpful for newcomers. Finding a balance between overview and detail in documentation is never easy. The idea here is to describe abstract interpretation and have enough information that anyone interested can learn what is going on. Please let me know what you think. I used Gemini 3 to get a first draft, which I then checked word-for-word and reworked. Differences to v1: * Formatting fix for top, bottom * Fixed some wrong identifiers that I had missed. Burak Emir (1): bpf, docs: structured docs for the verifier Documentation/bpf/index.rst | 1 + .../bpf/verifier-overview-1-abstr-interp.rst | 74 +++++++++++++++ .../bpf/verifier-overview-2-domain.rst | 91 +++++++++++++++++++ .../bpf/verifier-overview-3-dataflow.rst | 83 +++++++++++++++++ .../bpf/verifier-overview-4-pruning.rst | 59 ++++++++++++ .../bpf/verifier-overview-5-advanced.rst | 70 ++++++++++++++ Documentation/bpf/verifier-overview-index.rst | 17 ++++ 7 files changed, 395 insertions(+) create mode 100644 Documentation/bpf/verifier-overview-1-abstr-interp.rst create mode 100644 Documentation/bpf/verifier-overview-2-domain.rst create mode 100644 Documentation/bpf/verifier-overview-3-dataflow.rst create mode 100644 Documentation/bpf/verifier-overview-4-pruning.rst create mode 100644 Documentation/bpf/verifier-overview-5-advanced.rst create mode 100644 Documentation/bpf/verifier-overview-index.rst -- 2.53.0.473.g4a7958ca14-goog