From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Andrey Konovalov <andreyknvl@google.com>,
Eric Dumazet <edumazet@google.com>,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 4.9 09/32] dccp: fix freeing skb too early for IPV6_RECVPKTINFO
Date: Fri, 24 Feb 2017 09:37:53 +0100 [thread overview]
Message-ID: <20170224083747.717994427@linuxfoundation.org> (raw)
In-Reply-To: <20170224083746.364657938@linuxfoundation.org>
4.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andrey Konovalov <andreyknvl@google.com>
[ Upstream commit 5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4 ]
In the current DCCP implementation an skb for a DCCP_PKT_REQUEST packet
is forcibly freed via __kfree_skb in dccp_rcv_state_process if
dccp_v6_conn_request successfully returns.
However, if IPV6_RECVPKTINFO is set on a socket, the address of the skb
is saved to ireq->pktopts and the ref count for skb is incremented in
dccp_v6_conn_request, so skb is still in use. Nevertheless, it gets freed
in dccp_rcv_state_process.
Fix by calling consume_skb instead of doing goto discard and therefore
calling __kfree_skb.
Similar fixes for TCP:
fb7e2399ec17f1004c0e0ccfd17439f8759ede01 [TCP]: skb is unexpectedly freed.
0aea76d35c9651d55bbaf746e7914e5f9ae5a25d tcp: SYN packets are now
simply consumed
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/dccp/input.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/net/dccp/input.c
+++ b/net/dccp/input.c
@@ -606,7 +606,8 @@ int dccp_rcv_state_process(struct sock *
if (inet_csk(sk)->icsk_af_ops->conn_request(sk,
skb) < 0)
return 1;
- goto discard;
+ consume_skb(skb);
+ return 0;
}
if (dh->dccph_type == DCCP_PKT_RESET)
goto discard;
next prev parent reply other threads:[~2017-02-24 8:39 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-24 8:37 [PATCH 4.9 00/32] 4.9.13-stable review Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 01/32] kcm: fix 0-length case for kcm_sendmsg() Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 02/32] kcm: fix a null pointer dereference in kcm_sendmsg() Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 03/32] net/mlx5e: Disable preemption when doing TC statistics upcall Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 04/32] net/llc: avoid BUG_ON() in skb_orphan() Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 05/32] net: ethernet: ti: cpsw: fix cpsw assignment in resume Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 06/32] packet: fix races in fanout_add() Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 07/32] packet: Do not call fanout_release from atomic contexts Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 08/32] net: neigh: Fix netevent NETEVENT_DELAY_PROBE_TIME_UPDATE notification Greg Kroah-Hartman
2017-02-24 8:37 ` Greg Kroah-Hartman [this message]
2017-02-24 8:37 ` [PATCH 4.9 10/32] vxlan: fix oops in dev_fill_metadata_dst Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 11/32] irda: Fix lockdep annotations in hashbin_delete() Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 12/32] ptr_ring: fix race conditions when resizing Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 13/32] ip: fix IP_CHECKSUM handling Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 14/32] net: socket: fix recvmmsg not returning error from sock_error Greg Kroah-Hartman
2017-02-24 8:37 ` [PATCH 4.9 15/32] tty: serial: msm: Fix module autoload Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 16/32] USB: serial: mos7840: fix another NULL-deref at open Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 17/32] USB: serial: cp210x: add new IDs for GE Bx50v3 boards Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 18/32] USB: serial: ftdi_sio: fix modem-status error handling Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 19/32] USB: serial: ftdi_sio: fix extreme low-latency setting Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 20/32] USB: serial: ftdi_sio: fix line-status over-reporting Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 21/32] USB: serial: digi_acceleport: fix OOB data sanity check Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 22/32] USB: serial: spcp8x5: fix modem-status handling Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 23/32] USB: serial: opticon: fix CTS retrieval at open Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 24/32] USB: serial: ark3116: fix register-accessor error handling Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 25/32] USB: serial: console: fix uninitialised spinlock Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 26/32] x86/platform/goldfish: Prevent unconditional loading Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 27/32] goldfish: Sanitize the broken interrupt handler Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 28/32] netfilter: nf_ct_helper: warn when not applying default helper assignment Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 29/32] ACPICA: Linuxize: Restore and fix Intel compiler build Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 30/32] block: fix double-free in the failure path of cgwb_bdi_init() Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 31/32] rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down Greg Kroah-Hartman
2017-02-24 8:38 ` [PATCH 4.9 32/32] xfs: clear delalloc and cache on buffered write failure Greg Kroah-Hartman
2017-02-24 16:40 ` [PATCH 4.9 00/32] 4.9.13-stable review Guenter Roeck
2017-02-24 18:16 ` Shuah Khan
[not found] ` <58b03e91.d7052e0a.891bc.582f@mx.google.com>
[not found] ` <m2efyk39kv.fsf@baylibre.com>
2017-02-26 22:53 ` Alexandre Belloni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170224083747.717994427@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=andreyknvl@google.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.