Hi. I probably will succeed installing a given kernel from backports. OTOH I've never messed with unstable (I have never though on bring a kernel to a stable system).
Notice though that I CAN FULLY REPRODUCE the exact same issue on oldstable Bookworm: Until 6.1.0-42, iptables connection limit DoS rule worked as always did, whereas from 6.1.0-43 upgrading results in unusable networking. commenting out the rule and reloading iptables makes networking work again. Will report as (if) I have something. Cheers. On Wed, 2026-03-11 at 17:12 +0100, Salvatore Bonaccorso wrote: > Control: tags -1 + moreinfo upstream > > Hi Alejandro, > > On Wed, Mar 11, 2026 at 04:07:47PM +0100, Alejandro Oliván Alvarez > wrote: > > So, by reading git bisect final output: > > > > b29ddccf36946a90323486221f39e9f88cc01b8e is the first bad commit > > commit b29ddccf36946a90323486221f39e9f88cc01b8e > > Author: Fernando Fernandez Mancera <[email protected]> > > Date: Fri Nov 21 01:14:32 2025 +0100 > > > > netfilter: nft_connlimit: update the count if add was skipped > > > > [ Upstream commit 69894e5b4c5e28cda5f32af33d4a92b7a4b93b0e ] > > > > Connlimit expression can be used for all kind of packets and > > not > > only > > for packets with connection state new. See this ruleset as > > example: > > > > table ip filter { > > chain input { > > type filter hook input priority filter; policy > > accept; > > tcp dport 22 ct count over 4 counter > > } > > } > > > > Currently, if the connection count goes over the limit the > > counter > > will > > count the packets. When a connection is closed, the connection > > count > > won't decrement as it should because it is only updated for new > > connections due to an optimization on __nf_conncount_add() that > > prevents > > updating the list if the connection is duplicated. > > > > To solve this problem, check whether the connection was skipped > > and > > if > > so, update the list. Adjust count_tree() too so the same fix is > > applied > > for xt_connlimit. > > > > Fixes: 976afca1ceba ("netfilter: nf_conncount: Early exit in > > nf_conncount_lookup() and cleanup") > > Closes: > > https://lore.kernel.org/netfilter/trinity-85c72a88-d762-46c3-be97-36f10e5d9796-1761173693813@3c-app-mailcom-bs12/ > > Signed-off-by: Fernando Fernandez Mancera <[email protected]> > > Signed-off-by: Pablo Neira Ayuso <[email protected]> > > Signed-off-by: Sasha Levin <[email protected]> > > > > net/netfilter/nf_conncount.c | 12 ++++++++---- > > net/netfilter/nft_connlimit.c | 13 +++++++++++-- > > 2 files changed, 19 insertions(+), 6 deletions(-) > > > > > > I got the clue that the issue seems related to netfilter connection > > count/track limit. > > Effectively, I do use in my iptables scripts de connection limit > > feature to deal with some DoS activity. > > > > > > I can assert that by just commenting the following iptables line on > > my > > scripts: > > > > iptables -A INPUT -p tcp -m connlimit --connlimit-above 111 -j > > REJECT --reject-with tcp-reset > > > > And reloading the rules, networking resumes working normally with > > latest 6.12.73 kernel (and presumably with all of them in between). > > Still, this iptables rule has worked nicely for me for years. > > Not sure whether I should dismiss it from now on, since this is the > > intended way for the kernel to work, or there is, indeed, something > > wrong on the kernel > > Thank you for having done this bisect work and identify the commit in > combination with the given rule. Might I ask you one latest test do > perform? The commit 69894e5b4c5e ("netfilter: nft_connlimit: update > the count if add was skipped") was backported from 6.19-rc1 to the > various stable series (in particular 6.18.2, 6.17.13 as well): > > Can you either test 6.17.13-1~bpo13+1 from backports, and ideally as > well 6.19.6 from unstable to see if the problem reproduces htere as > well with a newer kernel which did include this change as well? > > Regards, > Salvatore

