On Mon, 2024-01-08 at 05:49 -0800, Maciej Żenczykowski wrote: > (I've looked at all 3 patches, and they seem fine... but I don't claim > to understand the intricacies of the verifier/registers/etc well > enough to be certain) Thank you. > On Mon, Jan 8, 2024 at 5:28 AM Eduard Zingerman <eddyz87@xxxxxxxxx> wrote: > > > > Extend try_match_pkt_pointers() to handle == and != operations. > > For instruction: > > > > .--------------- pointer to packet with some range R > > | .--------- pointer to packet end > > v v > > if rA == rB goto ... > > it's possible this would be better without the 'goto' as just 'if (rA > == rB) ...' The idea was to show this as BPF asm instruction, which has syntax 'if rA == rB goto C'. I'll wait for more feedback and submit v2 with updated commit message to make it more clear. > > It is valid to infer that R bytes are available in packet. > > This change should allow verification of BPF generated for > > C code like below: > > > > if (data + 42 != data_end) { ... } > > this should probably be: > if (data + 42 != data_end) return; > ... Makes sense, will update commit message.