Eric Dumazet
68c34ce11e
inet: fully convert sk->sk_rx_dst to RCU rules
commit 8f905c0e7354ef261360fb7535ea079b1082c105 upstream.
syzbot reported various issues around early demux,
one being included in this changelog [1]
sk->sk_rx_dst is using RCU protection without clearly
documenting it.
And following sequences in tcp_v4_do_rcv()/tcp_v6_do_rcv()
are not following standard RCU rules.
[a] dst_release(dst);
[b] sk->sk_rx_dst = NULL;
They look wrong because a delete operation of RCU protected
pointer is supposed to clear the pointer before
the call_rcu()/synchronize_rcu() guarding actual memory freeing.
In some cases indeed, dst could be freed before [b] is done.
We could cheat by clearing sk_rx_dst before calling
dst_release(), but this seems the right time to stick
to standard RCU annotations and debugging facilities.
[1]
BUG: KASAN: use-after-free in dst_check include/net/dst.h:470 [inline]
BUG: KASAN: use-after-free in tcp_v4_early_demux+0x95b/0x960 net/ipv4/tcp_ipv4.c:1792
Read of size 2 at addr ffff88807f1cb73a by task syz-executor.5/9204
CPU: 0 PID: 9204 Comm: syz-executor.5 Not tainted 5.16.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106
print_address_description.constprop.0.cold+0x8d/0x320 mm/kasan/report.c:247
__kasan_report mm/kasan/report.c:433 [inline]
kasan_report.cold+0x83/0xdf mm/kasan/report.c:450
dst_check include/net/dst.h:470 [inline]
tcp_v4_early_demux+0x95b/0x960 net/ipv4/tcp_ipv4.c:1792
ip_rcv_finish_core.constprop.0+0x15de/0x1e80 net/ipv4/ip_input.c:340
ip_list_rcv_finish.constprop.0+0x1b2/0x6e0 net/ipv4/ip_input.c:583
ip_sublist_rcv net/ipv4/ip_input.c:609 [inline]
ip_list_rcv+0x34e/0x490 net/ipv4/ip_input.c:644
__netif_receive_skb_list_ptype net/core/dev.c:5508 [inline]
__netif_receive_skb_list_core+0x549/0x8e0 net/core/dev.c:5556
__netif_receive_skb_list net/core/dev.c:5608 [inline]
netif_receive_skb_list_internal+0x75e/0xd80 net/core/dev.c:5699
gro_normal_list net/core/dev.c:5853 [inline]
gro_normal_list net/core/dev.c:5849 [inline]
napi_complete_done+0x1f1/0x880 net/core/dev.c:6590
virtqueue_napi_complete drivers/net/virtio_net.c:339 [inline]
virtnet_poll+0xca2/0x11b0 drivers/net/virtio_net.c:1557
__napi_poll+0xaf/0x440 net/core/dev.c:7023
napi_poll net/core/dev.c:7090 [inline]
net_rx_action+0x801/0xb40 net/core/dev.c:7177
__do_softirq+0x29b/0x9c2 kernel/softirq.c:558
invoke_softirq kernel/softirq.c:432 [inline]
__irq_exit_rcu+0x123/0x180 kernel/softirq.c:637
irq_exit_rcu+0x5/0x20 kernel/softirq.c:649
common_interrupt+0x52/0xc0 arch/x86/kernel/irq.c:240
asm_common_interrupt+0x1e/0x40 arch/x86/include/asm/idtentry.h:629
RIP: 0033:0x7f5e972bfd57
Code: 39 d1 73 14 0f 1f 80 00 00 00 00 48 8b 50 f8 48 83 e8 08 48 39 ca 77 f3 48 39 c3 73 3e 48 89 13 48 8b 50 f8 48 89 38 49 8b 0e <48> 8b 3e 48 83 c3 08 48 83 c6 08 eb bc 48 39 d1 72 9e 48 39 d0 73
RSP: 002b:00007fff8a413210 EFLAGS: 00000283
RAX: 00007f5e97108990 RBX: 00007f5e97108338 RCX: ffffffff81d3aa45
RDX: ffffffff81d3aa45 RSI: 00007f5e97108340 RDI: ffffffff81d3aa45
RBP: 00007f5e97107eb8 R08: 00007f5e97108d88 R09: 0000000093c2e8d9
R10: 0000000000000000 R11: 0000000000000000 R12: 00007f5e97107eb0
R13: 00007f5e97108338 R14: 00007f5e97107ea8 R15: 0000000000000019
</TASK>
Allocated by task 13:
kasan_save_stack+0x1e/0x50 mm/kasan/common.c:38
kasan_set_track mm/kasan/common.c:46 [inline]
set_alloc_info mm/kasan/common.c:434 [inline]
__kasan_slab_alloc+0x90/0xc0 mm/kasan/common.c:467
kasan_slab_alloc include/linux/kasan.h:259 [inline]
slab_post_alloc_hook mm/slab.h:519 [inline]
slab_alloc_node mm/slub.c:3234 [inline]
slab_alloc mm/slub.c:3242 [inline]
kmem_cache_alloc+0x202/0x3a0 mm/slub.c:3247
dst_alloc+0x146/0x1f0 net/core/dst.c:92
rt_dst_alloc+0x73/0x430 net/ipv4/route.c:1613
ip_route_input_slow+0x1817/0x3a20 net/ipv4/route.c:2340
ip_route_input_rcu net/ipv4/route.c:2470 [inline]
ip_route_input_noref+0x116/0x2a0 net/ipv4/route.c:2415
ip_rcv_finish_core.constprop.0+0x288/0x1e80 net/ipv4/ip_input.c:354
ip_list_rcv_finish.constprop.0+0x1b2/0x6e0 net/ipv4/ip_input.c:583
ip_sublist_rcv net/ipv4/ip_input.c:609 [inline]
ip_list_rcv+0x34e/0x490 net/ipv4/ip_input.c:644
__netif_receive_skb_list_ptype net/core/dev.c:5508 [inline]
__netif_receive_skb_list_core+0x549/0x8e0 net/core/dev.c:5556
__netif_receive_skb_list net/core/dev.c:5608 [inline]
netif_receive_skb_list_internal+0x75e/0xd80 net/core/dev.c:5699
gro_normal_list net/core/dev.c:5853 [inline]
gro_normal_list net/core/dev.c:5849 [inline]
napi_complete_done+0x1f1/0x880 net/core/dev.c:6590
virtqueue_napi_complete drivers/net/virtio_net.c:339 [inline]
virtnet_poll+0xca2/0x11b0 drivers/net/virtio_net.c:1557
__napi_poll+0xaf/0x440 net/core/dev.c:7023
napi_poll net/core/dev.c:7090 [inline]
net_rx_action+0x801/0xb40 net/core/dev.c:7177
__do_softirq+0x29b/0x9c2 kernel/softirq.c:558
Freed by task 13:
kasan_save_stack+0x1e/0x50 mm/kasan/common.c:38
kasan_set_track+0x21/0x30 mm/kasan/common.c:46
kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:370
____kasan_slab_free mm/kasan/common.c:366 [inline]
____kasan_slab_free mm/kasan/common.c:328 [inline]
__kasan_slab_free+0xff/0x130 mm/kasan/common.c:374
kasan_slab_free include/linux/kasan.h:235 [inline]
slab_free_hook mm/slub.c:1723 [inline]
slab_free_freelist_hook+0x8b/0x1c0 mm/slub.c:1749
slab_free mm/slub.c:3513 [inline]
kmem_cache_free+0xbd/0x5d0 mm/slub.c:3530
dst_destroy+0x2d6/0x3f0 net/core/dst.c:127
rcu_do_batch kernel/rcu/tree.c:2506 [inline]
rcu_core+0x7ab/0x1470 kernel/rcu/tree.c:2741
__do_softirq+0x29b/0x9c2 kernel/softirq.c:558
Last potentially related work creation:
kasan_save_stack+0x1e/0x50 mm/kasan/common.c:38
__kasan_record_aux_stack+0xf5/0x120 mm/kasan/generic.c:348
__call_rcu kernel/rcu/tree.c:2985 [inline]
call_rcu+0xb1/0x740 kernel/rcu/tree.c:3065
dst_release net/core/dst.c:177 [inline]
dst_release+0x79/0xe0 net/core/dst.c:167
tcp_v4_do_rcv+0x612/0x8d0 net/ipv4/tcp_ipv4.c:1712
sk_backlog_rcv include/net/sock.h:1030 [inline]
__release_sock+0x134/0x3b0 net/core/sock.c:2768
release_sock+0x54/0x1b0 net/core/sock.c:3300
tcp_sendmsg+0x36/0x40 net/ipv4/tcp.c:1441
inet_sendmsg+0x99/0xe0 net/ipv4/af_inet.c:819
sock_sendmsg_nosec net/socket.c:704 [inline]
sock_sendmsg+0xcf/0x120 net/socket.c:724
sock_write_iter+0x289/0x3c0 net/socket.c:1057
call_write_iter include/linux/fs.h:2162 [inline]
new_sync_write+0x429/0x660 fs/read_write.c:503
vfs_write+0x7cd/0xae0 fs/read_write.c:590
ksys_write+0x1ee/0x250 fs/read_write.c:643
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
The buggy address belongs to the object at ffff88807f1cb700
which belongs to the cache ip_dst_cache of size 176
The buggy address is located 58 bytes inside of
176-byte region [ffff88807f1cb700, ffff88807f1cb7b0)
The buggy address belongs to the page:
page:ffffea0001fc72c0 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7f1cb
flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000200 dead000000000100 dead000000000122 ffff8881413bb780
raw: 0000000000000000 0000000000100010 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask 0x112a20(GFP_ATOMIC|__GFP_NOWARN|__GFP_NORETRY|__GFP_HARDWALL), pid 5, ts 108466983062, free_ts 108048976062
prep_new_page mm/page_alloc.c:2418 [inline]
get_page_from_freelist+0xa72/0x2f50 mm/page_alloc.c:4149
__alloc_pages+0x1b2/0x500 mm/page_alloc.c:5369
alloc_pages+0x1a7/0x300 mm/mempolicy.c:2191
alloc_slab_page mm/slub.c:1793 [inline]
allocate_slab mm/slub.c:1930 [inline]
new_slab+0x32d/0x4a0 mm/slub.c:1993
___slab_alloc+0x918/0xfe0 mm/slub.c:3022
__slab_alloc.constprop.0+0x4d/0xa0 mm/slub.c:3109
slab_alloc_node mm/slub.c:3200 [inline]
slab_alloc mm/slub.c:3242 [inline]
kmem_cache_alloc+0x35c/0x3a0 mm/slub.c:3247
dst_alloc+0x146/0x1f0 net/core/dst.c:92
rt_dst_alloc+0x73/0x430 net/ipv4/route.c:1613
__mkroute_output net/ipv4/route.c:2564 [inline]
ip_route_output_key_hash_rcu+0x921/0x2d00 net/ipv4/route.c:2791
ip_route_output_key_hash+0x18b/0x300 net/ipv4/route.c:2619
__ip_route_output_key include/net/route.h:126 [inline]
ip_route_output_flow+0x23/0x150 net/ipv4/route.c:2850
ip_route_output_key include/net/route.h:142 [inline]
geneve_get_v4_rt+0x3a6/0x830 drivers/net/geneve.c:809
geneve_xmit_skb drivers/net/geneve.c:899 [inline]
geneve_xmit+0xc4a/0x3540 drivers/net/geneve.c:1082
__netdev_start_xmit include/linux/netdevice.h:4994 [inline]
netdev_start_xmit include/linux/netdevice.h:5008 [inline]
xmit_one net/core/dev.c:3590 [inline]
dev_hard_start_xmit+0x1eb/0x920 net/core/dev.c:3606
__dev_queue_xmit+0x299a/0x3650 net/core/dev.c:4229
page last free stack trace:
reset_page_owner include/linux/page_owner.h:24 [inline]
free_pages_prepare mm/page_alloc.c:1338 [inline]
free_pcp_prepare+0x374/0x870 mm/page_alloc.c:1389
free_unref_page_prepare mm/page_alloc.c:3309 [inline]
free_unref_page+0x19/0x690 mm/page_alloc.c:3388
qlink_free mm/kasan/quarantine.c:146 [inline]
qlist_free_all+0x5a/0xc0 mm/kasan/quarantine.c:165
kasan_quarantine_reduce+0x180/0x200 mm/kasan/quarantine.c:272
__kasan_slab_alloc+0xa2/0xc0 mm/kasan/common.c:444
kasan_slab_alloc include/linux/kasan.h:259 [inline]
slab_post_alloc_hook mm/slab.h:519 [inline]
slab_alloc_node mm/slub.c:3234 [inline]
kmem_cache_alloc_node+0x255/0x3f0 mm/slub.c:3270
__alloc_skb+0x215/0x340 net/core/skbuff.c:414
alloc_skb include/linux/skbuff.h:1126 [inline]
alloc_skb_with_frags+0x93/0x620 net/core/skbuff.c:6078
sock_alloc_send_pskb+0x783/0x910 net/core/sock.c:2575
mld_newpack+0x1df/0x770 net/ipv6/mcast.c:1754
add_grhead+0x265/0x330 net/ipv6/mcast.c:1857
add_grec+0x1053/0x14e0 net/ipv6/mcast.c:1995
mld_send_initial_cr.part.0+0xf6/0x230 net/ipv6/mcast.c:2242
mld_send_initial_cr net/ipv6/mcast.c:1232 [inline]
mld_dad_work+0x1d3/0x690 net/ipv6/mcast.c:2268
process_one_work+0x9b2/0x1690 kernel/workqueue.c:2298
worker_thread+0x658/0x11f0 kernel/workqueue.c:2445
Memory state around the buggy address:
ffff88807f1cb600: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
ffff88807f1cb680: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc
>ffff88807f1cb700: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
^
ffff88807f1cb780: fb fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc
ffff88807f1cb800: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
Fixes: 41063e9dd1 ("ipv4: Early TCP socket demux.")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20211220143330.680945-1-eric.dumazet@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[cmllamas: backported to 4.9; dropped irrelevant hunks in ipv6/udp.c;
added rcu_access_pointer(sk->sk_rx_dst) in tcp_prequeue().]
Signed-off-by: Carlos Llamas <cmllamas@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
2022-10-26 13:15:48 +02:00 |
| .. |
|
9p
|
|
|
|
bluetooth
|
Bluetooth: L2CAP: Fix use-after-free caused by l2cap_chan_put
|
2022-08-25 11:09:20 +02:00 |
|
caif
|
net: caif: add proper error handling
|
2021-06-10 12:42:36 +02:00 |
|
irda
|
|
|
|
iucv
|
s390/iucv: do not use arrays as argument
|
2015-09-21 16:03:04 -07:00 |
|
netfilter
|
netfilter: nf_queue: fix possible use-after-free
|
2022-03-08 19:00:57 +01:00 |
|
netns
|
inet: switch IP ID generator to siphash
|
2019-08-25 10:51:42 +02:00 |
|
nfc
|
NFC: add NCI_UNREG flag to eliminate the race
|
2021-12-08 08:45:04 +01:00 |
|
phonet
|
phonet: fix building with clang
|
2019-03-23 13:19:44 +01:00 |
|
sctp
|
sctp: validate from_addr_param return
|
2021-09-26 13:36:19 +02:00 |
|
tc_act
|
net/sched: act_tunnel_key: fix NULL dereference when 'goto chain' is used
|
2018-08-24 13:12:37 +02:00 |
|
6lowpan.h
|
6lowpan: add 802.15.4 short addr slaac
|
2016-06-15 20:41:22 -07:00 |
|
act_api.h
|
net sched: fix reporting the first-time use timestamp
|
2020-06-03 08:16:25 +02:00 |
|
addrconf.h
|
ipv6: fix memory leaks on IPV6_ADDRFORM path
|
2020-08-21 11:01:55 +02:00 |
|
af_ieee802154.h
|
ieee802154: af_ieee802154: fix typo in comment.
|
2015-09-17 13:20:05 +02:00 |
|
af_rxrpc.h
|
rxrpc: Rewrite the data and ack handling code
|
2016-09-08 11:10:12 +01:00 |
|
af_unix.h
|
net: split out functions related to registering inflight socket files
|
2021-08-04 11:58:01 +02:00 |
|
af_vsock.h
|
vsock: split dwork to avoid reinitializations
|
2018-08-22 07:47:13 +02:00 |
|
ah.h
|
|
|
|
arp.h
|
ipv4: Define __ipv4_neigh_lookup_noref when CONFIG_INET is disabled
|
2019-06-11 12:22:49 +02:00 |
|
atmclip.h
|
|
|
|
ax25.h
|
ax25: fix possible use-after-free
|
2019-02-23 09:05:59 +01:00 |
|
ax88796.h
|
|
|
|
bond_3ad.h
|
bonding: 3ad: apply ad_actor settings changes immediately
|
2016-02-09 04:45:49 -05:00 |
|
bond_alb.h
|
|
|
|
bond_options.h
|
|
|
|
bonding.h
|
bonding: wait for sysfs kobject destruction before freeing struct slave
|
2020-12-11 13:37:57 +01:00 |
|
busy_poll.h
|
net: Fix a data-race around sysctl_net_busy_poll.
|
2022-09-05 10:23:55 +02:00 |
|
calipso.h
|
calipso: Add a label cache.
|
2016-06-27 15:06:17 -04:00 |
|
cfg80211-wext.h
|
|
|
|
cfg80211.h
|
mac80211: properly handle A-MSDUs that start with an RFC 1042 header
|
2021-06-03 08:23:28 +02:00 |
|
cfg802154.h
|
ieee802154: add netns support
|
2016-07-08 12:20:57 +02:00 |
|
checksum.h
|
openvswitch: Fix setting ipv6 fields causing hw csum failure
|
2022-03-02 11:32:02 +01:00 |
|
cipso_ipv4.h
|
netlabel: out of bound access in cipso_v4_validate()
|
2017-02-18 15:11:41 +01:00 |
|
cls_cgroup.h
|
cls_cgroup: get sk_classid only from full sockets
|
2016-04-19 20:09:25 -04:00 |
|
codel.h
|
codel: split into multiple files
|
2016-04-25 16:44:27 -04:00 |
|
codel_impl.h
|
codel: split into multiple files
|
2016-04-25 16:44:27 -04:00 |
|
codel_qdisc.h
|
net_sched: fq_codel: cache skb->truesize into skb->cb
|
2016-06-25 12:19:35 -04:00 |
|
compat.h
|
packet: compat support for sock_fprog
|
2016-06-09 23:41:03 -07:00 |
|
datalink.h
|
|
|
|
dcbevent.h
|
|
|
|
dcbnl.h
|
|
|
|
devlink.h
|
devlink: remove unused priv_size
|
2016-08-26 11:55:18 -07:00 |
|
dn.h
|
|
|
|
dn_dev.h
|
|
|
|
dn_fib.h
|
|
|
|
dn_neigh.h
|
netfilter: Pass net into okfn
|
2015-09-17 17:18:37 -07:00 |
|
dn_nsp.h
|
|
|
|
dn_route.h
|
|
|
|
dsa.h
|
net: dsa: add port fast ageing
|
2016-09-23 08:38:50 -04:00 |
|
dsfield.h
|
|
|
|
dst.h
|
net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
|
2020-07-22 09:10:48 +02:00 |
|
dst_cache.h
|
net: add dst_cache support
|
2016-02-16 20:21:48 -05:00 |
|
dst_metadata.h
|
net: fix a memleak when uncloning an skb dst and its metadata
|
2022-02-16 12:43:54 +01:00 |
|
dst_ops.h
|
ipv4, ipv6: Pass net into __ip_local_out and __ip6_local_out
|
2015-10-08 04:27:02 -07:00 |
|
esp.h
|
|
|
|
ethoc.h
|
net/ethoc: support big-endian register layout
|
2015-09-23 15:33:15 -07:00 |
|
fib_rules.h
|
fib: add missing attribute validation for tun_id
|
2020-03-20 09:07:39 +01:00 |
|
firewire.h
|
|
|
|
flow.h
|
net: flow: Remove FLOWI_FLAG_L3MDEV_SRC flag
|
2016-09-10 23:12:53 -07:00 |
|
flow_dissector.h
|
net: sched: correct flower port blocking
|
2020-03-11 07:53:05 +01:00 |
|
flowcache.h
|
|
|
|
fou.h
|
fou: Add encap ops for IPv6 tunnels
|
2016-05-20 18:03:16 -04:00 |
|
fq.h
|
net/flow_dissector: switch to siphash
|
2019-11-10 11:23:31 +01:00 |
|
fq_impl.h
|
net/flow_dissector: switch to siphash
|
2019-11-10 11:23:31 +01:00 |
|
garp.h
|
|
|
|
gen_stats.h
|
net: sched: do not acquire qdisc spinlock in qdisc/class stats dump
|
2016-06-07 16:37:14 -07:00 |
|
genetlink.h
|
genetlink: remove genl_bind
|
2020-07-22 09:10:48 +02:00 |
|
geneve.h
|
net: Remove deprecated tunnel specific UDP offload functions
|
2016-06-17 20:23:32 -07:00 |
|
gre.h
|
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
|
2016-08-18 01:17:32 -04:00 |
|
gro_cells.h
|
gro_cells: make sure device is up in gro_cells_receive()
|
2019-03-19 13:14:10 +01:00 |
|
gtp.h
|
gtp: #define #define _GTP_H_ and not #define _GTP_H
|
2016-07-25 17:55:43 -07:00 |
|
gue.h
|
|
|
|
hwbm.h
|
net: add a hardware buffer management helper API
|
2016-03-14 12:19:46 -04:00 |
|
icmp.h
|
net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending
|
2021-03-03 17:44:46 +01:00 |
|
ieee80211_radiotap.h
|
mac80211: add support for radiotap timestamp field
|
2016-09-12 11:45:45 +02:00 |
|
ieee802154_netdev.h
|
net: ieee802154: return -EINVAL for unknown addr type
|
2022-10-26 13:15:48 +02:00 |
|
if_inet6.h
|
IPv6: fix DESYNC_FACTOR
|
2016-10-14 10:59:15 -04:00 |
|
ila.h
|
ila: Add generic ILA translation facility
|
2015-12-15 23:25:20 -05:00 |
|
inet6_connection_sock.h
|
ipv6: remove unused in6_addr struct
|
2016-03-22 15:45:44 -04:00 |
|
inet6_hashtables.h
|
tcp/dccp: do not touch listener sk_refcnt under synflood
|
2016-04-04 22:11:20 -04:00 |
|
inet_common.h
|
ip4ip6: Support for GSO/GRO
|
2016-05-20 18:03:17 -04:00 |
|
inet_connection_sock.h
|
net: refactor bind_bucket fastreuse into helper
|
2020-09-12 11:47:38 +02:00 |
|
inet_ecn.h
|
vlan: consolidate VLAN parsing code and limit max parsing depth
|
2020-12-11 13:37:58 +01:00 |
|
inet_frag.h
|
net: IP defrag: encapsulate rbtree defrag code into callable functions
|
2019-05-02 09:32:06 +02:00 |
|
inet_hashtables.h
|
secure_seq: use the 64 bits of the siphash for port offset calculation
|
2022-06-25 11:45:19 +02:00 |
|
inet_sock.h
|
tcp/dccp: Fix a data-race around sysctl_tcp_fwmark_accept.
|
2022-07-29 17:05:45 +02:00 |
|
inet_timewait_sock.h
|
soreuseport: initialise timewait reuseport field
|
2018-05-16 10:08:41 +02:00 |
|
inetpeer.h
|
net: ipv4: use a dedicated counter for icmp_v4 redirect packets
|
2019-02-23 09:05:59 +01:00 |
|
ip.h
|
ip: Fix a data-race around sysctl_fwmark_reflect.
|
2022-07-29 17:05:45 +02:00 |
|
ip6_checksum.h
|
ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short
|
2016-03-13 23:55:13 -04:00 |
|
ip6_fib.h
|
ipv6: fix sparse warning on rt6i_node
|
2017-09-20 08:19:53 +02:00 |
|
ip6_route.h
|
net: ipv6: fix return value of ip6_skb_dst_mtu
|
2021-07-28 09:14:25 +02:00 |
|
ip6_tunnel.h
|
ip6_tunnel: allow not to count pkts on tstats by passing dev as NULL
|
2019-07-21 09:05:57 +02:00 |
|
ip_fib.h
|
net: ipv4: Fix memory leak in network namespace dismantle
|
2019-01-31 08:12:33 +01:00 |
|
ip_tunnels.h
|
ip_tunnel: add collect_md mode to IPIP tunnel
|
2016-09-17 10:13:07 -04:00 |
|
ip_vs.h
|
ipvs: move old_secure_tcp into struct netns_ipvs
|
2019-11-12 19:15:57 +01:00 |
|
ipcomp.h
|
|
|
|
ipconfig.h
|
|
|
|
ipv6.h
|
net: ipv6: add net argument to ip6_dst_lookup_flow
|
2020-05-20 08:15:30 +02:00 |
|
ipv6_frag.h
|
ip6: fix skb leak in ip6frag_expire_frag_queue()
|
2019-09-16 08:19:33 +02:00 |
|
ipx.h
|
|
|
|
iw_handler.h
|
wext: handle NULL extra data in iwe_stream_add_point better
|
2017-08-11 08:49:34 -07:00 |
|
kcm.h
|
kcm: Use stream parser
|
2016-08-17 19:36:23 -04:00 |
|
l3mdev.h
|
ipvlan, l3mdev: fix broken l3s mode wrt local routes
|
2019-02-06 17:33:27 +01:00 |
|
lapb.h
|
|
|
|
lib80211.h
|
|
|
|
llc.h
|
llc: fix out-of-bound array index in llc_sk_dev_hash()
|
2021-11-26 11:48:39 +01:00 |
|
llc_c_ac.h
|
|
|
|
llc_c_ev.h
|
|
|
|
llc_c_st.h
|
|
|
|
llc_conn.h
|
llc: fix sk_buff leak in llc_conn_service()
|
2019-11-06 12:18:24 +01:00 |
|
llc_if.h
|
|
|
|
llc_pdu.h
|
net: llc: fix skb_over_panic
|
2021-08-04 11:58:03 +02:00 |
|
llc_s_ac.h
|
|
|
|
llc_s_ev.h
|
|
|
|
llc_s_st.h
|
|
|
|
llc_sap.h
|
|
|
|
lwtunnel.h
|
lwtunnel: valid encap attr check should return 0 when lwtunnel is disabled
|
2017-02-18 15:11:42 +01:00 |
|
mac80211.h
|
mac80211: round IEEE80211_TX_STATUS_HEADROOM up to multiple of 4
|
2018-05-30 07:50:28 +02:00 |
|
mac802154.h
|
ieee802154: cleanup WARN_ON for fc fetch
|
2016-07-08 13:23:12 +02:00 |
|
mip6.h
|
|
|
|
mld.h
|
|
|
|
mpls.h
|
openvswitch: use mpls_hdr
|
2016-10-03 02:00:22 -04:00 |
|
mpls_iptunnel.h
|
mpls: multipath route support
|
2015-10-23 06:26:42 -07:00 |
|
mrp.h
|
|
|
|
ncsi.h
|
net/ncsi: Introduce ncsi_stop_dev()
|
2016-10-04 02:11:51 -04:00 |
|
ndisc.h
|
6lowpan: introduce 6lowpan-nd
|
2016-06-15 20:41:23 -07:00 |
|
neighbour.h
|
net: add annotations on hh->hh_len lockless accesses
|
2020-01-12 11:24:19 +01:00 |
|
net_namespace.h
|
netns: provide pure entropy for net_hash_mix()
|
2019-04-17 08:36:46 +02:00 |
|
net_ratelimit.h
|
|
|
|
netevent.h
|
neigh: Send a notification when DELAY_PROBE_TIME changes
|
2016-07-05 09:06:29 -07:00 |
|
netlabel.h
|
netlabel: Implement CALIPSO config functions for SMACK.
|
2016-06-27 15:06:18 -04:00 |
|
netlink.h
|
netlink: fix nla_put_{u8,u16,u32} for KASAN
|
2017-10-12 11:51:25 +02:00 |
|
netprio_cgroup.h
|
net: wrap sock->sk_cgrp_prioidx and ->sk_classid inside a struct
|
2015-12-08 22:02:33 -05:00 |
|
netrom.h
|
|
|
|
nexthop.h
|
net: fix rtnh_ok()
|
2018-05-16 10:08:41 +02:00 |
|
nl802154.h
|
net: ieee802154: handle iftypes as u32
|
2021-12-08 08:45:03 +01:00 |
|
p8022.h
|
|
|
|
ping.h
|
net: ping: make ping_v6_sendmsg static
|
2016-03-23 22:09:58 -04:00 |
|
pkt_cls.h
|
net/sched: pkt_cls: change tc actions order to be as the user sets
|
2016-09-28 05:02:44 -04:00 |
|
pkt_sched.h
|
net: sched: convert qdisc linked list to hashtable
|
2016-08-10 17:19:02 -07:00 |
|
pptp.h
|
pptp: Refactor the struct and macros of PPTP codes
|
2016-08-15 10:55:53 -07:00 |
|
protocol.h
|
udp: Remove udp_offloads
|
2016-04-07 16:53:30 -04:00 |
|
psnap.h
|
|
|
|
raw.h
|
sock: struct proto hash function may error
|
2016-02-11 03:54:14 -05:00 |
|
rawv6.h
|
|
|
|
red.h
|
sch_red: fix off-by-one checks in red_check_params()
|
2021-04-16 11:59:07 +02:00 |
|
regulatory.h
|
regulatory: add NUL to request alpha2
|
2018-05-30 07:50:30 +02:00 |
|
request_sock.h
|
inet: reqsk_alloc() needs to take care of dead listeners
|
2016-04-04 22:11:19 -04:00 |
|
rose.h
|
|
|
|
route.h
|
ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu
|
2018-05-30 07:50:36 +02:00 |
|
rtnetlink.h
|
can: dev: Move device back to init netns on owning netns delete
|
2021-03-30 14:41:42 +02:00 |
|
sch_generic.h
|
net_sched: restore "mpu xxx" handling
|
2022-01-27 08:47:42 +01:00 |
|
scm.h
|
unix: correctly track in-flight fds in sending process user_struct
|
2016-02-08 10:30:42 -05:00 |
|
secure_seq.h
|
secure_seq: use the 64 bits of the siphash for port offset calculation
|
2022-06-25 11:45:19 +02:00 |
|
slhc_vj.h
|
slip: Check if rstate is initialized before uncompressing
|
2018-04-20 08:21:07 +02:00 |
|
snmp.h
|
net: snmp: fix 64bit stats on 32bit arches
|
2016-04-28 11:49:45 -04:00 |
|
sock.h
|
inet: fully convert sk->sk_rx_dst to RCU rules
|
2022-10-26 13:15:48 +02:00 |
|
sock_reuseport.h
|
soreuseport: fix NULL ptr dereference SO_REUSEPORT after bind
|
2016-01-19 14:44:23 -05:00 |
|
Space.h
|
|
|
|
stp.h
|
|
|
|
strparser.h
|
kcm: Remove TCP specific references from kcm and strparser
|
2016-08-28 23:32:41 -04:00 |
|
switchdev.h
|
switchdev: remove FIB offload infrastructure
|
2016-09-28 04:48:00 -04:00 |
|
tcp.h
|
tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited
|
2022-10-26 13:15:40 +02:00 |
|
tcp_states.h
|
|
|
|
timewait_sock.h
|
|
|
|
transp_v6.h
|
ipv6: add new struct ipcm6_cookie
|
2016-05-03 16:08:14 -04:00 |
|
tso.h
|
net: tso: add support for IPv6
|
2015-10-26 22:24:22 -07:00 |
|
udp.h
|
udp: must lock the socket in udp_disconnect()
|
2016-10-20 14:45:52 -04:00 |
|
udp_tunnel.h
|
vxlan: Add new UDP encapsulation offload type for VXLAN-GPE
|
2016-06-17 20:23:32 -07:00 |
|
udplite.h
|
udplite: fix partial checksum initialization
|
2018-03-11 16:21:32 +01:00 |
|
vsock_addr.h
|
|
|
|
vxlan.h
|
vxlan: fix hlist corruption
|
2017-07-21 07:42:18 +02:00 |
|
wext.h
|
|
|
|
wimax.h
|
|
|
|
x25.h
|
net: x25: fix one potential use-after-free issue
|
2018-04-13 19:48:00 +02:00 |
|
x25device.h
|
|
|
|
xfrm.h
|
xfrm: policy: match with both mark and mask on user interfaces
|
2022-04-20 09:06:44 +02:00 |