Re: 5.10.4+ hang with 'rmmod nf_conntrack'
From: Florian Westphal <fw@strlen.de>
Date: 2021-01-08 06:17:52
Ben Greear [off-list ref] wrote:
I noticed my system has a hung process trying to 'rmmod nf_conntrack'. I've generally been doing the script that calls rmmod forever, but only extensively tested on 5.4 kernel and earlier. If anyone has any ideas, please let me know. This is from 'sysrq t'. I don't see any hung-task splats in dmesg.
rmmod on conntrack loops forever until the active conntrack object count reaches 0. (plus a walk of the conntrack table to evict/put all entries).
I'll see if it is reproducible and if so will try with lockdep enabled...
No idea, there was a regression in 5.6, but that was fixed by the time
5.7 was released.
Can't reproduce hangs with a script that injects a few dummy entries
and then removes the module:
added=0
add_and_rmmod()
{
while [ $added -lt 1000 ]; do
conntrack -I -s $(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%255+1)) \
-d $(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%256)).$(($RANDOM%255+1)) \
--protonum 6 --timeout $(((RANDOM%120) + 240)) --state ESTABLISHED --sport $RANDOM --dport $RANDOM 2> /dev/null || break
added=$((added + 1))
if [ $((added % 1000)) -eq 0 ];then
echo $added
fi
done
echo rmmod after adding $added entries
conntrack -C
rmmod nf_conntrack_netlink
rmmod nf_conntrack
}
add_and_rmmod
I don't see how it would make a difference, but do you have any special conntrack features enabled
at run time, e.g. reliable netlink events? (If you don't know what I mean the answer is no).