============================= BUG: sleeping function called from invalid context at mm/slab.h:420 WARNING: suspicious RCU usage 4.16.0-rc1+ #229 Not tainted ----------------------------- ./include/linux/rcupdate.h:302 Illegal context switch in RCU read-side critical section! other info that might help us debug this: in_atomic(): 1, irqs_disabled(): 0, pid: 17808, name: syz-executor7 1 lock held by syz-executor7/17808: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by syz-executor7/17813: #0: #0: (rcu_read_lock (rcu_read_lock){....}, at: [<00000000f0a26f67>] __rds_conn_create+0xe46/0x1b50 net/rds/connection.c:218 ){....} stack backtrace: , at: [<00000000f0a26f67>] __rds_conn_create+0xe46/0x1b50 net/rds/connection.c:218 CPU: 1 PID: 17808 Comm: syz-executor7 Not tainted 4.16.0-rc1+ #229 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 ___might_sleep+0x2b2/0x470 kernel/sched/core.c:6133 __might_sleep+0x95/0x190 kernel/sched/core.c:6086 slab_pre_alloc_hook mm/slab.h:420 [inline] slab_alloc mm/slab.c:3365 [inline] kmem_cache_alloc_trace+0x299/0x740 mm/slab.c:3605 kmalloc include/linux/slab.h:512 [inline] kzalloc include/linux/slab.h:701 [inline] rds_loop_conn_alloc+0xc8/0x380 net/rds/loop.c:126 __rds_conn_create+0x112f/0x1b50 net/rds/connection.c:227 rds_conn_create_outgoing+0x3f/0x50 net/rds/connection.c:309 rds_sendmsg+0xda3/0x2390 net/rds/send.c:1126 sock_sendmsg_nosec net/socket.c:630 [inline] sock_sendmsg+0xca/0x110 net/socket.c:640 SYSC_sendto+0x361/0x5c0 net/socket.c:1747 SyS_sendto+0x40/0x50 net/socket.c:1715 do_syscall_32_irqs_on arch/x86/entry/common.c:330 [inline] do_fast_syscall_32+0x3ec/0xf9f arch/x86/entry/common.c:392 entry_SYSENTER_compat+0x70/0x7f arch/x86/entry/entry_64_compat.S:139 RIP: 0023:0xf7f79c79 RSP: 002b:00000000f775409c EFLAGS: 00000286 ORIG_RAX: 0000000000000171 RAX: ffffffffffffffda RBX: 0000000000000013 RCX: 0000000020218000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020062000 RBP: 0000000000000010 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 CPU: 0 PID: 17813 Comm: syz-executor7 Not tainted 4.16.0-rc1+ #229 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 rcu_preempt_sleep_check include/linux/rcupdate.h:301 [inline] ___might_sleep+0x385/0x470 kernel/sched/core.c:6098 __might_sleep+0x95/0x190 kernel/sched/core.c:6086 slab_pre_alloc_hook mm/slab.h:420 [inline] slab_alloc mm/slab.c:3365 [inline] kmem_cache_alloc_trace+0x299/0x740 mm/slab.c:3605 kmalloc include/linux/slab.h:512 [inline] kzalloc include/linux/slab.h:701 [inline] rds_loop_conn_alloc+0xc8/0x380 net/rds/loop.c:126 __rds_conn_create+0x112f/0x1b50 net/rds/connection.c:227 rds_conn_create_outgoing+0x3f/0x50 net/rds/connection.c:309 rds_sendmsg+0xda3/0x2390 net/rds/send.c:1126 sock_sendmsg_nosec net/socket.c:630 [inline] sock_sendmsg+0xca/0x110 net/socket.c:640 SYSC_sendto+0x361/0x5c0 net/socket.c:1747 SyS_sendto+0x40/0x50 net/socket.c:1715 do_syscall_32_irqs_on arch/x86/entry/common.c:330 [inline] do_fast_syscall_32+0x3ec/0xf9f arch/x86/entry/common.c:392 entry_SYSENTER_compat+0x70/0x7f arch/x86/entry/entry_64_compat.S:139 RIP: 0023:0xf7f79c79 RSP: 002b:00000000f773309c EFLAGS: 00000286 ORIG_RAX: 0000000000000171 RAX: ffffffffffffffda RBX: 0000000000000013 RCX: 0000000020049000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 000000002069affb RBP: 0000000000000010 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 binder: 17890 RLIMIT_NICE not set binder: 17890 RLIMIT_NICE not set binder: BINDER_SET_CONTEXT_MGR already set binder: 17880:17901 ioctl 40046207 0 returned -16 binder: 17890 RLIMIT_NICE not set binder: release 17880:17890 transaction 63 in, still active binder: send failed reply for transaction 63 to 17880:17901 binder: undelivered TRANSACTION_COMPLETE binder: undelivered TRANSACTION_ERROR: 29189 QAT: Invalid ioctl QAT: Invalid ioctl QAT: Invalid ioctl QAT: Invalid ioctl netlink: 'syz-executor1': attribute type 1 has an invalid length. QAT: Invalid ioctl netlink: 'syz-executor1': attribute type 1 has an invalid length. QAT: Invalid ioctl binder_alloc: binder_alloc_mmap_handler: 17992 20000000-20002000 already mapped failed -16 9pnet_virtio: no channels available for device ./file0 netlink: 'syz-executor5': attribute type 3 has an invalid length. 9pnet_virtio: no channels available for device ./file0 syz6: Invalid MTU 2147483647 requested, hw max 65521 syz6: Invalid MTU 2147483647 requested, hw max 65521 netlink: 'syz-executor2': attribute type 1 has an invalid length. sctp: [Deprecated]: syz-executor1 (pid 18320) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead sctp: [Deprecated]: syz-executor1 (pid 18320) Use of struct sctp_assoc_value in delayed_ack socket option. Use struct sctp_sack_info instead ipt_rpfilter: unknown options encountered QAT: Invalid ioctl ipt_rpfilter: unknown options encountered QAT: Invalid ioctl netlink: 'syz-executor5': attribute type 16 has an invalid length. netlink: 'syz-executor5': attribute type 16 has an invalid length. binder: 18409:18411 Release 1 refcount change on invalid ref 0 ret -22 device eql entered promiscuous mode audit: type=1400 audit(1519038750.314:78): avc: denied { bind } for pid=18640 comm="syz-executor4" scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=netlink_netfilter_socket permissive=1 netlink: 3 bytes leftover after parsing attributes in process `syz-executor3'. netlink: 3 bytes leftover after parsing attributes in process `syz-executor3'. netlink: 3 bytes leftover after parsing attributes in process `syz-executor3'. SELinux: unrecognized netlink message: protocol=0 nlmsg_type=1025 sclass=netlink_route_socket pig=18764 comm=syz-executor3 binder: 18782:18788 BC_INCREFS_DONE node 66 has no pending increfs request binder: BINDER_SET_CONTEXT_MGR already set binder: 18782:18797 ioctl 40046207 0 returned -16 insert transport fail, errno -17 IPVS: length: 24 != 8 IPVS: ftp: loaded support on port[0] = 21 device syz6 entered promiscuous mode device syz6 left promiscuous mode