mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-11 07:04:04 +08:00
Merge branch 'net-ipv4-remove-erroneous-advancement-of-list-pointer'
Florian Westphal says:
====================
net: ipv4: remove erroneous advancement of list pointer
Tariq reported a soft lockup on net-next that Mellanox was able to
bisect to 2638eb8b50
("net: ipv4: provide __rcu annotation for ifa_list").
While reviewing above patch I found a regression when addresses have a
lifetime specified.
Second patch extends rtnetlink.sh to trigger crash
(without first patch applied).
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
4bd366cece
@ -745,8 +745,7 @@ static void check_lifetime(struct work_struct *work)
|
||||
ifap = &ifa->ifa_dev->ifa_list;
|
||||
tmp = rtnl_dereference(*ifap);
|
||||
while (tmp) {
|
||||
tmp = rtnl_dereference(tmp->ifa_next);
|
||||
if (rtnl_dereference(*ifap) == ifa) {
|
||||
if (tmp == ifa) {
|
||||
inet_del_ifa(ifa->ifa_dev,
|
||||
ifap, 1);
|
||||
break;
|
||||
|
@ -249,6 +249,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
|
||||
@ -1140,6 +1160,7 @@ kci_test_rtnl()
|
||||
|
||||
kci_test_polrouting
|
||||
kci_test_route_get
|
||||
kci_test_addrlft
|
||||
kci_test_tc
|
||||
kci_test_gre
|
||||
kci_test_gretap
|
||||
|
Loading…
Reference in New Issue
Block a user