linux/tools/testing/selftests
David Vernet 830316807e cgroup: remove racy check in test_memcg_sock()
test_memcg_sock() in the cgroup memcg tests, verifies expected memory
accounting for sockets.  The test forks a process which functions as a TCP
server, and sends large buffers back and forth between itself (as the TCP
client) and the forked TCP server.  While doing so, it verifies that
memory.current and memory.stat.sock look correct.

There is currently a check in tcp_client() which asserts memory.current >=
memory.stat.sock.  This check is racy, as between memory.current and
memory.stat.sock being queried, a packet could come in which causes
mem_cgroup_charge_skmem() to be invoked.  This could cause
memory.stat.sock to exceed memory.current.  Reversing the order of
querying doesn't address the problem either, as memory may be reclaimed
between the two calls.  Instead, this patch just removes that assertion
altogether, and instead relies on the values_close() check that follows to
validate the expected accounting.

Link: https://lkml.kernel.org/r/20220423155619.3669555-5-void@manifault.com
Signed-off-by: David Vernet <void@manifault.com>
Acked-by: Roman Gushchin <roman.gushchin@linux.dev>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Shakeel Butt <shakeelb@google.com>
Cc: Tejun Heo <tj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-05-13 07:20:12 -07:00
..
alsa kselftest: alsa: fix spelling mistake "desciptor" -> "descriptor" 2022-02-08 08:24:42 +01:00
arm64 kselftest/arm64: Log the PIDs of the parent and child in sve-ptrace 2022-03-07 21:46:57 +00:00
bpf bpf: Adjust bpf_tcp_check_syncookie selftest to test dual-stack sockets 2022-04-06 09:44:45 -07:00
breakpoints
capabilities
cgroup cgroup: remove racy check in test_memcg_sock() 2022-05-13 07:20:12 -07:00
clone3 selftests: fixup build warnings in pidfd / clone3 tests 2022-02-04 13:07:07 -07:00
core selftests/core: remove ARRAY_SIZE define from close_range_test.c 2021-12-10 17:50:38 -07:00
cpu-hotplug
cpufreq selftests: cpufreq: Write test output to stdout as well 2022-01-25 13:20:03 -07:00
damon selftets/damon/sysfs: test existence and permission of avail_operations 2022-05-13 07:20:06 -07:00
dma dma-mapping: benchmark: extract a common header file for map_benchmark definition 2022-03-10 07:41:14 +01:00
dmabuf-heaps
drivers selftests: mlxsw: vxlan_flooding_ipv6: Prevent flooding of unwanted packets 2022-04-20 15:04:27 +01:00
efivarfs
exec linux-kselftest-next-5.18-rc1 2022-03-23 12:53:00 -07:00
filesystems
firmware
fpu
ftrace selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT 2022-02-14 13:28:17 -07:00
futex selftests: futex: Add the uapi headers include variable 2022-02-23 17:20:32 -07:00
gpio gpio updates for v5.17 2022-01-11 12:31:35 -08:00
ia64
intel_pstate
ipc
ir selftests/ir: fix build with ancient kernel headers 2022-02-04 13:14:41 -07:00
kcmp
kexec selftests/kexec: Enable secureboot tests for PowerPC 2022-01-05 11:44:57 -05:00
kmod
kselftest selftests/kselftest/runner.sh: Pass optional command parameters in environment 2022-02-23 17:14:36 -07:00
kvm kvm: selftests: introduce and use more page size-related constants 2022-04-21 15:41:01 -04:00
landlock selftests: landlock: Add the uapi headers include variable 2022-02-23 17:20:47 -07:00
lib
livepatch livepatch: Skip livepatch tests if ftrace cannot be configured 2022-02-23 16:42:00 +01:00
lkdtm powerpc updates for 5.18 2022-03-25 09:39:36 -07:00
locking
media_tests
membarrier
memfd selftests/memfd: clean up mapping in mfd_fail_write 2022-02-26 09:51:17 -08:00
memory-hotplug mm/memory_hotplug: remove CONFIG_MEMORY_HOTPLUG_SPARSE 2021-11-06 13:30:42 -07:00
mincore selftests: skip mincore.check_file_mmap when fs lacks needed support 2022-01-27 16:40:45 -07:00
mount selftests/mount: remove unneeded conversion to bool 2021-12-10 16:46:01 -07:00
mount_setattr tests: fix idmapped mount_setattr test 2022-02-11 09:08:20 +01:00
move_mount_set_group selftests/move_mount_set_group remove unneeded conversion to bool 2021-12-10 16:46:01 -07:00
mqueue testing/selftests/mqueue: Fix mq_perf_tests to free the allocated cpu set 2022-04-12 13:54:49 -06:00
nci
net selftests: net: fix nexthop warning cleanup double ip typo 2022-04-03 13:09:05 +01:00
netfilter linux-kselftest-next-5.18-rc1 2022-03-23 12:53:00 -07:00
nsfs
ntb
openat2 selftests: openat2: Skip testcases that fail with EOPNOTSUPP 2022-01-27 16:31:07 -07:00
perf_events selftests/perf_events: Test modification of perf_event_attr::sig_data 2022-02-02 13:11:40 +01:00
pid_namespace selftests: fix header dependency for pid_namespace selftests 2022-04-04 13:32:31 -06:00
pidfd selftests: fix an unused variable warning in pidfd selftest 2022-04-04 13:32:53 -06:00
powerpc selftest/powerpc: Add PAPR sysfs attributes sniff test 2022-03-08 00:05:00 +11:00
prctl
proc selftests/proc: fix array_size.cocci warning 2022-04-04 13:27:21 -06:00
pstore
ptp testptp: add option to shift clock by nanoseconds 2022-02-22 17:03:40 -08:00
ptrace
rcutorture rcutorture: Provide non-power-of-two Tasks RCU scenarios 2022-02-08 11:19:15 -08:00
resctrl
rlimits
rseq RISC-V Patches for the 5.18 Merge Window, Part 1 2022-03-25 10:11:38 -07:00
rtc selftests/rtc: continuously read RTC in a loop for 30s 2022-02-25 17:00:51 -07:00
safesetid
sched
seccomp selftests/seccomp: Fix seccomp failure by adding missing headers 2022-02-14 11:14:38 -07:00
sgx selftests/sgx: Treat CC as one argument 2022-02-17 11:55:17 -08:00
sigaltstack
size
sparc64 selftests/sparc64: remove ARRAY_SIZE define from adi-test 2021-12-10 17:51:15 -07:00
splice
static_keys
sync
syscall_user_dispatch
sysctl
tc-testing selftests: tc-testing: Increase timeout in tdc config file 2022-03-14 10:27:52 +00:00
timens selftests/timens: remove ARRAY_SIZE define from individual tests 2021-12-10 17:51:20 -07:00
timers selftests: timers: Remove unneeded semicolon 2021-12-10 16:46:00 -07:00
tmpfs
tpm2 selftests: tpm: add async space test with noneexisting handle 2022-03-08 10:33:17 +02:00
uevent
user
user_events user_events: Add self-test for validator boundaries 2022-02-10 22:38:08 -05:00
vDSO selftests/vDSO: fix array_size.cocci warning 2022-04-04 13:27:11 -06:00
vm userfaultfd/selftests: use swap() instead of open coding it 2022-05-13 07:20:12 -07:00
watchdog
wireguard wireguard: selftests: enable ACPI for SMP 2022-04-22 15:59:05 -07:00
x86 selftests: x86: add 32bit build warnings for SUSE 2022-04-04 13:29:43 -06:00
zram selftests/zram: Adapt the situation that /dev/zram0 is being used 2022-01-27 10:59:02 -07:00
.gitignore selftests: add kselftest_install to .gitignore 2022-03-03 15:16:57 -07:00
gen_kselftest_tar.sh
kselftest_deps.sh
kselftest_harness.h selftests/harness: Pass variant to teardown 2022-04-04 13:37:48 -06:00
kselftest_install.sh
kselftest_module.h
kselftest.h selftests: kselftest framework: provide "finished" helper 2022-03-24 19:06:51 -07:00
lib.mk kbuild: Make $(LLVM) more flexible 2022-03-31 12:03:46 +09:00
Makefile selftests: Fix build when $(O) points to a relative path 2022-03-03 15:18:13 -07:00
run_kselftest.sh