Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable ============================= WARNING: suspicious RCU usage 4.15.0+ #220 Not tainted ----------------------------- ./include/net/inet_sock.h:136 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by syz-executor3/5889: #0: (sk_lock-AF_INET6){+.+.}, at: [<00000000236b8d81>] lock_sock include/net/sock.h:1461 [inline] #0: (sk_lock-AF_INET6){+.+.}, at: [<00000000236b8d81>] do_ipv6_setsockopt.isra.8+0x23d/0x39d0 net/ipv6/ipv6_sockglue.c:167 stack backtrace: CPU: 0 PID: 5889 Comm: syz-executor3 Not tainted 4.15.0+ #220 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 lockdep_rcu_suspicious+0x123/0x170 kernel/locking/lockdep.c:4592 ireq_opt_deref include/net/inet_sock.h:135 [inline] inet_csk_route_req+0x824/0xca0 net/ipv4/inet_connection_sock.c:544 dccp_v4_send_response+0xa7/0x650 net/dccp/ipv4.c:485 dccp_v4_conn_request+0x9ee/0x11b0 net/dccp/ipv4.c:633 dccp_v6_conn_request+0xd30/0x1410 net/dccp/ipv6.c:317 dccp_rcv_state_process+0x574/0x1620 net/dccp/input.c:612 dccp_v4_do_rcv+0xf1/0x160 net/dccp/ipv4.c:682 dccp_v6_do_rcv+0x86a/0xa70 net/dccp/ipv6.c:578 sk_backlog_rcv include/net/sock.h:908 [inline] __release_sock+0x124/0x360 net/core/sock.c:2274 release_sock+0xa4/0x2a0 net/core/sock.c:2789 do_ipv6_setsockopt.isra.8+0x50a/0x39d0 net/ipv6/ipv6_sockglue.c:898 ipv6_setsockopt+0xd7/0x150 net/ipv6/ipv6_sockglue.c:922 dccp_setsockopt+0x85/0xd0 net/dccp/proto.c:576 sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2978 SYSC_setsockopt net/socket.c:1849 [inline] SyS_setsockopt+0x189/0x360 net/socket.c:1828 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x453299 RSP: 002b:00007f50b9cf2c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 0000000000453299 RDX: 0000000000000020 RSI: 0000000000000029 RDI: 0000000000000014 RBP: 000000000000052e R08: 0000000000000020 R09: 0000000000000000 R10: 00000000203e8fe0 R11: 0000000000000212 R12: 00000000006f6cf0 R13: 00000000ffffffff R14: 00007f50b9cf36d4 R15: 0000000000000000 ============================= WARNING: suspicious RCU usage 4.15.0+ #220 Not tainted ----------------------------- ./include/net/inet_sock.h:136 suspicious rcu_dereference_check() usage! other info that might help us debug this: Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable rcu_scheduler_active = 2, debug_locks = 1 1 lock held by syz-executor3/5889: #0: (sk_lock-AF_INET6){+.+.}, at: [<00000000236b8d81>] lock_sock include/net/sock.h:1461 [inline] #0: (sk_lock-AF_INET6){+.+.}, at: [<00000000236b8d81>] do_ipv6_setsockopt.isra.8+0x23d/0x39d0 net/ipv6/ipv6_sockglue.c:167 stack backtrace: CPU: 0 PID: 5889 Comm: syz-executor3 Not tainted 4.15.0+ #220 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 lockdep_rcu_suspicious+0x123/0x170 kernel/locking/lockdep.c:4592 ireq_opt_deref include/net/inet_sock.h:135 [inline] dccp_v4_send_response+0x4b6/0x650 net/dccp/ipv4.c:496 dccp_v4_conn_request+0x9ee/0x11b0 net/dccp/ipv4.c:633 dccp_v6_conn_request+0xd30/0x1410 net/dccp/ipv6.c:317 dccp_rcv_state_process+0x574/0x1620 net/dccp/input.c:612 dccp_v4_do_rcv+0xf1/0x160 net/dccp/ipv4.c:682 dccp_v6_do_rcv+0x86a/0xa70 net/dccp/ipv6.c:578 sk_backlog_rcv include/net/sock.h:908 [inline] __release_sock+0x124/0x360 net/core/sock.c:2274 release_sock+0xa4/0x2a0 net/core/sock.c:2789 do_ipv6_setsockopt.isra.8+0x50a/0x39d0 net/ipv6/ipv6_sockglue.c:898 ipv6_setsockopt+0xd7/0x150 net/ipv6/ipv6_sockglue.c:922 dccp_setsockopt+0x85/0xd0 net/dccp/proto.c:576 sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2978 SYSC_setsockopt net/socket.c:1849 [inline] SyS_setsockopt+0x189/0x360 net/socket.c:1828 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x453299 RSP: 002b:00007f50b9cf2c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 0000000000453299 RDX: 0000000000000020 RSI: 0000000000000029 RDI: 0000000000000014 RBP: 000000000000052e R08: 0000000000000020 R09: 0000000000000000 R10: 00000000203e8fe0 R11: 0000000000000212 R12: 00000000006f6cf0 R13: 00000000ffffffff R14: 00007f50b9cf36d4 R15: 0000000000000000 netlink: 11 bytes leftover after parsing attributes in process `syz-executor1'. netlink: 11 bytes leftover after parsing attributes in process `syz-executor1'. kernel msg: ebtables bug: please report to author: Wrong len argument SELinux: unrecognized netlink message: protocol=6 nlmsg_type=55 sclass=netlink_xfrm_socket pig=6072 comm=syz-executor5 SELinux: unrecognized netlink message: protocol=6 nlmsg_type=55 sclass=netlink_xfrm_socket pig=6072 comm=syz-executor5 kernel msg: ebtables bug: please report to author: Wrong len argument xt_CT: netfilter: NOTRACK target is deprecated, use CT instead or upgrade iptables xt_CT: No such timeout policy "syz0" xt_CT: No such timeout policy "syz0" dccp_close: ABORT with 28 bytes unread xt_CT: You must specify a L4 protocol, and not use inversions on it. netlink: 'syz-executor7': attribute type 21 has an invalid length. skbuff: bad partial csum: csum=65535/65535 len=14 netlink: 'syz-executor7': attribute type 4 has an invalid length. netlink: 11 bytes leftover after parsing attributes in process `syz-executor6'. Protocol error: SET target dimension is over the limit! Protocol error: SET target dimension is over the limit! kauditd_printk_skb: 17 callbacks suppressed audit: type=1400 audit(1517687878.343:45): avc: denied { map } for pid=6691 comm="syz-executor1" path="socket:[16100]" dev="sockfs" ino=16100 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=rawip_socket permissive=1 sctp: [Deprecated]: syz-executor5 (pid 6700) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead sctp: [Deprecated]: syz-executor5 (pid 6716) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead netlink: 4 bytes leftover after parsing attributes in process `syz-executor4'. netlink: 4 bytes leftover after parsing attributes in process `syz-executor4'. device bridge0 entered promiscuous mode device bridge0 left promiscuous mode device bridge0 entered promiscuous mode device bridge0 left promiscuous mode audit: type=1400 audit(1517687878.425:46): avc: denied { map } for pid=6724 comm="syz-executor4" path="pipe:[16705]" dev="pipefs" ino=16705 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=fifo_file permissive=1 audit: type=1400 audit(1517687878.426:47): avc: denied { execute } for pid=6724 comm="syz-executor4" path="pipe:[16705]" dev="pipefs" ino=16705 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=fifo_file permissive=1 audit: type=1400 audit(1517687878.435:48): avc: denied { create } for pid=6729 comm="syz-executor6" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_fib_lookup_socket permissive=1 audit: type=1400 audit(1517687878.437:49): avc: denied { getopt } for pid=6729 comm="syz-executor6" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_fib_lookup_socket permissive=1 audit: type=1400 audit(1517687878.444:50): avc: denied { write } for pid=6729 comm="syz-executor6" path="socket:[16123]" dev="sockfs" ino=16123 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_fib_lookup_socket permissive=1 audit: type=1400 audit(1517687878.449:51): avc: denied { ioctl } for pid=6729 comm="syz-executor6" path="socket:[16123]" dev="sockfs" ino=16123 ioctlcmd=0x7452 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_fib_lookup_socket permissive=1 audit: type=1400 audit(1517687878.765:52): avc: denied { map } for pid=6860 comm="syz-executor2" path=2F616E6F6E5F6875676570616765202864656C6574656429 dev="hugetlbfs" ino=16199 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:hugetlbfs_t:s0 tclass=file permissive=1 audit: type=1400 audit(1517687879.140:53): avc: denied { setopt } for pid=6939 comm="syz-executor2" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_generic_socket permissive=1 netlink: 'syz-executor6': attribute type 21 has an invalid length. netlink: 'syz-executor6': attribute type 6 has an invalid length. netlink: 'syz-executor6': attribute type 21 has an invalid length. netlink: 'syz-executor6': attribute type 6 has an invalid length. netlink: 'syz-executor7': attribute type 3 has an invalid length. sctp: [Deprecated]: syz-executor3 (pid 7096) Use of int in maxseg socket option. Use struct sctp_assoc_value instead syz-executor4 (7101) used greatest stack depth: 13536 bytes left netlink: 'syz-executor5': attribute type 21 has an invalid length. netlink: 'syz-executor7': attribute type 3 has an invalid length. xt_CONNSECMARK: target only valid in the 'mangle' or 'security' tables, not 'filter'. netlink: 12 bytes leftover after parsing attributes in process `syz-executor6'. netlink: 12 bytes leftover after parsing attributes in process `syz-executor6'. ipt_CLUSTERIP: Please specify destination IP ipt_CLUSTERIP: Please specify destination IP device bridge0 entered promiscuous mode device bridge0 left promiscuous mode syz-executor1: vmalloc: allocation failure: 17179082752 bytes, mode:0x14080c0(GFP_KERNEL|__GFP_ZERO), nodemask=(null) syz-executor1 cpuset=/ mems_allowed=0 CPU: 1 PID: 7293 Comm: syz-executor1 Not tainted 4.15.0+ #220 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 warn_alloc+0x19a/0x2b0 mm/page_alloc.c:3306 __vmalloc_node_range+0x4f0/0x650 mm/vmalloc.c:1775 __vmalloc_node mm/vmalloc.c:1804 [inline] __vmalloc_node_flags_caller+0x50/0x60 mm/vmalloc.c:1826 kvmalloc_node+0x82/0xd0 mm/util.c:428 kvmalloc include/linux/mm.h:541 [inline] kvmalloc_array include/linux/mm.h:557 [inline] xt_alloc_entry_offsets+0x21/0x30 net/netfilter/x_tables.c:774 translate_table+0x235/0x1690 net/ipv6/netfilter/ip6_tables.c:699 do_replace net/ipv6/netfilter/ip6_tables.c:1160 [inline] do_ip6t_set_ctl+0x370/0x5f0 net/ipv6/netfilter/ip6_tables.c:1686 nf_sockopt net/netfilter/nf_sockopt.c:106 [inline] nf_setsockopt+0x67/0xc0 net/netfilter/nf_sockopt.c:115 ipv6_setsockopt+0x115/0x150 net/ipv6/ipv6_sockglue.c:928 tcp_setsockopt+0x82/0xd0 net/ipv4/tcp.c:2905 sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2978 SYSC_setsockopt net/socket.c:1849 [inline] SyS_setsockopt+0x189/0x360 net/socket.c:1828 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x453299 RSP: 002b:00007f8355415c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 0000000000453299 RDX: 0000000000000040 RSI: 0000000000000029 RDI: 0000000000000015 RBP: 00000000000004b9 R08: 0000000000000004 R09: 0000000000000000 R10: 0000000020001fde R11: 0000000000000212 R12: 00000000006f61f8 R13: 00000000ffffffff R14: 00007f83554166d4 R15: 0000000000000000 Mem-Info: active_anon:54301 inactive_anon:63 isolated_anon:0 active_file:3445 inactive_file:8364 isolated_file:0 unevictable:0 dirty:153 writeback:0 unstable:0 slab_reclaimable:7430 slab_unreclaimable:89617 mapped:24072 shmem:70 pagetables:697 bounce:0 free:1438984 free_pcp:362 free_cma:0 Node 0 active_anon:225176kB inactive_anon:252kB active_file:13780kB inactive_file:33456kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:96288kB dirty:612kB writeback:0kB shmem:280kB shmem_thp: 0kB shmem_pmdmapped: 0kB anon_thp: 92160kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no Node 0 DMA free:15908kB min:164kB low:204kB high:244kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:15992kB managed:15908kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB lowmem_reserve[]: 0 2868 6378 6378 Node 0 DMA32 free:2939264kB min:30316kB low:37892kB high:45468kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:3129292kB managed:2939968kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:704kB local_pcp:0kB free_cma:0kB lowmem_reserve[]: 0 0 3510 3510 Node 0 Normal free:2806076kB min:37100kB low:46372kB high:55644kB active_anon:214748kB inactive_anon:252kB active_file:13780kB inactive_file:33456kB unevictable:0kB writepending:612kB present:4718592kB managed:3594332kB mlocked:0kB kernel_stack:4256kB pagetables:2492kB bounce:0kB free_pcp:1240kB local_pcp:604kB free_cma:0kB lowmem_reserve[]: 0 0 0 0 Node 0 DMA: 1*4kB (U) 0*8kB 0*16kB 1*32kB (U) 2*64kB (U) 1*128kB (U) 1*256kB (U) 0*512kB 1*1024kB (U) 1*2048kB (M) 3*4096kB (M) = 15908kB Node 0 DMA32: 2*4kB (M) 3*8kB (M) 4*16kB (M) 1*32kB (M) 0*64kB 2*128kB (M) 2*256kB (M) 3*512kB (M) 2*1024kB (M) 1*2048kB (M) 716*4096kB (M) = 2939264kB Node 0 Normal: 130*4kB (UM) 93*8kB (UM) 1058*16kB (UME) 424*32kB (UME) 129*64kB (UE) 66*128kB (UE) 18*256kB (UE) 11*512kB (UME) 71*1024kB (M) 2*2048kB (UE) 652*4096kB (M) = 2806096kB Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB 11878 total pagecache pages 0 pages in swap cache Swap cache stats: add 0, delete 0, find 0/0 Free swap = 0kB Total swap = 0kB 1965969 pages RAM 0 pages HighMem/MovableOnly 328417 pages reserved syz-executor1: vmalloc: allocation failure: 17179082752 bytes, mode:0x14080c0(GFP_KERNEL|__GFP_ZERO), nodemask=(null) syz-executor1 cpuset=/ mems_allowed=0 CPU: 0 PID: 7331 Comm: syz-executor1 Not tainted 4.15.0+ #220 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 warn_alloc+0x19a/0x2b0 mm/page_alloc.c:3306 __vmalloc_node_range+0x4f0/0x650 mm/vmalloc.c:1775 __vmalloc_node mm/vmalloc.c:1804 [inline] __vmalloc_node_flags_caller+0x50/0x60 mm/vmalloc.c:1826 kvmalloc_node+0x82/0xd0 mm/util.c:428 kvmalloc include/linux/mm.h:541 [inline] kvmalloc_array include/linux/mm.h:557 [inline] xt_alloc_entry_offsets+0x21/0x30 net/netfilter/x_tables.c:774 translate_table+0x235/0x1690 net/ipv6/netfilter/ip6_tables.c:699 do_replace net/ipv6/netfilter/ip6_tables.c:1160 [inline] do_ip6t_set_ctl+0x370/0x5f0 net/ipv6/netfilter/ip6_tables.c:1686 nf_sockopt net/netfilter/nf_sockopt.c:106 [inline] nf_setsockopt+0x67/0xc0 net/netfilter/nf_sockopt.c:115 ipv6_setsockopt+0x115/0x150 net/ipv6/ipv6_sockglue.c:928 tcp_setsockopt+0x82/0xd0 net/ipv4/tcp.c:2905 sock_common_setsockopt+0x95/0xd0 net/core/sock.c:2978 SYSC_setsockopt net/socket.c:1849 [inline] SyS_setsockopt+0x189/0x360 net/socket.c:1828 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x453299 RSP: 002b:00007f83553d3c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000036 RAX: ffffffffffffffda RBX: 000000000071c010 RCX: 0000000000453299 RDX: 0000000000000040 RSI: 0000000000000029 RDI: 0000000000000015 RBP: 00000000000005d5 R08: 0000000000000004 R09: 0000000000000000 R10: 0000000020001fde R11: 0000000000000212 R12: 00000000006f7c98 R13: 00000000ffffffff R14: 00007f83553d46d4 R15: 0000000000000018 netlink: 'syz-executor6': attribute type 3 has an invalid length. dccp_invalid_packet: invalid packet type dccp_invalid_packet: invalid packet type xt_hashlimit: overflow, try lower: 18446744073709551488/1024 TCP: request_sock_TCPv6: Possible SYN flooding on port 20030. Sending cookies. Check SNMP counters. netlink: 3 bytes leftover after parsing attributes in process `syz-executor2'. raw_sendmsg: syz-executor1 forgot to set AF_INET. Fix it! audit: type=1400 audit(1517687881.984:54): avc: denied { read } for pid=7554 comm="syz-executor2" path="socket:[17344]" dev="sockfs" ino=17344 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_crypto_socket permissive=1 netlink: 3 bytes leftover after parsing attributes in process `syz-executor2'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor6'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor6'. NFQUEUE: number of total queues is 0 NFQUEUE: number of total queues is 0 validate_nla: 1 callbacks suppressed netlink: 'syz-executor3': attribute type 16 has an invalid length. netlink: 'syz-executor3': attribute type 16 has an invalid length. A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. Cannot find add_set index 0 as target A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. Cannot find add_set index 0 as target can: request_module (can-proto-0) failed. sock: sock_set_timeout: `syz-executor5' (pid 8043) tries to set negative timeout can: request_module (can-proto-0) failed. kauditd_printk_skb: 4 callbacks suppressed audit: type=1400 audit(1517687883.827:59): avc: denied { setopt } for pid=8060 comm="syz-executor3" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_crypto_socket permissive=1 device syz1 entered promiscuous mode device syz1 left promiscuous mode