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
prev 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.