linux/tools/testing/selftests
Florian Westphal b0519de8b3 mptcp: fix use-after-free for ipv6
Turns out that when we accept a new subflow, the newly created
inet_sk(tcp_sk)->pinet6 points at the ipv6_pinfo structure of the
listener socket.

This wasn't caught by the selftest because it closes the accepted fd
before the listening one.

adding a close(listenfd) after accept returns is enough:
 BUG: KASAN: use-after-free in inet6_getname+0x6ba/0x790
 Read of size 1 at addr ffff88810e310866 by task mptcp_connect/2518
 Call Trace:
  inet6_getname+0x6ba/0x790
  __sys_getpeername+0x10b/0x250
  __x64_sys_getpeername+0x6f/0xb0

also alter test program to exercise this.

Reported-by: Christoph Paasch <cpaasch@apple.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-02-06 11:25:09 +01:00
..
android
arm64 kselftest: arm64: fix spelling mistake "contiguos" -> "contiguous" 2019-11-11 18:25:24 +00:00
bpf selftests/bpf: Add test based on port range for BPF flow dissector 2020-01-27 11:25:07 +01:00
breakpoints selftests: breakpoints: Fix a typo of function name 2019-11-07 14:27:26 -07:00
capabilities
cgroup selftests: Uninitialized variable in test_cgcore_proc_migration() 2020-01-09 16:21:23 -07:00
clone3 selftests/clone3: skip if clone3() is ENOSYS 2019-11-18 08:59:03 +01:00
cpu-hotplug
cpufreq
dmabuf-heaps dma-buf: heaps: Use _IOCTL_ for userspace IOCTL identifier 2019-12-17 21:37:40 +05:30
drivers selftests: mlxsw: Add a TBF selftest 2020-01-25 10:56:31 +01:00
efivarfs
exec
filesystems selftests: filesystems/epoll: fix build error 2019-12-23 10:52:40 -07:00
firmware selftests: firmware: Fix it to do root uid check and skip 2019-12-23 10:52:40 -07:00
ftrace selftests/ftrace: fix glob selftest 2020-01-28 13:36:48 -07:00
futex
gpio
ia64
intel_pstate
ipc
ir media: selftests: ir: fix ir_loopback test failure 2019-08-14 05:06:25 -03:00
kcmp
kexec sefltest/ima: support appended signatures (modsig) 2019-08-29 12:45:30 -04:00
kmod selftests: kmod: Fix typo in kmod.sh 2019-07-23 10:45:06 -06:00
kselftest selftests: settings: tests can be in subsubdirs 2020-01-27 10:49:52 -07:00
kvm ARM: Cleanups and corner case fixes 2020-01-31 09:30:41 -08:00
lib selftests: Move kselftest_module.sh into kselftest/ 2019-11-07 14:46:08 -07:00
livepatch selftests/livepatch: Remove unused local variable in set_ftrace_enabled() 2020-01-16 13:05:49 -07:00
lkdtm selftests/lkdtm: Add tests for LKDTM targets 2020-01-10 14:50:28 -07:00
locking
media_tests
membarrier selftests, sched/membarrier: Add multi-threaded test 2019-09-25 17:42:31 +02:00
memfd memfd: add test for COW on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings 2019-12-01 12:59:03 -08:00
memory-hotplug
mount
mqueue
net mptcp: fix use-after-free for ipv6 2020-02-06 11:25:09 +01:00
netfilter selftests: netfilter: Introduce tests for sets with range concatenation 2020-01-27 08:54:30 +01:00
networking/timestamping
nsfs
ntb New feature to add support for NTB virtual MSI interrupts, the ability 2019-07-21 09:46:59 -07:00
openat2 selftests: add openat2(2) selftests 2020-01-18 09:19:18 -05:00
pidfd test: Add test for pidfd getfd 2020-01-13 21:49:54 +01:00
powerpc selftests/eeh: Bump EEH wait time to 60s 2020-01-26 00:11:37 +11:00
prctl
proc selftests: proc: Make va_max 1MB 2019-11-07 14:52:57 -07:00
pstore
ptp ptp: Extend the test program to check the external time stamp flags. 2019-11-15 12:48:33 -08:00
ptrace selftests/ptrace: add a test case for PTRACE_GET_SYSCALL_INFO 2019-07-16 19:23:24 -07:00
rcutorture torture: Hoist calls to lscpu to higher-level kvm.sh script 2019-12-09 13:00:30 -08:00
rseq rseq/selftests: Clarify rseq_prepare_unload() helper requirements 2019-12-23 10:52:41 -07:00
rtc selftests/kselftest/runner.sh: Add 45 second timeout per test 2019-10-01 13:33:28 -06:00
safesetid selftests: safesetid: Fix Makefile to set correct test program 2019-12-09 10:53:04 -07:00
seccomp selftests/seccomp: Catch garbage on SECCOMP_IOCTL_NOTIF_RECV 2020-01-02 13:15:45 -08:00
sigaltstack
size kselftest: Minimise dependency of get_size on C library interfaces 2020-01-16 13:08:26 -07:00
sparc64
splice
static_keys
sync selftests: sync: Fix cast warnings on arm 2019-11-07 14:54:37 -07:00
sysctl
tc-testing tc-testing: add missing 'nsPlugin' to basic.json 2020-02-04 09:30:00 +01:00
timens selftests/timens: Check for right timens offsets after fork and exec 2020-01-14 12:21:02 +01:00
timers
tmpfs
tpm2 tpm: selftest: cleanup after unseal with wrong auth/policy test 2019-12-17 12:20:15 +02:00
uevent
user
vDSO
vm mm/gup_benchmark: use proper FOLL_WRITE flags instead of hard-coding "1" 2020-01-31 10:30:38 -08:00
watchdog selftests: watchdog: Add command line option to show watchdog_info 2019-10-02 13:44:43 -06:00
wireguard wireguard: selftests: tie socket waiting to target pid 2020-02-05 14:14:18 +01:00
x86 selftests/x86/single_step_syscall: Check SYSENTER directly 2019-11-26 21:53:34 +01:00
zram
.gitignore selftests/tpm2: Add log and *.pyc to .gitignore 2019-09-25 02:43:51 +03:00
gen_kselftest_tar.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_harness.h
kselftest_install.sh selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ 2019-11-07 14:43:27 -07:00
kselftest_module.h
kselftest.h kselftest: save-and-restore errno to allow for %m formatting 2019-07-30 15:46:48 -06:00
lib.mk
Makefile linux-kselftest-5.6-rc1 2020-01-29 15:24:03 -08:00