linux-hardened/tools/testing/selftests
Yonghong Song a4021a3579 tools/bpf: add log_level to bpf_load_program_attr
The kernel verifier has three levels of logs:
    0: no logs
    1: logs mostly useful
  > 1: verbose

Current libbpf API functions bpf_load_program_xattr() and
bpf_load_program() cannot specify log_level.
The bcc, however, provides an interface for user to
specify log_level 2 for verbose output.

This patch added log_level into structure
bpf_load_program_attr, so users, including bcc, can use
bpf_load_program_xattr() to change log_level. The
supported log_level is 0, 1, and 2.

The bpf selftest test_sock.c is modified to enable log_level = 2.
If the "verbose" in test_sock.c is changed to true,
the test will output logs like below:
  $ ./test_sock
  func#0 @0
  0: R1=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
  0: (bf) r6 = r1
  1: R1=ctx(id=0,off=0,imm=0) R6_w=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
  1: (61) r7 = *(u32 *)(r6 +28)
  invalid bpf_context access off=28 size=4

  Test case: bind4 load with invalid access: src_ip6 .. [PASS]
  ...
  Test case: bind6 allow all .. [PASS]
  Summary: 16 PASSED, 0 FAILED

Some test_sock tests are negative tests and verbose verifier
log will be printed out as shown in the above.

Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-02-07 18:22:31 -08:00
..
android selftests: Fix test errors related to lib.mk khdr target 2018-12-17 09:17:55 -07:00
bpf tools/bpf: add log_level to bpf_load_program_attr 2019-02-07 18:22:31 -08:00
breakpoints
capabilities
cgroup Add tests for memory.oom.group 2018-09-07 16:36:01 -06:00
cpu-hotplug
cpufreq
drivers selftests: mlxsw: Add a test for blackhole routes 2019-02-06 14:24:05 -08:00
efivarfs selftests/efivarfs: add required kernel configs 2018-09-05 10:58:07 -06:00
exec
filesystems
firmware selftests: firmware: add CONFIG_FW_LOADER_USER_HELPER_FALLBACK to config 2018-11-27 14:20:36 -07:00
ftrace Tracing changes for v4.21: 2018-12-31 11:46:59 -08: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: rc: self test for IR encoders and decoders 2018-11-06 09:27:17 -07:00
kcmp
kmod
kvm KVM: selftests: check returned evmcs version range 2019-01-25 19:11:38 +01:00
lib
locking
media_tests
membarrier
memfd
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 selftests: forwarding: mirror_gre_flower: Fix test result handling 2019-02-01 15:26:37 -08:00
netfilter selftests: add script to stress-test nft packet path vs. control plane 2018-11-12 16:13:35 +01:00
networking/timestamping selftests: add missing include unistd 2019-02-03 11:17:30 -08:00
nsfs
ntb
powerpc selftests/powerpc: Add checks for transactional sigreturn 2018-12-21 14:46:50 +11:00
prctl
proc proc: fixup map_files test on arm 2018-11-30 14:56:14 -08:00
pstore selftests: pstore: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
ptp
ptrace
rcutorture Merge branches 'bug.2018.11.12a', 'consolidate.2018.12.01a', 'doc.2018.11.12a', 'fixes.2018.11.12a', 'initrd.2018.11.08b', 'sil.2018.11.12a' and 'srcu.2018.11.27a' into HEAD 2018-12-01 12:43:16 -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
seccomp selftests/seccomp: Abort without user notification support 2019-01-17 11:00:23 -07:00
sigaltstack
size
sparc64 selftests: sparc64: Add missing SPDX License Identifiers 2018-06-18 09:29:20 -06:00
splice
static_keys selftests: static_keys: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
sync selftests: sync: add config fragment for testing sync framework 2018-06-18 09:11:10 -06:00
sysctl selftests: sysctl: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
tc-testing selftests: tc-testing: fix parsing of ife type 2019-01-16 14:05:42 -08:00
timers selftest: timers: Tweak raw_skew to SKIP when ADJ_OFFSET/other clock adjustments are in progress 2018-07-10 12:43:21 -07:00
uevent
user selftests: user: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
vDSO selftests: vDSO - fix to return KSFT_SKIP when test couldn't be run 2018-07-11 10:14:26 -06:00
vm selftests/vm/gup_benchmark.c: match gup struct to kernel 2019-01-15 13:48:24 -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 selftests: zram: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
.gitignore
gen_kselftest_tar.sh
kselftest.h selftests: kselftest: Remove outdated comment 2018-08-27 14:07:46 -06:00
kselftest_harness.h selftests: do not macro-expand failed assertion expressions 2018-12-10 10:55:52 -07:00
kselftest_install.sh
lib.mk selftests: Fix test errors related to lib.mk khdr target 2018-12-17 09:17:55 -07:00
Makefile Merge branch 'next-integrity' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2019-01-02 09:43:14 -08:00