bisecting fixing commit since 5b7a52cd2eef952cee8a72512ef370bcdef46636 building syzkaller on 4e740c00a474b578896830c7d27d90d9474364bb testing commit 5b7a52cd2eef952cee8a72512ef370bcdef46636 with gcc (GCC) 8.1.0 kernel signature: 1d05705ce0f10905068c4ae96c0c10976ca181b1fd050abbe3aea524514ced9f all runs: crashed: general protection fault in qp_release_pages testing current HEAD 0df445b0f0daa57b57571edb1386edc622938276 testing commit 0df445b0f0daa57b57571edb1386edc622938276 with gcc (GCC) 8.1.0 kernel signature: 7f10ca22daaa50184655210e9442e37e03fd20ce667825053f22e7b3a366d62d run #0: crashed: BUG: sleeping function called from invalid context in sta_info_move_state run #1: crashed: BUG: sleeping function called from invalid context in sta_info_move_state run #2: crashed: BUG: sleeping function called from invalid context in sta_info_move_state run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK reproducer seems to be flaky Reproducer flagged being flaky revisions tested: 2, total time: 30m3.466994468s (build: 16m54.731401035s, test: 12m18.621569953s) the crash still happens on HEAD commit msg: Linux 4.14.208 crash: BUG: sleeping function called from invalid context in sta_info_move_state wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 BUG: sleeping function called from invalid context at net/mac80211/sta_info.c:1844 in_atomic(): 0, irqs_disabled(): 0, pid: 2846, name: kworker/u4:4 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! 4 locks held by kworker/u4:4/2846: batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 #0: ("%s"wiphy_name(local->hw.wiphy)){+.+.}, at: [] process_one_work+0x681/0x1620 kernel/workqueue.c:2087 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! #1: ((&sdata->work)){+.+.}, at: [] process_one_work+0x6b4/0x1620 kernel/workqueue.c:2091 batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 #2: (&wdev->mtx){+.+.}, at: [] sdata_lock net/mac80211/ieee80211_i.h:986 [inline] #2: (&wdev->mtx){+.+.}, at: [] ieee80211_ibss_work+0x7c/0xcd0 net/mac80211/ibss.c:1675 batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! #3: (rcu_read_lock){....}, at: [] sta_info_insert_finish net/mac80211/sta_info.c:553 [inline] #3: (rcu_read_lock){....}, at: [] sta_info_insert_rcu+0x457/0x1d20 net/mac80211/sta_info.c:634 IPv6: ADDRCONF(NETDEV_UP): batadv_slave_1: link is not ready Preemption disabled at: [] rcu_lockdep_current_cpu_online+0x37/0x140 kernel/rcu/tree.c:1185 batman_adv: batadv0: Interface activated: batadv_slave_1 CPU: 0 PID: 2846 Comm: kworker/u4:4 Not tainted 4.14.208-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: phy8 ieee80211_iface_work Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x14b/0x1f1 lib/dump_stack.c:58 ___might_sleep.cold.19+0x1e2/0x256 kernel/sched/core.c:6042 __might_sleep+0x93/0xb0 kernel/sched/core.c:5995 sta_info_move_state+0x31/0x860 net/mac80211/sta_info.c:1844 sta_info_free+0x4e/0x310 net/mac80211/sta_info.c:260 sta_info_insert_rcu+0x211/0x1d20 net/mac80211/sta_info.c:640 ieee80211_ibss_finish_sta+0x1c4/0x280 net/mac80211/ibss.c:601 ieee80211_ibss_work+0x255/0xcd0 net/mac80211/ibss.c:1692 ieee80211_iface_work+0x4a6/0x690 net/mac80211/iface.c:1383 process_one_work+0x74f/0x1620 kernel/workqueue.c:2116 worker_thread+0xcc/0xed0 kernel/workqueue.c:2250 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 Bluetooth: hci4 command 0x0419 tx timeout Bluetooth: hci1 command 0x0419 tx timeout wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 Bluetooth: hci2 command 0x0419 tx timeout IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready Bluetooth: hci5 command 0x0419 tx timeout IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 Bluetooth: hci0 command 0x0419 tx timeout wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 Bluetooth: hci3 command 0x0419 tx timeout IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready