In the Linux kernel, the following vulnerability has been resolved: lib: alloctagmoduleunload must wait for pending kfreercu calls Ben Greear reports following splat: ------------[ cut here ]------------ net/netfilter/nfnatcore.c:1114 module nfnat func:nfnatregisterfn has 256 allocated at module unload WARNING: CPU: 1 PID: 10421 at lib/alloctag.c:168 alloctagmoduleunload+0x22b/0x3f0 Modules linked in: nfnat(-) btrfs ufs qnx4 hfsplus hfs minix vfat msdos fat ... Hardware name: Default string Default string/SKYBAY, BIOS 5.12 08/04/2020 RIP: 0010:alloctagmoduleunload+0x22b/0x3f0 codetagunloadmodule+0x19b/0x2a0 ? codetagloadmodule+0x80/0x80 nfnat module exit calls kfreercu on those addresses, but the free operation is likely still pending by the time alloctag checks for leaks. Wait for outstanding kfreercu operations to complete before checking resolves this warning. Reproducer: unshare -n iptables-nft -t nat -A PREROUTING -p tcp grep nfnat /proc/allocinfo # will list 4 allocations rmmod nftchainnat rmmod nfnat # will WARN. [akpm@linux-foundation.org: add comment]
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-headers-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-image-unsigned-6.11.0-1015-oem-dbgsym", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-ipu6-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-ipu7-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-iwlwifi-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-usbio-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-modules-vision-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-oem-6.11-headers-6.11.0-1015", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-oem-6.11-tools-6.11.0-1015", "binary_version": "6.11.0-1015.15" }, { "binary_name": "linux-tools-6.11.0-1015-oem", "binary_version": "6.11.0-1015.15" } ] }