summaryrefslogtreecommitdiff
path: root/net/9p
diff options
context:
space:
mode:
authorLiu Jian <liujian56@huawei.com>2023-09-07 05:57:09 +0300
committerDavid S. Miller <davem@davemloft.net>2023-09-08 10:02:17 +0300
commitac28b1ec6135649b5d78b028e47264cb3ebca5ea (patch)
treeac210b6f17cf9b989cdbb882caa60b9ee84e1b9c /net/9p
parent73be7fb14e83d24383f840a22f24d3ed222ca319 (diff)
downloadlinux-ac28b1ec6135649b5d78b028e47264cb3ebca5ea.tar.xz
net: ipv4: fix one memleak in __inet_del_ifa()
I got the below warning when do fuzzing test: unregister_netdevice: waiting for bond0 to become free. Usage count = 2 It can be repoduced via: ip link add bond0 type bond sysctl -w net.ipv4.conf.bond0.promote_secondaries=1 ip addr add 4.117.174.103/0 scope 0x40 dev bond0 ip addr add 192.168.100.111/255.255.255.254 scope 0 dev bond0 ip addr add 0.0.0.4/0 scope 0x40 secondary dev bond0 ip addr del 4.117.174.103/0 scope 0x40 dev bond0 ip link delete bond0 type bond In this reproduction test case, an incorrect 'last_prim' is found in __inet_del_ifa(), as a result, the secondary address(0.0.0.4/0 scope 0x40) is lost. The memory of the secondary address is leaked and the reference of in_device and net_device is leaked. Fix this problem: Look for 'last_prim' starting at location of the deleted IP and inserting the promoted IP into the location of 'last_prim'. Fixes: 0ff60a45678e ("[IPV4]: Fix secondary IP addresses after promotion") Signed-off-by: Liu Jian <liujian56@huawei.com> Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/9p')
0 files changed, 0 insertions, 0 deletions