]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
llc: fix SAP refcount leak in llc_ui_autobind()
authorShuangpeng Bai <shuangpeng.kernel@gmail.com>
Tue, 30 Jun 2026 19:48:56 +0000 (15:48 -0400)
committerPaolo Abeni <pabeni@redhat.com>
Sun, 5 Jul 2026 07:05:14 +0000 (09:05 +0200)
commit660667cd406648bbaffbd5c0d897c2263a852f11
treee20ba381ccaa960b9e2a3f41e0e2a819d2036177
parentd6456743424721a837e1509b912f362caaeecd97
llc: fix SAP refcount leak in llc_ui_autobind()

llc_ui_autobind() opens a SAP after choosing a dynamic LSAP.
llc_sap_open() returns a reference owned by the caller, and
llc_sap_add_socket() takes a second reference for the socket's
membership in the SAP hash tables.

llc_ui_bind() drops the caller's reference after adding the socket,
but llc_ui_autobind() keeps it. When the socket is closed,
llc_sap_remove_socket() releases only the socket reference, leaving
the SAP on llc_sap_list with sk_count == 0.

This is user-visible because repeated autobind and close cycles can consume
all dynamic SAP values and make later autobinds fail with -EUSERS.

Drop the caller's reference after a successful autobind, matching
llc_ui_bind()'s ownership model.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable@vger.kernel.org
Signed-off-by: Shuangpeng Bai <shuangpeng.kernel@gmail.com>
Link: https://patch.msgid.link/20260630194856.1036497-1-shuangpeng.kernel@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
net/llc/af_llc.c