All of lore.kernel.org
 help / color / mirror / Atom feed
From: patchwork-bot+netdevbpf@kernel.org
To: Andrii Nakryiko <andrii@kernel.org>
Cc: bpf@vger.kernel.org, ast@kernel.org, daniel@iogearbox.net,
	martin.lau@kernel.org, kernel-team@meta.com
Subject: Re: [PATCH v4 bpf-next 00/10] Complete BPF verifier precision tracking support for register spills
Date: Tue, 05 Dec 2023 22:00:28 +0000	[thread overview]
Message-ID: <170181362805.14422.8529379228061492969.git-patchwork-notify@kernel.org> (raw)
In-Reply-To: <20231205184248.1502704-1-andrii@kernel.org>

Hello:

This series was applied to bpf/bpf-next.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Tue, 5 Dec 2023 10:42:38 -0800 you wrote:
> Add support to BPF verifier to track and support register spill/fill to/from
> stack regardless if it was done through read-only R10 register (which is the
> only form supported today), or through a general register after copying R10
> into it, while also potentially modifying offset.
> 
> Once we add register this generic spill/fill support to precision
> backtracking, we can take advantage of it to stop doing eager STACK_ZERO
> conversion on register spill. Instead we can rely on (im)precision of spilled
> const zero register to improve verifier state pruning efficiency. This
> situation of using const zero register to initialize stack slots is very
> common with __builtin_memset() usage or just zero-initializing variables on
> the stack, and it causes unnecessary state duplication, as that STACK_ZERO
> knowledge is often not necessary for correctness, as those zero values are
> never used in precise context. Thus, relying on register imprecision helps
> tremendously, especially in real-world BPF programs.
> 
> [...]

Here is the summary with links:
  - [v4,bpf-next,01/10] bpf: support non-r10 register spill/fill to/from stack in precision tracking
    https://git.kernel.org/bpf/bpf-next/c/41f6f64e6999
  - [v4,bpf-next,02/10] selftests/bpf: add stack access precision test
    https://git.kernel.org/bpf/bpf-next/c/876301881c43
  - [v4,bpf-next,03/10] bpf: fix check for attempt to corrupt spilled pointer
    https://git.kernel.org/bpf/bpf-next/c/ab125ed3ec1c
  - [v4,bpf-next,04/10] bpf: preserve STACK_ZERO slots on partial reg spills
    https://git.kernel.org/bpf/bpf-next/c/eaf18febd6eb
  - [v4,bpf-next,05/10] selftests/bpf: validate STACK_ZERO is preserved on subreg spill
    https://git.kernel.org/bpf/bpf-next/c/b33ceb6a3d2e
  - [v4,bpf-next,06/10] bpf: preserve constant zero when doing partial register restore
    https://git.kernel.org/bpf/bpf-next/c/e322f0bcb8d3
  - [v4,bpf-next,07/10] selftests/bpf: validate zero preservation for sub-slot loads
    https://git.kernel.org/bpf/bpf-next/c/add1cd7f22e6
  - [v4,bpf-next,08/10] bpf: track aligned STACK_ZERO cases as imprecise spilled registers
    https://git.kernel.org/bpf/bpf-next/c/18a433b62061
  - [v4,bpf-next,09/10] selftests/bpf: validate precision logic in partial_stack_load_preserves_zeros
    https://git.kernel.org/bpf/bpf-next/c/064e0bea19b3
  - [v4,bpf-next,10/10] bpf: use common instruction history across all states
    (no matching commit)

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



      parent reply	other threads:[~2023-12-05 22:00 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-05 18:42 [PATCH v4 bpf-next 00/10] Complete BPF verifier precision tracking support for register spills Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 01/10] bpf: support non-r10 register spill/fill to/from stack in precision tracking Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 02/10] selftests/bpf: add stack access precision test Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 03/10] bpf: fix check for attempt to corrupt spilled pointer Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 04/10] bpf: preserve STACK_ZERO slots on partial reg spills Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 05/10] selftests/bpf: validate STACK_ZERO is preserved on subreg spill Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 06/10] bpf: preserve constant zero when doing partial register restore Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 07/10] selftests/bpf: validate zero preservation for sub-slot loads Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 08/10] bpf: track aligned STACK_ZERO cases as imprecise spilled registers Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 09/10] selftests/bpf: validate precision logic in partial_stack_load_preserves_zeros Andrii Nakryiko
2023-12-14 14:21   ` Maxim Mikityanskiy
2023-12-14 23:45     ` Andrii Nakryiko
2023-12-15 22:34       ` Maxim Mikityanskiy
2023-12-15 23:02         ` Andrii Nakryiko
2023-12-05 18:42 ` [PATCH v4 bpf-next 10/10] bpf: use common instruction history across all states Andrii Nakryiko
2023-12-05 22:01   ` Alexei Starovoitov
2023-12-05 23:20     ` Andrii Nakryiko
2023-12-05 22:00 ` patchwork-bot+netdevbpf [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=170181362805.14422.8529379228061492969.git-patchwork-notify@kernel.org \
    --to=patchwork-bot+netdevbpf@kernel.org \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=kernel-team@meta.com \
    --cc=martin.lau@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.