Eric Dumazet
15ed55e3b1
dccp: fool proof ccid_hc_[rt]x_parse_options()
[ Upstream commit 9b1f19d810e92d6cdc68455fbc22d9f961a58ce1 ]
Similarly to commit 276bdb82de ("dccp: check ccid before dereferencing")
it is wise to test for a NULL ccid.
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 16 Comm: ksoftirqd/1 Not tainted 5.0.0-rc3+ #37
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:ccid_hc_tx_parse_options net/dccp/ccid.h:205 [inline]
RIP: 0010:dccp_parse_options+0x8d9/0x12b0 net/dccp/options.c:233
Code: c5 0f b6 75 b3 80 38 00 0f 85 d6 08 00 00 48 b9 00 00 00 00 00 fc ff df 48 8b 45 b8 4c 8b b8 f8 07 00 00 4c 89 f8 48 c1 e8 03 <80> 3c 08 00 0f 85 95 08 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b
kobject: 'loop5' (0000000080f78fc1): kobject_uevent_env
RSP: 0018:ffff8880a94df0b8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8880858ac723 RCX: dffffc0000000000
RDX: 0000000000000100 RSI: 0000000000000007 RDI: 0000000000000001
RBP: ffff8880a94df140 R08: 0000000000000001 R09: ffff888061b83a80
R10: ffffed100c370752 R11: ffff888061b83a97 R12: 0000000000000026
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0defa33518 CR3: 000000008db5e000 CR4: 00000000001406e0
kobject: 'loop5' (0000000080f78fc1): fill_kobj_path: path = '/devices/virtual/block/loop5'
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
dccp_rcv_state_process+0x2b6/0x1af6 net/dccp/input.c:654
dccp_v4_do_rcv+0x100/0x190 net/dccp/ipv4.c:688
sk_backlog_rcv include/net/sock.h:936 [inline]
__sk_receive_skb+0x3a9/0xea0 net/core/sock.c:473
dccp_v4_rcv+0x10cb/0x1f80 net/dccp/ipv4.c:880
ip_protocol_deliver_rcu+0xb6/0xa20 net/ipv4/ip_input.c:208
ip_local_deliver_finish+0x23b/0x390 net/ipv4/ip_input.c:234
NF_HOOK include/linux/netfilter.h:289 [inline]
NF_HOOK include/linux/netfilter.h:283 [inline]
ip_local_deliver+0x1f0/0x740 net/ipv4/ip_input.c:255
dst_input include/net/dst.h:450 [inline]
ip_rcv_finish+0x1f4/0x2f0 net/ipv4/ip_input.c:414
NF_HOOK include/linux/netfilter.h:289 [inline]
NF_HOOK include/linux/netfilter.h:283 [inline]
ip_rcv+0xed/0x620 net/ipv4/ip_input.c:524
__netif_receive_skb_one_core+0x160/0x210 net/core/dev.c:4973
__netif_receive_skb+0x2c/0x1c0 net/core/dev.c:5083
process_backlog+0x206/0x750 net/core/dev.c:5923
napi_poll net/core/dev.c:6346 [inline]
net_rx_action+0x76d/0x1930 net/core/dev.c:6412
__do_softirq+0x30b/0xb11 kernel/softirq.c:292
run_ksoftirqd kernel/softirq.c:654 [inline]
run_ksoftirqd+0x8e/0x110 kernel/softirq.c:646
smpboot_thread_fn+0x6ab/0xa10 kernel/smpboot.c:164
kthread+0x357/0x430 kernel/kthread.c:246
ret_from_fork+0x3a/0x50 arch/x86/entry/entry_64.S:352
Modules linked in:
---[ end trace 58a0ba03bea2c376 ]---
RIP: 0010:ccid_hc_tx_parse_options net/dccp/ccid.h:205 [inline]
RIP: 0010:dccp_parse_options+0x8d9/0x12b0 net/dccp/options.c:233
Code: c5 0f b6 75 b3 80 38 00 0f 85 d6 08 00 00 48 b9 00 00 00 00 00 fc ff df 48 8b 45 b8 4c 8b b8 f8 07 00 00 4c 89 f8 48 c1 e8 03 <80> 3c 08 00 0f 85 95 08 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b
RSP: 0018:ffff8880a94df0b8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8880858ac723 RCX: dffffc0000000000
RDX: 0000000000000100 RSI: 0000000000000007 RDI: 0000000000000001
RBP: ffff8880a94df140 R08: 0000000000000001 R09: ffff888061b83a80
R10: ffffed100c370752 R11: ffff888061b83a97 R12: 0000000000000026
R13: 0000000000000001 R14: 0000000000000000 R15: 0000000000000000
FS: 0000000000000000(0000) GS:ffff8880ae700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f0defa33518 CR3: 0000000009871000 CR4: 00000000001406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Cc: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
2019-02-12 19:47:21 +01:00 |
| .. |
|
6lowpan
|
6lowpan: iphc: reset mac_header after decompress to fix panic
|
2018-07-06 12:32:12 +02:00 |
|
9p
|
9p/net: put a lower bound on msize
|
2019-01-13 09:51:08 +01:00 |
|
802
|
|
|
|
8021q
|
net: remove blank lines at end of file
|
2018-07-24 14:10:43 -07:00 |
|
appletalk
|
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
|
2018-06-28 10:40:47 -07:00 |
|
atm
|
Revert "net: simplify sock_poll_wait"
|
2018-11-04 14:50:51 +01:00 |
|
ax25
|
ax25: fix a use-after-free in ax25_fillin_cb()
|
2019-01-09 17:38:30 +01:00 |
|
batman-adv
|
batman-adv: Expand merged fragment buffer for full packet
|
2018-12-13 09:16:10 +01:00 |
|
bluetooth
|
Bluetooth: Fix unnecessary error message for HCI request completion
|
2019-01-26 09:32:44 +01:00 |
|
bpf
|
bpf/test_run: support cgroup local storage
|
2018-08-03 00:47:32 +02:00 |
|
bpfilter
|
net: bpfilter: use get_pid_task instead of pid_task
|
2018-10-17 22:03:40 -07:00 |
|
bridge
|
net: Fix usage of pskb_trim_rcsum
|
2019-01-31 08:14:31 +01:00 |
|
caif
|
Revert "net: simplify sock_poll_wait"
|
2018-11-04 14:50:51 +01:00 |
|
can
|
can: bcm: check timer values before ktime conversion
|
2019-01-31 08:14:39 +01:00 |
|
ceph
|
libceph: fall back to sendmsg for slab pages
|
2018-11-27 16:13:11 +01:00 |
|
core
|
net: set default network namespace in init_dummy_netdev()
|
2019-02-06 17:30:07 +01:00 |
|
dcb
|
net: dcb: Add priority-to-DSCP map getters
|
2018-07-27 13:17:50 -07:00 |
|
dccp
|
dccp: fool proof ccid_hc_[rt]x_parse_options()
|
2019-02-12 19:47:21 +01:00 |
|
decnet
|
decnet: fix using plain integer as NULL warning
|
2018-08-09 14:11:24 -07:00 |
|
dns_resolver
|
net: remove blank lines at end of file
|
2018-07-24 14:10:43 -07:00 |
|
dsa
|
net: dsa: Drop GPIO includes
|
2018-08-27 15:24:33 -07:00 |
|
ethernet
|
net: Convert GRO SKB handling to list_head.
|
2018-06-26 11:33:04 +09:00 |
|
hsr
|
|
|
|
ieee802154
|
ieee802154: lowpan_header_create check must check daddr
|
2019-01-09 17:38:31 +01:00 |
|
ife
|
|
|
|
ipv4
|
net: ip_gre: use erspan key field for tunnel lookup
|
2019-02-06 17:30:06 +01:00 |
|
ipv6
|
xfrm6_tunnel: Fix spi check in __xfrm6_tunnel_alloc_spi
|
2019-02-12 19:47:13 +01:00 |
|
iucv
|
Revert "net: simplify sock_poll_wait"
|
2018-11-04 14:50:51 +01:00 |
|
kcm
|
Revert "kcm: remove any offset before parsing messages"
|
2018-09-17 18:43:42 -07:00 |
|
key
|
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
|
2018-07-27 09:33:37 -07:00 |
|
l2tp
|
l2tp: fix reading optional fields of L2TPv3
|
2019-02-06 17:30:06 +01:00 |
|
l3mdev
|
|
|
|
lapb
|
|
|
|
llc
|
llc: do not use sk_eat_skb()
|
2018-12-01 09:37:27 +01:00 |
|
mac80211
|
mac80211: fix radiotap vendor presence bitmap handling
|
2019-02-12 19:47:13 +01:00 |
|
mac802154
|
net: mac802154: tx: expand tailroom if necessary
|
2018-08-06 11:21:37 +02:00 |
|
mpls
|
mpls: allow routes on ip6gre devices
|
2018-09-24 12:19:27 -07:00 |
|
ncsi
|
net/ncsi: Fixup .dumpit message flags and ID check in Netlink handler
|
2018-08-22 21:39:08 -07:00 |
|
netfilter
|
netfilter: ipset: Allow matching on destination MAC address for mac and ipmac sets
|
2019-01-26 09:32:33 +01:00 |
|
netlabel
|
netlabel: check for IPV4MASK in addrinfo_get
|
2018-09-21 18:58:34 -07:00 |
|
netlink
|
Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net
|
2018-08-05 13:04:31 -07:00 |
|
netrom
|
netrom: switch to sock timer API
|
2019-02-06 17:30:07 +01:00 |
|
nfc
|
Revert "net: simplify sock_poll_wait"
|
2018-11-04 14:50:51 +01:00 |
|
nsh
|
nsh: set mac len based on inner packet
|
2018-07-12 16:55:29 -07:00 |
|
openvswitch
|
openvswitch: Avoid OOB read when parsing flow nlattrs
|
2019-01-31 08:14:32 +01:00 |
|
packet
|
packet: Do not leak dev refcounts on error exit
|
2019-01-22 21:40:30 +01:00 |
|
phonet
|
Revert changes to convert to ->poll_mask() and aio IOCB_CMD_POLL
|
2018-06-28 10:40:47 -07:00 |
|
psample
|
|
|
|
qrtr
|
net: qrtr: Reset the node and port ID of broadcast messages
|
2018-07-05 20:20:03 +09:00 |
|
rds
|
rds: RDS (tcp) hangs on sendto() to unresponding address
|
2018-10-10 22:19:52 -07:00 |
|
rfkill
|
Here are quite a large number of fixes, notably:
|
2018-09-03 22:12:02 -07:00 |
|
rose
|
net/rose: fix NULL ax25_cb kernel panic
|
2019-02-06 17:30:07 +01:00 |
|
rxrpc
|
rxrpc: Fix lockup due to no error backoff after ack transmit error
|
2018-11-23 08:17:07 +01:00 |
|
sched
|
net/sched: cls_flower: allocate mask dynamically in fl_change()
|
2019-01-31 08:14:33 +01:00 |
|
sctp
|
sctp: set flow sport from saddr only when it's 0
|
2019-02-06 17:30:10 +01:00 |
|
smc
|
smc: move unhash as early as possible in smc_release()
|
2019-01-22 21:40:31 +01:00 |
|
strparser
|
strparser: remove redundant variable 'rd_desc'
|
2018-08-01 10:00:06 -07:00 |
|
sunrpc
|
sunrpc: handle ENOMEM in rpcb_getport_async
|
2019-01-22 21:40:35 +01:00 |
|
switchdev
|
|
|
|
tipc
|
tipc: fix node keep alive interval calculation
|
2019-02-12 19:47:06 +01:00 |
|
tls
|
net/tls: Init routines in create_ctx
|
2019-01-13 09:51:00 +01:00 |
|
unix
|
Revert "net: simplify sock_poll_wait"
|
2018-11-04 14:50:51 +01:00 |
|
vmw_vsock
|
VSOCK: Send reset control packet when socket is partially bound
|
2019-01-09 17:38:34 +01:00 |
|
wimax
|
wimax: remove blank lines at EOF
|
2018-07-24 14:10:42 -07:00 |
|
wireless
|
nl80211: fix memory leak if validate_pae_over_nl80211() fails
|
2019-01-13 09:51:02 +01:00 |
|
x25
|
x25: remove blank lines at EOF
|
2018-07-24 14:10:42 -07:00 |
|
xdp
|
xsk: do not call synchronize_net() under RCU read lock
|
2018-10-11 10:19:01 +02:00 |
|
xfrm
|
xfrm: Fix NULL pointer dereference in xfrm_input when skb_dst_force clears the dst_entry.
|
2019-01-13 09:50:57 +01:00 |
|
compat.c
|
sock: Make sock->sk_stamp thread-safe
|
2019-01-09 17:38:33 +01:00 |
|
Kconfig
|
net: remove blank lines at end of file
|
2018-07-24 14:10:43 -07:00 |
|
Makefile
|
bpfilter: check compiler capability in Kconfig
|
2018-06-28 13:36:39 +09:00 |
|
socket.c
|
net: socket: fix a missing-check bug
|
2018-10-18 16:43:06 -07:00 |
|
sysctl_net.c
|
|
|