android_kernel_samsung_msm8976/net
Andrey Konovalov e8f7d21d85 dccp: fix freeing skb too early for IPV6_RECVPKTINFO
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:

fb7e2399ec [TCP]: skb is unexpectedly freed.
0aea76d35c9651d55bbaf746e7914e5f9ae5a25d tcp: SYN packets are now
simply consumed

Change-Id: Icc1193dff1087111b24039025eca983732b55f05
Git-repo: https://source.codeaurora.org/quic/la/kernel/msm
Git-commit: 5edabca9d4cff7f1f2b68f0bac55ef99d9798ba4
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: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
2017-08-01 03:09:10 -07:00
..
9p
802
8021q
appletalk
atm
ax25
batman-adv
bluetooth BACKPORT: Bluetooth: Fix potential NULL dereference in RFCOMM bind callback 2017-01-03 21:29:42 -08:00
bridge This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
caif net/unix: sk_socket can disappear when state is unlocked 2015-09-16 18:20:18 +05:30
can can: add missing initialisations in CAN related skbuffs 2015-03-26 15:00:58 +01:00
ceph libceph: request a new osdmap if lingering request maps to no osd 2015-06-05 23:19:54 -07:00
core Merge "net: Copy ndisc_nodetype from original skb in skb_clone" 2017-07-07 09:25:07 -07:00
dcb
dccp dccp: fix freeing skb too early for IPV6_RECVPKTINFO 2017-08-01 03:09:10 -07:00
decnet
dns_resolver
dsa
ethernet
ieee802154
ipc_router net: ipc_router: Register services only on client port 2017-01-02 21:09:41 -08:00
ipv4 udp: properly support MSG_PEEK with truncated buffers 2017-04-27 23:58:25 -07:00
ipv6 ipv6: addrconf: validate new MTU before applying it 2017-06-11 22:31:53 -07:00
ipx ipx: fix locking regression in ipx_sendmsg and ipx_recvmsg 2014-12-06 15:05:47 -08:00
irda net: irda: fix wait_until_sent poll timeout 2015-03-18 13:22:31 +01:00
iucv
key
l2tp l2tp: fix racy SOCK_ZAPPED flag check in l2tp_ip{,6}_bind() 2017-03-17 05:49:00 -07:00
lapb
llc net: llc: use correct size for sysctl timeout entries 2015-04-19 10:10:50 +02:00
mac80211 This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
mac802154
netfilter usb: Avoid exposing kernel addresses 2016-12-16 00:07:44 -08:00
netlabel
netlink This is the 3.10.67 stable release 2015-04-24 18:04:40 -07:00
netrom
nfc
openvswitch
packet packet: fix race condition in packet_set_ring 2017-03-21 04:17:20 -07:00
phonet
rds This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
rfkill
rmnet_data net: rmnet_data: Fix incorrect netlink handling 2017-01-26 12:55:28 -08:00
rose
rxrpc This is the 3.10.73 stable release 2015-04-24 18:14:57 -07:00
sched This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
sctp This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
sunrpc This is the 3.10.84 stable release 2015-09-30 13:25:40 +05:30
tipc
unix af_unix: Guard against other == sk in unix_dgram_sendmsg 2016-11-19 20:15:37 -08:00
vmw_vsock
wimax
wireless cfg80211: Add support for aborting an ongoing scan 2016-10-07 12:01:24 +05:30
x25
xfrm xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder 2017-05-15 04:45:13 -07:00
Kconfig
Makefile
activity_stats.c
compat.c net: compat: Update get_compat_msghdr() to match copy_msghdr_from_user() behaviour 2015-03-26 15:00:56 +01:00
nonet.c
socket.c net: Fix use after free in the recvmmsg exit path 2016-10-15 21:51:47 -07:00
sysctl_net.c