summaryrefslogtreecommitdiff
path: root/scripts/objdiff
diff options
context:
space:
mode:
authorDaehyeon Ko <4ncienth@gmail.com>2026-08-24 13:23:59 +0900
committerAndrew Morton <akpm@linux-foundation.org>2026-08-27 22:50:06 -0700
commit32a7cc3c9a814e6e2689badef227f8cb3b6b672f (patch)
tree20fc06c7d5050170859e75069afd71fc0a33342e /scripts/objdiff
parent1cb8a7a64b5dbd5c5c676844875e1ac96ae15ee2 (diff)
downloadlinux-next-32a7cc3c9a814e6e2689badef227f8cb3b6b672f.tar.gz
linux-next-32a7cc3c9a814e6e2689badef227f8cb3b6b672f.zip
ipc/mqueue: release notification resources during inode eviction
mqueue_flush_file() removes an mq_notify() registration only when the closing task belongs to the thread group stored in notify_owner. A task in a separate thread group created with CLONE_FILES can register SIGEV_THREAD notification and exit without closing the shared file table. If another thread group then unlinks and last-closes the queue, ->flush() skips the registration and inode eviction loses the only pointers to its resources. The orphaned registration permanently retains the notification skb, its netlink socket, a pid reference and a user namespace reference. An unprivileged process can repeat the sequence with new queues and sockets. No inode users remain during eviction. Remove any stale registration there after dropping info->lock, since netlink_sendskb() may release the final socket reference. This bug creates an unkillable kernel resource leak by failing to free netlink socket, PID, and user namespace references when a POSIX message queue is evicted. An unprivileged process can exploit this leak repeatedly to cause kernel memory exhaustion and lead to a DoS. Link: https://lore.kernel.org/20260824042359.925145-1-4ncienth@gmail.com Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Assisted-by: LLM Signed-off-by: Daehyeon Ko <4ncienth@gmail.com> Cc: Davidlohr Bueso <dave@stgolabs.net> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Christian Brauner <brauner@kernel.org> Cc: Jan Kara <jack@suse.cz> Cc: Manfred Spraul <manfred@colorfullife.com> Cc: NeilBrown <neil@brown.name> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'scripts/objdiff')
0 files changed, 0 insertions, 0 deletions