diff options
author | Eric Biggers <ebiggers@google.com> | 2019-10-06 23:24:26 +0200 |
---|---|---|
committer | Jakub Kicinski <jakub.kicinski@netronome.com> | 2019-10-08 22:23:05 +0200 |
commit | fc8d5db10cbe1338a52ebc74e7feab9276721774 (patch) | |
tree | e86c4bac21ea8bd46b6bcc73db671e8fcfed9681 /net/llc/llc_conn.c | |
parent | llc: fix sk_buff leak in llc_conn_service() (diff) | |
download | linux-fc8d5db10cbe1338a52ebc74e7feab9276721774.tar.xz linux-fc8d5db10cbe1338a52ebc74e7feab9276721774.zip |
llc: fix another potential sk_buff leak in llc_ui_sendmsg()
All callers of llc_conn_state_process() except llc_build_and_send_pkt()
(via llc_ui_sendmsg() -> llc_ui_send_data()) assume that it always
consumes a reference to the skb. Fix this caller to do the same.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Diffstat (limited to 'net/llc/llc_conn.c')
-rw-r--r-- | net/llc/llc_conn.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c index ed2aca12460c..0b0c6f12153b 100644 --- a/net/llc/llc_conn.c +++ b/net/llc/llc_conn.c @@ -55,6 +55,8 @@ int sysctl_llc2_busy_timeout = LLC2_BUSY_TIME * HZ; * (executing it's actions and changing state), upper layer will be * indicated or confirmed, if needed. Returns 0 for success, 1 for * failure. The socket lock has to be held before calling this function. + * + * This function always consumes a reference to the skb. */ int llc_conn_state_process(struct sock *sk, struct sk_buff *skb) { |