Thread (3 messages) flat view 3 messages, 2 authors, 2022-09-23

Re: Bug Report Flowtable NFT with kernel 5.19.9

From: Florian Westphal <fw@strlen.de>
Date: 2022-09-22 12:13:02
Also in: linux-mm, netfilter-devel

Martin Zaharinov [off-list ref] wrote:
This is bug report for flowtable and kernel 5.19.9

simple config nat + flowtable 
CC mm experts.  I'm not sure that this is a bug in netfilter/rhashtable,
looks like mm problem perhaps?

I am a bit confused wrt. kvzalloc+GFP_ATOMIC.  This looks like following is happening:

5.19.9 kernel BUGs with:
Sep 22 07:43:49  [460691.305266][   C28] kernel BUG at mm/vmalloc.c:2437!
[ BUG_ON(in_interrupt ]
Sep 22 07:43:50  [460692.031617][   C28] Call Trace:
Sep 22 07:43:50  [460692.064498][   C28]  <IRQ>
Sep 22 07:43:50  [460692.096177][   C28]  __vmalloc_node_range+0x96/0x1e0
Sep 22 07:43:50  [460692.128014][   C28]  ? bucket_table_alloc.isra.0+0x47/0x140
Sep 22 07:43:50  [460692.160134][   C28]  kvmalloc_node+0x92/0xb0
Sep 22 07:43:50  [460692.191885][   C28]  ? bucket_table_alloc.isra.0+0x47/0x140
Sep 22 07:43:50  [460692.224234][   C28]  bucket_table_alloc.isra.0+0x47/0x140
Sep 22 07:43:50  [460692.256840][   C28]  rhashtable_try_insert+0x3a4/0x440
[ rest irrelevant ]

AFAICS this is caused by kvzalloc(GFP_ATOMIC) which somehow ends up in
GFP_KERNEL-only territory?  Looking at recent history I see

commit a421ef303008b0ceee2cfc625c3246fa7654b0ca
Author: Michal Hocko [off-list ref]
Date:   Fri Jan 14 14:07:07 2022 -0800

    mm: allow !GFP_KERNEL allocations for kvmalloc

before this, GFP_ATOMIC made sure we stay with plain kmalloc, but
now it appears that we can end up in places where GFP_ATOMIC isn't
allowed?

Original bug report is here:
https://lore.kernel.org/netdev/09BE0B8A-3ADF-458E-B75E-931B74996355@gmail.com/T/#u (local)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help