BPF List
 help / color / mirror / Atom feed
* [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