Thread (5 messages) flat view 5 messages, 2 authors, 2022-04-22

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).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help