diff options
| author | Scott Mitchell <scott.k.mitch1@gmail.com> | 2026-01-17 20:32:30 +0300 |
|---|---|---|
| committer | Florian Westphal <fw@strlen.de> | 2026-01-20 18:23:37 +0300 |
| commit | a4400a5b343d1bc4aa8f685608515413238e7ee2 (patch) | |
| tree | 97df4ee1d7001df50f98be36cee3bdaf0d88da80 /include | |
| parent | d00453b6e3a3d2340b88c5292c3c5b5f9c4ece75 (diff) | |
| download | linux-a4400a5b343d1bc4aa8f685608515413238e7ee2.tar.xz | |
netfilter: nfnetlink_queue: nfqnl_instance GFP_ATOMIC -> GFP_KERNEL_ACCOUNT allocation
Currently, instance_create() uses GFP_ATOMIC because it's called while
holding instances_lock spinlock. This makes allocation more likely to
fail under memory pressure.
Refactor nfqnl_recv_config() to drop RCU lock after instance_lookup()
and peer_portid verification. A socket cannot simultaneously send a
message and close, so the queue owned by the sending socket cannot be
destroyed while processing its CONFIG message. This allows
instance_create() to allocate with GFP_KERNEL_ACCOUNT before taking
the spinlock.
Suggested-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Scott Mitchell <scott.k.mitch1@gmail.com>
Signed-off-by: Florian Westphal <fw@strlen.de>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
