diff options
author | Florian Westphal <fw@strlen.de> | 2019-06-17 16:02:28 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-01-09 10:19:08 +0100 |
commit | 107726ad0479655d84e020ef077fbf9310d3f4f2 (patch) | |
tree | d0d3e79e2ff1af6f483b6607ba59e1eaba0728a7 /tools | |
parent | 3d14b83e71b233b32166ebf55fce7821135742c4 (diff) | |
download | linux-stable-107726ad0479655d84e020ef077fbf9310d3f4f2.tar.gz linux-stable-107726ad0479655d84e020ef077fbf9310d3f4f2.tar.bz2 linux-stable-107726ad0479655d84e020ef077fbf9310d3f4f2.zip |
selftests: rtnetlink: add addresses with fixed life time
[ Upstream commit 3cfa148826e3c666da1cc2a43fbe8689e2650636 ]
This exercises kernel code path that deal with addresses that have
a limited lifetime.
Without previous fix, this triggers following crash on net-next:
BUG: KASAN: null-ptr-deref in check_lifetime+0x403/0x670
Read of size 8 at addr 0000000000000010 by task kworker [..]
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/testing/selftests/net/rtnetlink.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh index e101af52d1d6..ff665de788ef 100755 --- a/tools/testing/selftests/net/rtnetlink.sh +++ b/tools/testing/selftests/net/rtnetlink.sh @@ -234,6 +234,26 @@ kci_test_route_get() echo "PASS: route get" } +kci_test_addrlft() +{ + for i in $(seq 10 100) ;do + lft=$(((RANDOM%3) + 1)) + ip addr add 10.23.11.$i/32 dev "$devdummy" preferred_lft $lft valid_lft $((lft+1)) + check_err $? + done + + sleep 5 + + ip addr show dev "$devdummy" | grep "10.23.11." + if [ $? -eq 0 ]; then + echo "FAIL: preferred_lft addresses remaining" + check_err 1 + return + fi + + echo "PASS: preferred_lft addresses have expired" +} + kci_test_addrlabel() { ret=0 @@ -965,6 +985,7 @@ kci_test_rtnl() kci_test_polrouting kci_test_route_get + kci_test_addrlft kci_test_tc kci_test_gre kci_test_gretap |