On 19/05/17 02:22, Alexei Starovoitov wrote: > In your .py I'd only change __str__(self) to print them in mask,value > as the order they're passed into constructor to make it easier to read. Actually I was going to go the other way and change the ctor to take value,mask. But I agree they're inconsistent right now.
> this mul algo I don't completely understand. It feels correct, > but I'm not sure we really need it for the kernel. You're probably right; I was just driven by a completionist desire to cover everything I could. > What I love about the whole thing that it works for access into > packet, access into map values and in the future for any other > variable length access. Sure, but don't start thinking it subsumes all the other checks. We will still need e.g. max/min tracking, because packet length isn't always a power of 2. > Are you planning to work on the kernel patch for this algo? > Once we have it the verifier will be smarter regarding > alignment tracking than any compiler i know :) I'm currently translating the algos to C. But for the kernel patch, I'll need to read & understand the existing verifier code, so it might take a while :) (I don't suppose there's any design document or hacking-notes you could point me at?) But I'll give it a go for sure. -Ed