* [LSF/MM/BPF TOPIC] Value Tracking in Verifier
@ 2024-02-29 8:15 Shung-Hsi Yu
2024-02-29 22:49 ` John Fastabend
0 siblings, 1 reply; 2+ messages in thread
From: Shung-Hsi Yu @ 2024-02-29 8:15 UTC (permalink / raw)
To: lsf-pc; +Cc: bpf, Paul Chaignon, Eduard Zingerman, Andrii Nakryiko
Hello,
I'd like propose a discussion about BPF verifier itself. To avoid being too
vague, this proposition limits to value tracking (i.e. var_off and
*{min,max}_value in bpf_reg_state); taking a very brief look at the
challenges of current implementation, and maybe alternative implementation
like PREVAIL[1]. Before heading on to the actual discussion:
- Unify signed and unsigned min/max tracking[2]
- Refactor value tracking routines (as set-operations)
- Tracking relation between values
Admittedly the current topic is a rather narrowly scoped. The discussion
could be further expanded to be about the verifier in general as needed,
some (less concrete) ideas to discuss:
- Further reducing loop/branch states
- Lazier precision tracking
- Simplification/refactoring of codebase
- Documentation improvement
Thanks,
Shung-Hsi Yu
1: https://vbpf.github.io/
2: https://lore.kernel.org/bpf/20231108054611.19531-1-shung-hsi.yu@suse.com/
^ permalink raw reply [flat|nested] 2+ messages in thread* RE: [LSF/MM/BPF TOPIC] Value Tracking in Verifier
2024-02-29 8:15 [LSF/MM/BPF TOPIC] Value Tracking in Verifier Shung-Hsi Yu
@ 2024-02-29 22:49 ` John Fastabend
0 siblings, 0 replies; 2+ messages in thread
From: John Fastabend @ 2024-02-29 22:49 UTC (permalink / raw)
To: Shung-Hsi Yu, lsf-pc
Cc: bpf, Paul Chaignon, Eduard Zingerman, Andrii Nakryiko
Shung-Hsi Yu wrote:
> Hello,
>
> I'd like propose a discussion about BPF verifier itself. To avoid being too
> vague, this proposition limits to value tracking (i.e. var_off and
> *{min,max}_value in bpf_reg_state); taking a very brief look at the
> challenges of current implementation, and maybe alternative implementation
> like PREVAIL[1]. Before heading on to the actual discussion:
> - Unify signed and unsigned min/max tracking[2]
> - Refactor value tracking routines (as set-operations)
> - Tracking relation between values
Sounds interesting to me. Just creating a summarized list of the examples
that have forced the signed/unsigned separation would be valuable and the
reasons why we have both var_off and min,max would be a nice document.
The examples would show why the bit tracking and min/max has resisted
easily being unified.
>
> Admittedly the current topic is a rather narrowly scoped. The discussion
> could be further expanded to be about the verifier in general as needed,
> some (less concrete) ideas to discuss:
> - Further reducing loop/branch states
> - Lazier precision tracking
> - Simplification/refactoring of codebase
> - Documentation improvement
>
>
> Thanks,
> Shung-Hsi Yu
>
> 1: https://vbpf.github.io/
> 2: https://lore.kernel.org/bpf/20231108054611.19531-1-shung-hsi.yu@suse.com/
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-02-29 22:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-29 8:15 [LSF/MM/BPF TOPIC] Value Tracking in Verifier Shung-Hsi Yu
2024-02-29 22:49 ` John Fastabend
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox