Re: Regression: net/ipv6/mld running system out of memory (not a leak)
From: Eric Dumazet <hidden>
Date: 2020-02-12 07:59:26
On 2/11/20 11:37 PM, Rafał Miłecki wrote:
Hi, I need some help with my devices running out of memory. I've
debugging skills but I don't know net subsystem.
I run Linux based OpenWrt distribution on home wireless devices (ARM
routers and access points with brcmfmac wireless driver). I noticed
that using wireless monitor mode interface results in my devices (128
MiB RAM) running out of memory in about 2 days. This is NOT a memory
leak as putting wireless down brings back all the memory.
Interestingly this memory drain requires at least one of:
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1
to be set. OpenWrt happens to use both by default.
This regression was introduced by the commit 1666d49e1d41 ("mld: do
not remove mld souce list info when set link down") - first appeared
in 4.10 and then backported. This bug exists in 4.9.14 and 4.14.169.
Reverting that commit from 4.9.14 and 4.14.169 /fixes/ the problem.
Can you look at possible cause/fix of this problem, please? Is there
anything I can test or is there more info I can provide?
I'm not sure why this issue appears only when using monitor mode.
Using wireless __ap mode interface (with hostapd) won't expose this
issue. I guess it may be a matter of monitor interfaces not being
bridged?This commit had few fixes, are you sure they were applied to your kernel ? 9c8bb163ae784be4f79ae504e78c862806087c54 igmp, mld: Fix memory leak in igmpv3/mld_del_delrec() 08d3ffcc0cfaba36f6b86fd568cc3bc773061fa6 multicast: do not restore deleted record source filter mode to new one a84d016479896b5526a2cc54784e6ffc41c9d6f6 mld: fix memory leak in mld_del_delrec()