]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'jmp32-reg-bounds'
authorAlexei Starovoitov <ast@kernel.org>
Fri, 22 Nov 2019 18:29:38 +0000 (10:29 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 25 Nov 2019 00:58:46 +0000 (16:58 -0800)
commit9ff14c428638e5683d06d64c55634d552c3f0d17
treedc410e35bdb263512e095f64aed2456b19e132d8
parentd29c601c9d3f0e63253478b1b310ed25c7255731
parent98a37b50c2afabe5ff489ad520266a27e051d0a9
Merge branch 'jmp32-reg-bounds'

Yonghong Song says:

====================
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().
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>