Re: [PATCH v5 bpf-next] Small BPF verifier log improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/2/22 11:13 PM, Alexei Starovoitov wrote:
On Wed, Mar 2, 2022 at 1:46 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote:
On 3/2/22 10:23 PM, Alexei Starovoitov wrote:
On Tue, Mar 01, 2022 at 02:27:45PM -0800, Mykola Lysenko wrote:
              .prog_type = BPF_PROG_TYPE_SCHED_CLS,
              .matches = {
-                    {6, "R3_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff))"},
-                    {7, "R4_w=inv(id=1,umax_value=255,var_off=(0x0; 0xff))"},
-                    {8, "R4_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff))"},
-                    {9, "R4_w=inv(id=1,umax_value=255,var_off=(0x0; 0xff))"},
-                    {10, "R4_w=inv(id=0,umax_value=510,var_off=(0x0; 0x1fe))"},
-                    {11, "R4_w=inv(id=1,umax_value=255,var_off=(0x0; 0xff))"},
-                    {12, "R4_w=inv(id=0,umax_value=1020,var_off=(0x0; 0x3fc))"},
-                    {13, "R4_w=inv(id=1,umax_value=255,var_off=(0x0; 0xff))"},
-                    {14, "R4_w=inv(id=0,umax_value=2040,var_off=(0x0; 0x7f8))"},
-                    {15, "R4_w=inv(id=0,umax_value=4080,var_off=(0x0; 0xff0))"},
+                    {6, "R3_w=scalar(umax=255,var_off=(0x0; 0xff))"},
+                    {7, "R4_w=scalar(id=1,umax=255,var_off=(0x0; 0xff))"},
+                    {8, "R4_w=scalar(umax=255,var_off=(0x0; 0xff))"},
+                    {9, "R4_w=scalar(id=1,umax=255,var_off=(0x0; 0xff))"},
+                    {10, "R4_w=scalar(umax=510,var_off=(0x0; 0x1fe))"},
+                    {11, "R4_w=scalar(id=1,umax=255,var_off=(0x0; 0xff))"},
+                    {12, "R4_w=scalar(umax=1020,var_off=(0x0; 0x3fc))"},
+                    {13, "R4_w=scalar(id=1,umax=255,var_off=(0x0; 0xff))"},
+                    {14, "R4_w=scalar(umax=2040,var_off=(0x0; 0x7f8))"},
+                    {15, "R4_w=scalar(umax=4080,var_off=(0x0; 0xff0))"},

Sorry for the later review.
Would "int" be more precise and less verbose than "scalar"?

Could work as well, although in many places today we make use of the term "scalar",
so developers might be more familiar with it (and more consistent towards the
verifier type internals).

I was focusing more on users who will see these logs and
would have to interpret them.
I suspect the ratio is 1 developer to 1000 users.
The users have to fight the verifier quite a bit to make the program pass.
I was thinking about "i64" too. That's what llvm is using,
but it's less clear than "int", which should be obvious
for users since they write progs in C.
It's also shorter.

I can live with "scalar" though.

Imho, 'scalar' fits best. 'i64' would still be better then 'int' as it could imply
different width. Anyway, can push it out in a bit.



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux