linux/tools/testing/selftests
Eric Sandeen 2ea622b887 tools/testing/selftests/sysctl/sysctl.sh: add proc_do_large_bitmap() test case
The kernel has only two users of proc_do_large_bitmap(), the kernel CPU
watchdog, and the ip_local_reserved_ports.  Refer to watchdog_cpumask
and ip_local_reserved_ports in Documentation for further details on
these.  When you input a large buffer into these, when it is larger than
PAGE_SIZE- 1, the input data gets misparsed, and the user get
incorrectly informed that the desired input value was set.  This commit
implements a test which mimics and exploits that use case, it uses a
bitmap size, as in the watchdog case.  The bitmap is used to test the
bitmap proc handler, proc_do_large_bitmap().

The next commit fixes this issue.

[akpm@linux-foundation.org: move proc_do_large_bitmap() export to EOF]
[mcgrof@kernel.org: use new target description for backward compatibility]
[mcgrof@kernel.org: augment test number to 50, ran into issues with bash string comparisons when testing up to 50 cases.]
[mcgrof@kernel.org: introduce and use verify_diff_proc_file() to use diff]
[mcgrof@kernel.org: use mktemp for tmp file]
[mcgrof@kernel.org: merge shell test and C code]
[mcgrof@kernel.org: commit log love]
[mcgrof@kernel.org: export proc_do_large_bitmap() to allow for the test
[mcgrof@kernel.org: check for the return value when writing to the proc file]
Link: http://lkml.kernel.org/r/20190320222831.8243-6-mcgrof@kernel.org
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Acked-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-05-14 19:52:51 -07:00
..
android
bpf selftests: bpf: Add files generated after build to .gitignore 2019-05-13 01:16:37 +02:00
breakpoints
capabilities
cgroup Merge branch 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2019-05-09 13:52:12 -07:00
cpu-hotplug
cpufreq
drivers Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-17 11:26:25 -07:00
efivarfs selftests/efivarfs: clean up test files from test_create*() 2019-04-19 17:17:19 -06:00
exec exec selftests: test ->recursion_depth 2019-05-14 19:52:50 -07:00
filesystems
firmware
ftrace The biggest change for this release is in the histogram code. 2019-03-11 17:01:32 -07:00
futex
gpio selftest/gpio: Remove duplicate header 2019-04-08 16:18:21 -06:00
ia64
intel_pstate
ipc selftests/ipc: Fix msgque compiler warnings 2019-04-19 17:18:00 -06:00
ir media updates for v5.1-rc1 2019-03-09 14:45:54 -08:00
kcmp
kexec selftests/kexec: update get_secureboot_mode 2019-04-17 15:32:44 -06:00
kmod
kvm KVM: selftests: make hyperv_cpuid test pass on AMD 2019-04-30 21:22:16 +02:00
lib lib: Add test module for strscpy_pad 2019-04-08 16:44:21 -06:00
livepatch selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED 2019-04-15 10:43:21 +02:00
locking
media_tests media: selftests: media_dev_allocator api test 2019-04-22 11:23:14 -04:00
membarrier
memfd selftests/memfd: add tests for F_SEAL_FUTURE_WRITE seal 2019-03-05 21:07:19 -08:00
memory-hotplug
mount
mqueue
net selftests: Add loopback test 2019-05-05 21:56:57 -07:00
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-25 23:52:29 -04: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
pidfd selftests: add tests for pidfd_send_signal() 2019-03-05 17:04:33 +01:00
powerpc selftests/powerpc: Add a signal fuzzer selftest 2019-05-03 02:55:02 +10:00
prctl
proc proc: fixup proc-pid-vm test 2019-04-19 09:46:04 -07:00
pstore
ptp
ptrace
rcutorture for-5.2/block-20190507 2019-05-07 18:14:36 -07:00
rseq linux-kselftest-5.2-rc1 2019-05-06 20:29:45 -07:00
rtc
safesetid LSM: SafeSetID: add selftest 2019-02-12 10:58:51 -08:00
seccomp linux-kselftest-5.2-rc1 2019-05-06 20:29:45 -07:00
sigaltstack
size
sparc64
splice
static_keys
sync
sysctl tools/testing/selftests/sysctl/sysctl.sh: add proc_do_large_bitmap() test case 2019-05-14 19:52:51 -07:00
tc-testing net: sched: flower: use correct ht function to prevent duplicates 2019-04-11 11:33:06 -07:00
timers selftest/timers: Remove duplicate header 2019-04-08 16:18:21 -06:00
tmpfs tmpfs: test link accounting with O_TMPFILE 2019-03-05 21:07:20 -08:00
tpm2 selftests/tpm2: Open tpm dev in unbuffered mode 2019-04-08 15:58:55 -07:00
uevent
user
vDSO
vm tools: mark 'test_vmalloc.sh' executable 2019-03-11 10:10:29 -07:00
watchdog
x86 selftest/x86/mpx-dig.c: Remove duplicate header 2019-04-08 16:18:21 -06:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest_harness.h selftests/harness: Add 30 second timeout per test 2019-04-16 17:04:34 -06:00
kselftest_install.sh
kselftest_module.h kselftest: Add test module framework header 2019-04-08 16:44:20 -06:00
kselftest_module.sh kselftest: Add test runner creation script 2019-04-08 16:44:11 -06:00
kselftest.h selftest: include stdio.h in kselftest.h 2019-02-13 08:34:47 -07:00
lib.mk selftests: fix headers_install circular dependency 2019-04-19 17:15:27 -06:00
Makefile selftests: build and run gpio when output directory is the src dir 2019-04-22 17:02:26 -06:00