On Thu, Nov 21, 2019 at 9:08 AM Yonghong Song <yhs@xxxxxx> wrote: > > With latest llvm, bpf selftest test_progs, which has +alu32 enabled, failed for > strobemeta.o and a few other subtests. The reason is due to that > verifier did not provide better var_off.mask after jmp32 instructions. > This patch set addressed this issue and after the fix, test_progs passed > with alu32. > > Patch #1 provided detailed explanation of the problem and the fix. > Patch #2 added three tests in test_verifier. > > Changelog: > v1 -> v2: > - do not directly manipulate tnum.{value,mask} in __reg_bound_offset32(), > using tnum_lshift/tnum_rshift functions instead > - do __reg_bound_offset32() after regular 64bit __reg_bound_offset() > since the latter may give a better upper 32bit var_off, which can > be inherited by __reg_bound_offset32(). I fixed white space damage and adjusted subject line of patch 2. And applied to bpf-next. Thanks