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.4 07/25] dccp: fix freeing skb too early for IPV6_RECVPKTINFO
Date: Fri, 24 Feb 2017 09:25:19 +0100 [thread overview]
Message-ID: <20170224082129.178054324@linuxfoundation.org> (raw)
In-Reply-To: <20170224082128.156304123@linuxfoundation.org>
4.4-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:27 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-24 8:25 [PATCH 4.4 00/25] 4.4.52-stable review Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 01/25] rtlwifi: rtl_usb: Fix missing entry in USB drivers private data Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 02/25] rtc: interface: ignore expired timers when enqueuing new timers Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 03/25] blk-mq: really fix plug list flushing for nomerge queues Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 04/25] net/llc: avoid BUG_ON() in skb_orphan() Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 05/25] packet: fix races in fanout_add() Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 06/25] packet: Do not call fanout_release from atomic contexts Greg Kroah-Hartman
2017-02-24 8:25 ` Greg Kroah-Hartman [this message]
2017-02-24 8:25 ` [PATCH 4.4 08/25] irda: Fix lockdep annotations in hashbin_delete() Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 09/25] ip: fix IP_CHECKSUM handling Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 10/25] net: socket: fix recvmmsg not returning error from sock_error Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 11/25] tty: serial: msm: Fix module autoload Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 12/25] USB: serial: mos7840: fix another NULL-deref at open Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 13/25] USB: serial: cp210x: add new IDs for GE Bx50v3 boards Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 14/25] USB: serial: ftdi_sio: fix modem-status error handling Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 15/25] USB: serial: ftdi_sio: fix extreme low-latency setting Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 16/25] USB: serial: ftdi_sio: fix line-status over-reporting Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 17/25] USB: serial: digi_acceleport: fix OOB data sanity check Greg Kroah-Hartman
2017-02-24 13:38 ` Ben Hutchings
2017-02-24 17:33 ` Johan Hovold
2017-02-24 17:33 ` Johan Hovold
2017-02-24 17:55 ` Greg Kroah-Hartman
2017-02-24 17:55 ` Greg Kroah-Hartman
2017-02-24 18:13 ` Johan Hovold
2017-02-24 18:13 ` Johan Hovold
2017-03-13 17:14 ` Johan Hovold
2017-03-13 17:14 ` Johan Hovold
2017-03-15 7:16 ` Greg Kroah-Hartman
2017-03-15 7:16 ` Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 18/25] USB: serial: spcp8x5: fix modem-status handling Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 19/25] USB: serial: opticon: fix CTS retrieval at open Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 20/25] USB: serial: ark3116: fix register-accessor error handling Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 21/25] x86/platform/goldfish: Prevent unconditional loading Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 22/25] goldfish: Sanitize the broken interrupt handler Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 23/25] block: fix double-free in the failure path of cgwb_bdi_init() Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 24/25] rtlwifi: rtl_usb: Fix for URB leaking when doing ifconfig up/down Greg Kroah-Hartman
2017-02-24 8:25 ` [PATCH 4.4 25/25] Revert "usb: chipidea: imx: enable CI_HDRC_SET_NON_ZERO_TTHA" Greg Kroah-Hartman
2017-02-24 13:55 ` [PATCH 4.4 00/25] 4.4.52-stable review Ben Hutchings
2017-02-24 14:43 ` Greg Kroah-Hartman
2017-02-24 14:43 ` Greg Kroah-Hartman
2017-02-24 15:31 ` David Miller
2017-02-24 15:31 ` David Miller
2017-02-24 15:41 ` Greg Kroah-Hartman
2017-02-24 15:41 ` Greg Kroah-Hartman
2017-02-24 16:30 ` Ben Hutchings
2017-02-24 16:22 ` Guenter Roeck
2017-02-24 18:15 ` Shuah Khan
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=20170224082129.178054324@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.