diff options
| author | Shuangpeng Bai <shuangpeng.kernel@gmail.com> | 2026-06-30 15:48:56 -0400 |
|---|---|---|
| committer | Paolo Abeni <pabeni@redhat.com> | 2026-07-05 09:05:14 +0200 |
| commit | 660667cd406648bbaffbd5c0d897c2263a852f11 (patch) | |
| tree | e20ba381ccaa960b9e2a3f41e0e2a819d2036177 /rust/zerocopy/src/pointer | |
| parent | d6456743424721a837e1509b912f362caaeecd97 (diff) | |
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>
Diffstat (limited to 'rust/zerocopy/src/pointer')
0 files changed, 0 insertions, 0 deletions
