linux_dsm_epyc7002/tools/testing/selftests
Jakub Kicinski 83d163124c bpf: verifier: propagate liveness on all frames
Commit 7640ead939 ("bpf: verifier: make sure callees don't prune
with caller differences") connected up parentage chains of all
frames of the stack.  It didn't, however, ensure propagate_liveness()
propagates all liveness information along those chains.

This means pruning happening in the callee may generate explored
states with incomplete liveness for the chains in lower frames
of the stack.

The included selftest is similar to the prior one from commit
7640ead939 ("bpf: verifier: make sure callees don't prune with
caller differences"), where callee would prune regardless of the
difference in r8 state.

Now we also initialize r9 to 0 or 1 based on a result from get_random().
r9 is never read so the walk with r9 = 0 gets pruned (correctly) after
the walk with r9 = 1 completes.

The selftest is so arranged that the pruning will happen in the
callee.  Since callee does not propagate read marks of r8, the
explored state at the pruning point prior to the callee will
now ignore r8.

Propagate liveness on all frames of the stack when pruning.

Fixes: f4d7e40a5b ("bpf: introduce function calls (verification)")
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-03-21 19:57:02 -07:00
..
android selftests: Fix test errors related to lib.mk khdr target 2018-12-17 09:17:55 -07:00
bpf bpf: verifier: propagate liveness on all frames 2019-03-21 19:57:02 -07:00
breakpoints
capabilities
cgroup Add tests for memory.oom.group 2018-09-07 16:36:01 -06:00
cpu-hotplug selftests: cpu-hotplug: fix case where CPUs offline > CPUs present 2019-01-25 14:57:45 -07:00
cpufreq
drivers selftests: mlxsw: spectrum-2: Add massive delta rehash test 2019-02-24 20:25:29 -08:00
efivarfs selftests/efivarfs: add required kernel configs 2018-09-05 10:58:07 -06:00
exec
filesystems selftests: add binderfs selftests 2019-01-30 15:19:56 +01:00
firmware selftests: firmware: fix verify_reqs() return value 2019-02-08 13:00:43 +01:00
ftrace The biggest change for this release is in the histogram code. 2019-03-11 17:01:32 -07:00
futex selftests: Fix test errors related to lib.mk khdr target 2018-12-17 09:17:55 -07:00
gpio selftests: gpio-mockup-chardev: Check asprintf() for error 2019-01-16 15:02:57 -07:00
ia64
ima selftests/ima: kexec_load syscall test 2018-12-11 07:19:47 -05:00
intel_pstate
ipc
ir media updates for v5.1-rc1 2019-03-09 14:45:54 -08:00
kcmp
kmod
kvm KVM: selftests: check returned evmcs version range 2019-01-25 19:11:38 +01:00
lib
livepatch livepatch/selftests: use "$@" to preserve argument list 2019-02-12 10:58:47 +01:00
locking
media_tests
membarrier
memfd selftests/memfd: add tests for F_SEAL_FUTURE_WRITE seal 2019-03-05 21:07:19 -08:00
memory-hotplug selftests: memory-hotplug: add required configs 2018-09-05 10:58:31 -06:00
mount selftests: mount: remove no longer needed config option 2018-08-09 11:26:07 -06:00
mqueue
net selftest/net: Remove duplicate header 2019-03-04 11:35:51 -08:00
netfilter selftests: netfilter: add simple masq/redirect test cases 2019-02-04 14:21:27 +01:00
networking/timestamping Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-15 12:38:38 -08:00
nsfs
ntb
powerpc selftests/powerpc: Remove duplicate header 2019-02-26 12:32:06 +11:00
prctl
proc tools/testing/selftests/proc/proc-pid-vm.c: test with vsyscall in mind 2019-03-14 14:36:20 -07:00
pstore
ptp
ptrace
rcutorture tools headers: Move the nolibc header from rcutorture to tools/include/nolibc/ 2019-01-25 15:37:13 -08:00
rseq rseq/selftests: fix parametrized test with -fpie 2018-09-27 12:59:19 -06:00
rtc selftests: rtc: rtctest: add alarm test on minute boundary 2019-01-14 18:49:14 -07:00
safesetid LSM: SafeSetID: add selftest 2019-02-12 10:58:51 -08:00
seccomp selftests/seccomp: Actually sleep for 1/10th second 2019-02-13 08:52:42 -07:00
sigaltstack
size
sparc64
splice
static_keys
sync
sysctl tools/testing/selftests/sysctl/sysctl.sh: add tests for >32-bit values written to 32-bit integers 2019-03-12 10:04:00 -07:00
tc-testing tc-testing: Allow test cases to be skipped 2019-03-01 23:05:06 -08:00
timers selftests: timers: use LDLIBS instead of LDFLAGS 2019-01-28 08:02:12 -07:00
tmpfs tmpfs: test link accounting with O_TMPFILE 2019-03-05 21:07:20 -08:00
tpm2 selftests: add TPM 2.0 tests 2019-02-08 23:13:02 +02:00
uevent
user
vDSO selftests: vDSO - fix to return KSFT_SKIP when test couldn't be run 2018-07-11 10:14:26 -06:00
vm tools: mark 'test_vmalloc.sh' executable 2019-03-11 10:10:29 -07:00
watchdog selftests: watchdog: fix spelling mistake "experies" -> "expires" 2018-12-13 13:03:19 -07:00
x86 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2019-01-27 12:02:00 -08:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest_harness.h selftests/harness: Update named initializer syntax 2019-02-13 08:52:35 -07:00
kselftest_install.sh
kselftest.h selftest: include stdio.h in kselftest.h 2019-02-13 08:34:47 -07:00
lib.mk selftests: Fix test errors related to lib.mk khdr target 2018-12-17 09:17:55 -07:00
Makefile Merge branch 'next-tpm' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2019-03-10 17:37:29 -07:00