ci2 starts bisection 2024-12-31 22:50:07.631692869 +0000 UTC m=+479229.366801956 bisecting fixing commit since 3a5928702e7120f83f703fd566082bfb59f1a57e building syzkaller on 402f1df054ddb07ed5bb299d08c781354eb06607 ensuring issue is reproducible on original commit 3a5928702e7120f83f703fd566082bfb59f1a57e testing commit 3a5928702e7120f83f703fd566082bfb59f1a57e gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 79721a3a87bc683fe023875b9c43376ce3d53c9a6f3cf3e87a537247c5f6375e all runs: crashed: possible deadlock in __loop_clr_fd representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] check whether we can drop unnecessary instrumentation disabling configs for [LEAK UBSAN BUG KASAN ATOMIC_SLEEP HANG], they are not needed testing commit 3a5928702e7120f83f703fd566082bfb59f1a57e gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6a5c2e9c9fc6d036f979c5106b06adc4f53b8d7c96d217ab52cef52a5887a9b4 all runs: crashed: possible deadlock in __loop_clr_fd representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] the bug reproduces without the instrumentation disabling configs for [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed kconfig minimization: base=3706 full=7299 leaves diff=2036 split chunks (needed=false): <2036> split chunk #0 of len 2036 into 5 parts testing without sub-chunk 1/5 disabling configs for [KASAN ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed testing commit 3a5928702e7120f83f703fd566082bfb59f1a57e gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 498ba7e2d82b91855a82180924ea22f16b98a2c547b3b43f50af44aa61b55766 run #0: crashed: possible deadlock in __loop_clr_fd run #1: crashed: possible deadlock in __loop_clr_fd run #2: crashed: possible deadlock in __loop_clr_fd run #3: crashed: possible deadlock in __loop_clr_fd run #4: crashed: possible deadlock in __loop_clr_fd run #5: crashed: possible deadlock in __loop_clr_fd run #6: crashed: possible deadlock in __loop_clr_fd run #7: crashed: possible deadlock in __loop_clr_fd run #8: crashed: possible deadlock in blkdev_get_by_dev run #9: OK representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 3a5928702e7120f83f703fd566082bfb59f1a57e gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7cb30261237ef4c1e31e2b78332e913c88b241663ef57733db5b3e57ca19ecc4 all runs: crashed: possible deadlock in __loop_clr_fd representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed testing commit 3a5928702e7120f83f703fd566082bfb59f1a57e gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4f5caf8c0160673ba577ce10af7ad382bd84035b49444114c30a576782716a4c run #0: crashed: possible deadlock in __loop_clr_fd run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] unable to determine the verdict: 9 good runs (wanted 5), for bad wanted 5 in total, got 10 testing without sub-chunk 4/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 3a5928702e7120f83f703fd566082bfb59f1a57e gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 218a1c4a7441a099ef2d57c95f4fe147e6dc34b6ecbb21b3bbcbd41fef34d67d all runs: crashed: possible deadlock in __loop_clr_fd representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 3a5928702e7120f83f703fd566082bfb59f1a57e gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4f7d4bc8b99508887973e868d51202084d63b2f2c5466e7575119ef0f63b76c7 all runs: crashed: possible deadlock in __loop_clr_fd representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] the chunk can be dropped minimized to 408 configs; suspects: [AX25 BRIDGE BRIDGE_NETFILTER CAN CFG80211 CHECKPOINT_RESTORE DVB_CORE FB FSCACHE HAMRADIO HSR INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_USER_ACCESS INPUT_JOYSTICK INPUT_MOUSE IP6_NF_RAW IPV6_MULTIPLE_TABLES IP_NF_RAW IP_SET IP_VS IR_TOY IR_TTUSBIR ISDN ISDN_CAPI_MIDDLEWARE JFFS2_CMODE_PRIORITY JFFS2_COMPRESSION_OPTIONS JFFS2_FS JFFS2_FS_POSIX_ACL JFFS2_FS_SECURITY JFFS2_FS_WRITEBUFFER JFFS2_FS_XATTR JFFS2_LZO JFFS2_RTIME JFFS2_RUBIN JFFS2_SUMMARY JFFS2_ZLIB JFS_DEBUG JFS_FS JFS_POSIX_ACL JFS_SECURITY JOYSTICK_IFORCE JOYSTICK_IFORCE_USB JOYSTICK_PXRC JOYSTICK_XPAD JOYSTICK_XPAD_FF JOYSTICK_XPAD_LEDS KARMA_PARTITION KCOV KCOV_ENABLE_COMPARISONS KCOV_INSTRUMENT_ALL KEYS_REQUEST_CACHE KEY_DH_OPERATIONS KEY_NOTIFICATIONS KSM KVM KVM_AMD KVM_ASYNC_PF KVM_COMPAT KVM_GENERIC_DIRTYLOG_READ_PROTECT KVM_INTEL KVM_MMIO KVM_VFIO KVM_XEN KVM_XFER_TO_GUEST_WORK L2TP L2TP_ETH L2TP_IP L2TP_V3 LAPB LAPBETHER LDM_PARTITION LEDS_TRIGGER_AUDIO LEGACY_PTYS LIBNVDIMM LINEAR_RANGES LLC LLC2 LOGIG940_FF LOGIRUMBLEPAD2_FF LOGO LOGO_LINUX_MONO LOGO_LINUX_VGA16 LPC_ICH LWTUNNEL LWTUNNEL_BPF LZ4HC_COMPRESS LZ4_COMPRESS MAC80211 MAC80211_DEBUGFS MAC80211_HAS_RC MAC80211_HWSIM MAC80211_MESH MAC80211_RC_DEFAULT_MINSTREL MAC80211_RC_MINSTREL MACSEC MACVLAN MACVTAP MAC_PARTITION MAPPING_DIRTY_HELPERS MDIO_MVUSB MD_LINEAR MD_MULTIPATH MD_RAID0 MD_RAID1 MD_RAID10 MD_RAID456 MEDIA_ANALOG_TV_SUPPORT MEDIA_ATTACH MEDIA_CONTROLLER MEDIA_CONTROLLER_DVB MEDIA_CONTROLLER_REQUEST_API MEDIA_DIGITAL_TV_SUPPORT MEDIA_RADIO_SUPPORT MEDIA_SDR_SUPPORT MEDIA_SUPPORT MEDIA_SUPPORT_FILTER MEDIA_TUNER MEDIA_TUNER_MSI001 MEDIA_TUNER_XC2028 MEDIA_TUNER_XC5000 MEMORY_BALLOON MEMORY_HOTPLUG MEMORY_HOTPLUG_DEFAULT_ONLINE MEMORY_ISOLATION MEMREGION MEMSTICK MEMSTICK_REALTEK_USB MEM_SOFT_DIRTY MFD_CORE MFD_SYSCON MHI_BUS MHI_WWAN_CTRL MHP_MEMMAP_ON_MEMORY MICROCHIP_PHY MINIX_FS MINIX_SUBPARTITION MISC_RTSX MISC_RTSX_USB MISDN MISDN_DSP MISDN_HFCUSB MISDN_L1OIP MKISS MLX4_CORE MLX4_INFINIBAND MMC MMC_REALTEK_USB MMC_USHC MMC_VUB300 MMU_NOTIFIER MODULE_SRCVERSION_ALL MODVERSIONS MOST MOST_USB_HDM MOUSE_APPLETOUCH MOUSE_BCM5974 MOUSE_PS2 MOUSE_PS2_ALPS MOUSE_PS2_BYD MOUSE_PS2_CYPRESS MOUSE_PS2_FOCALTECH MOUSE_PS2_LIFEBOOK MOUSE_PS2_LOGIPS2PP MOUSE_PS2_SMBUS MOUSE_PS2_SYNAPTICS MOUSE_PS2_SYNAPTICS_SMBUS MOUSE_PS2_TRACKPOINT MOUSE_SYNAPTICS_USB MPLS MPLS_IPTUNNEL MPLS_ROUTING MPTCP MPTCP_IPV6 MRP MTD MTD_BLKDEVS MTD_BLOCK MTD_BLOCK2MTD MTD_CFI_I1 MTD_CFI_I2 MTD_MAP_BANK_WIDTH_1 MTD_MAP_BANK_WIDTH_2 MTD_MAP_BANK_WIDTH_4 MTD_MTDRAM MTD_PHRAM MTD_SLRAM MUSB_PIO_ONLY ND_BLK ND_BTT ND_CLAIM ND_PFN NETDEVSIM NETFILTER_ADVANCED NETFILTER_FAMILY_ARP NETFILTER_FAMILY_BRIDGE NETFILTER_NETLINK_ACCT NETFILTER_NETLINK_GLUE_CT NETFILTER_NETLINK_OSF NETFILTER_NETLINK_QUEUE NETFILTER_SYNPROXY NETFILTER_XT_CONNMARK NETFILTER_XT_MATCH_BPF NETFILTER_XT_MATCH_CGROUP NETFILTER_XT_MATCH_CLUSTER NETFILTER_XT_MATCH_COMMENT NETFILTER_XT_MATCH_CONNBYTES NETFILTER_XT_MATCH_CONNLABEL NETFILTER_XT_MATCH_CONNLIMIT NETFILTER_XT_MATCH_CONNMARK NETFILTER_XT_MATCH_CPU NETFILTER_XT_MATCH_DCCP NETFILTER_XT_MATCH_DEVGROUP NETFILTER_XT_MATCH_DSCP NETFILTER_XT_MATCH_ECN NETFILTER_XT_MATCH_ESP NETFILTER_XT_MATCH_HASHLIMIT NETFILTER_XT_MATCH_HELPER NETFILTER_XT_MATCH_HL NETFILTER_XT_MATCH_IPCOMP NETFILTER_XT_MATCH_IPRANGE NETFILTER_XT_MATCH_IPVS NETFILTER_XT_MATCH_L2TP NETFILTER_XT_MATCH_LENGTH NETFILTER_XT_MATCH_LIMIT NETFILTER_XT_MATCH_MAC NETFILTER_XT_MATCH_MARK NETFILTER_XT_MATCH_MULTIPORT NETFILTER_XT_MATCH_NFACCT NETFILTER_XT_MATCH_OSF NETFILTER_XT_MATCH_OWNER NETFILTER_XT_MATCH_PHYSDEV NETFILTER_XT_MATCH_PKTTYPE NETFILTER_XT_MATCH_QUOTA NETFILTER_XT_MATCH_RATEEST NETFILTER_XT_MATCH_REALM NETFILTER_XT_MATCH_RECENT NETFILTER_XT_MATCH_SCTP NETFILTER_XT_MATCH_SOCKET NETFILTER_XT_MATCH_STATISTIC NETFILTER_XT_MATCH_STRING NETFILTER_XT_MATCH_TCPMSS NETFILTER_XT_MATCH_TIME NETFILTER_XT_MATCH_U32 NETFILTER_XT_SET NETFILTER_XT_TARGET_AUDIT NETFILTER_XT_TARGET_CHECKSUM NETFILTER_XT_TARGET_CLASSIFY NETFILTER_XT_TARGET_CONNMARK NETFILTER_XT_TARGET_CT NETFILTER_XT_TARGET_DSCP NETFILTER_XT_TARGET_HL NETFILTER_XT_TARGET_HMARK NETFILTER_XT_TARGET_IDLETIMER NETFILTER_XT_TARGET_LED NETFILTER_XT_TARGET_MARK NETFILTER_XT_TARGET_NETMAP NETFILTER_XT_TARGET_NFQUEUE NETFILTER_XT_TARGET_NOTRACK NETFILTER_XT_TARGET_RATEEST NETFILTER_XT_TARGET_REDIRECT NETFILTER_XT_TARGET_TCPOPTSTRIP NETFILTER_XT_TARGET_TEE NETFILTER_XT_TARGET_TPROXY NETFILTER_XT_TARGET_TRACE NETFS_SUPPORT NETLABEL NETLINK_DIAG NETROM NET_9P_RDMA NET_ACT_BPF NET_ACT_CONNMARK NET_ACT_CSUM NET_ACT_CT NET_ACT_CTINFO NET_ACT_GATE NET_ACT_IFE NET_ACT_IPT NET_ACT_MPLS NET_ACT_NAT NET_ACT_PEDIT NET_ACT_POLICE NET_ACT_SAMPLE NET_ACT_SIMP NET_ACT_SKBEDIT NET_ACT_SKBMOD NET_ACT_TUNNEL_KEY NET_ACT_VLAN NET_CLS_BASIC NET_CLS_BPF NET_CLS_CGROUP NET_CLS_FLOW NET_CLS_FLOWER NET_CLS_FW NET_CLS_MATCHALL NET_CLS_ROUTE4 NET_DEVLINK NET_DROP_MONITOR NET_DSA NET_DSA_TAG_BRCM NET_DSA_TAG_BRCM_COMMON NET_DSA_TAG_BRCM_PREPEND NET_DSA_TAG_MTK NET_DSA_TAG_QCA NET_DSA_TAG_RTL4_A NET_EGRESS NET_EMATCH_CANID NET_EMATCH_CMP NET_EMATCH_IPSET NET_EMATCH_IPT NET_EMATCH_META NET_EMATCH_NBYTE NET_EMATCH_TEXT NET_EMATCH_U32 NET_FC NET_FOU NET_FOU_IP_TUNNELS NET_IFE NET_IFE_SKBMARK NET_IFE_SKBPRIO NET_IFE_SKBTCINDEX NET_IPGRE NET_IPGRE_BROADCAST NET_IPGRE_DEMUX NET_IPIP NET_IPVTI NET_KEY NET_KEY_MIGRATE NET_L3_MASTER_DEV NET_MPLS_GSO NET_NCSI NET_NSH NET_REDIRECT NET_SCH_CAKE NET_SCH_CBS NET_SCH_CHOKE NET_SCH_CODEL NET_SCH_DRR NET_SCH_ETF NET_SCH_ETS NET_SCH_FQ NET_SCH_FQ_CODEL NET_SCH_FQ_PIE NET_SCH_GRED NET_SCH_HFSC NET_SCH_HHF NET_SCH_HTB NET_SCH_INGRESS NET_SCH_MQPRIO NET_SCH_MULTIQ NET_SCH_NETEM NET_SCH_PIE NET_SCH_PLUG NET_SCH_PRIO NET_SCH_QFQ NET_SCH_RED NET_SCH_SFB NET_SCH_SFQ NET_SCH_SKBPRIO NET_SCH_TAPRIO NET_SCH_TBF NET_SCH_TEQL NET_SOCK_MSG NET_SWITCHDEV NET_TC_SKB_EXT NET_TEAM NET_TEAM_MODE_ACTIVEBACKUP NET_TEAM_MODE_BROADCAST NET_TEAM_MODE_LOADBALANCE NET_TEAM_MODE_RANDOM NET_TEAM_MODE_ROUNDROBIN NET_UDP_TUNNEL NET_VRF NFC NFC_DIGITAL NFC_FDP NFC_HCI NFC_MRVL NFC_MRVL_USB NFC_NCI NFC_NCI_UART NFC_PN533 NFC_PN533_USB NFC_PORT100 NFC_SHDLC NFC_SIM NFC_VIRTUAL_NCI NFSD NFSD_BLOCKLAYOUT NFSD_FLEXFILELAYOUT NFSD_PNFS NFSD_SCSILAYOUT NFSD_V3_ACL NFSD_V4 NFSD_V4_2_INTER_SSC NFSD_V4_SECURITY_LABEL NFS_FSCACHE NFS_V4_1 NFS_V4_2 NFS_V4_2_READ_PLUS NFS_V4_2_SSC_HELPER NFS_V4_SECURITY_LABEL NFT_BRIDGE_META NFT_BRIDGE_REJECT NFT_COMPAT NFT_CONNLIMIT NFT_COUNTER NFT_CT NFT_DUP_IPV4 NFT_DUP_IPV6 NFT_DUP_NETDEV NFT_FIB NFT_FIB_INET NFT_FIB_IPV4 NFT_FIB_IPV6 NFT_FIB_NETDEV NFT_FLOW_OFFLOAD NFT_HASH NFT_LIMIT NFT_LOG NFT_MASQ NFT_NAT NFT_NUMGEN NFT_OBJREF NFT_OSF NFT_QUEUE NFT_QUOTA NFT_REDIR NFT_REJECT NFT_REJECT_INET NFT_REJECT_IPV4 NFT_REJECT_IPV6 NFT_REJECT_NETDEV NFT_SOCKET NFT_SYNPROXY NFT_TPROXY NFT_TUNNEL NFT_XFRM NF_CONNTRACK_AMANDA NF_CONNTRACK_BRIDGE NF_CONNTRACK_BROADCAST NF_CONNTRACK_EVENTS NF_CONNTRACK_H323 NF_CONNTRACK_LABELS NF_CONNTRACK_MARK NF_CONNTRACK_NETBIOS_NS NF_CONNTRACK_PPTP NF_CONNTRACK_SANE NF_CONNTRACK_SNMP NF_CONNTRACK_TFTP NF_CONNTRACK_TIMEOUT NF_CONNTRACK_TIMESTAMP NF_CONNTRACK_ZONES NF_CT_NETLINK_HELPER NF_CT_NETLINK_TIMEOUT NF_CT_PROTO_DCCP NF_CT_PROTO_GRE NF_CT_PROTO_SCTP NF_CT_PROTO_UDPLITE NF_DUP_IPV4 NF_DUP_IPV6 NF_DUP_NETDEV NF_FLOW_TABLE NF_FLOW_TABLE_INET NF_FLOW_TABLE_IPV4 NF_FLOW_TABLE_IPV6 NF_NAT_AMANDA NF_NAT_H323 NF_NAT_PPTP NF_NAT_REDIRECT NF_NAT_SNMP_BASIC NF_NAT_TFTP NF_SOCKET_IPV4 NF_SOCKET_IPV6 NF_TABLES NF_TABLES_ARP NF_TABLES_BRIDGE NF_TABLES_INET NF_TABLES_IPV4 NF_TABLES_IPV6 NF_TABLES_NETDEV NF_TPROXY_IPV4 NF_TPROXY_IPV6 NILFS2_FS NLMON NLS_CODEPAGE_1250 NLS_CODEPAGE_1251 NLS_CODEPAGE_737 NLS_CODEPAGE_775 NLS_CODEPAGE_850 NLS_CODEPAGE_852 NLS_CODEPAGE_855 NLS_CODEPAGE_857 NLS_CODEPAGE_860 NLS_CODEPAGE_861 NLS_CODEPAGE_862 NLS_CODEPAGE_863 NLS_CODEPAGE_864 NLS_CODEPAGE_865 NLS_CODEPAGE_866 PARTITION_ADVANCED PSAMPLE RC_CORE RC_DEVICES RFKILL SPI USB_GADGET USB_MUSB_HDRC VIDEO_DEV VIDEO_V4L2 WAN WATCH_QUEUE WIRELESS WLAN WWAN X25 X86_X32] disabling configs for [UBSAN BUG KASAN ATOMIC_SLEEP HANG LEAK], they are not needed testing current HEAD 91786f140358b1e56efdb0feccb337ce3a59c031 testing commit 91786f140358b1e56efdb0feccb337ce3a59c031 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 46ce0beaf4d22411ad06bd9171f0550c16d0fc573481d0d40af45b2d5c22e003 all runs: crashed: possible deadlock in __loop_clr_fd representative crash: possible deadlock in __loop_clr_fd, types: [LOCKDEP] crash still not fixed/happens on the oldest tested release revisions tested: 8, total time: 2h48m46.154342068s (build: 1h18m18.469940602s, test: 1h27m44.7182087s) crash still not fixed or there were kernel test errors commit msg: Linux 5.15.175 crash: possible deadlock in __loop_clr_fd ====================================================== WARNING: possible circular locking dependency detected 5.15.175-syzkaller #0 Not tainted ------------------------------------------------------ udevd/3564 is trying to acquire lock: ffff88811b528d38 ((wq_completion)loop0){+.+.}-{0:0}, at: flush_workqueue+0x86/0x6b0 kernel/workqueue.c:2827 but task is already holding lock: ffff88810a1a7468 (&lo->lo_mutex){+.+.}-{3:3}, at: __loop_clr_fd+0x60/0x8c0 drivers/block/loop.c:1365 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #7 (&lo->lo_mutex){+.+.}-{3:3}: __mutex_lock_common kernel/locking/mutex.c:596 [inline] __mutex_lock+0x60/0x660 kernel/locking/mutex.c:729 lo_open+0x2e/0x90 drivers/block/loop.c:2055 blkdev_get_whole+0x36/0x110 block/bdev.c:669 blkdev_get_by_dev+0x1b3/0x480 block/bdev.c:824 blkdev_open+0xc9/0x140 block/fops.c:463 do_dentry_open+0x311/0x660 fs/open.c:826 do_open fs/namei.c:3608 [inline] path_openat+0xe37/0x1370 fs/namei.c:3742 do_filp_open+0xc1/0x1b0 fs/namei.c:3769 do_sys_openat2+0xed/0x260 fs/open.c:1253 do_sys_open fs/open.c:1269 [inline] __do_sys_openat fs/open.c:1285 [inline] __se_sys_openat fs/open.c:1280 [inline] __x64_sys_openat+0x7f/0xe0 fs/open.c:1280 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 -> #6 (&disk->open_mutex){+.+.}-{3:3}: __mutex_lock_common kernel/locking/mutex.c:596 [inline] __mutex_lock+0x60/0x660 kernel/locking/mutex.c:729 blkdev_get_by_dev+0x172/0x480 block/bdev.c:817 swsusp_check+0x30/0x1f0 kernel/power/swap.c:1526 software_resume.part.0+0x102/0x1f0 kernel/power/hibernate.c:977 software_resume kernel/power/hibernate.c:86 [inline] resume_store+0x136/0x150 kernel/power/hibernate.c:1179 kobj_attr_store+0x35/0x60 lib/kobject.c:864 sysfs_kf_write+0xb4/0x100 fs/sysfs/file.c:139 kernfs_fop_write_iter+0x1d3/0x2e0 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:2174 [inline] new_sync_write+0x1da/0x2b0 fs/read_write.c:507 vfs_write+0x3a8/0x560 fs/read_write.c:594 ksys_write+0xa6/0x170 fs/read_write.c:647 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 -> #5 (system_transition_mutex/1){+.+.}-{3:3}: __mutex_lock_common kernel/locking/mutex.c:596 [inline] __mutex_lock+0x60/0x660 kernel/locking/mutex.c:729 software_resume.part.0+0x19/0x1f0 kernel/power/hibernate.c:932 software_resume kernel/power/hibernate.c:86 [inline] resume_store+0x136/0x150 kernel/power/hibernate.c:1179 kobj_attr_store+0x35/0x60 lib/kobject.c:864 sysfs_kf_write+0xb4/0x100 fs/sysfs/file.c:139 kernfs_fop_write_iter+0x1d3/0x2e0 fs/kernfs/file.c:296 call_write_iter include/linux/fs.h:2174 [inline] new_sync_write+0x1da/0x2b0 fs/read_write.c:507 vfs_write+0x3a8/0x560 fs/read_write.c:594 ksys_write+0xa6/0x170 fs/read_write.c:647 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 -> #4 (&of->mutex){+.+.}-{3:3}: __mutex_lock_common kernel/locking/mutex.c:596 [inline] __mutex_lock+0x60/0x660 kernel/locking/mutex.c:729 kernfs_seq_start+0x2a/0x110 fs/kernfs/file.c:112 seq_read_iter+0x177/0x700 fs/seq_file.c:225 kernfs_fop_read_iter+0x226/0x2b0 fs/kernfs/file.c:241 call_read_iter include/linux/fs.h:2168 [inline] new_sync_read+0x1dd/0x2f0 fs/read_write.c:404 vfs_read+0x1c0/0x2b0 fs/read_write.c:485 ksys_read+0xa6/0x170 fs/read_write.c:623 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 -> #3 (&p->lock){+.+.}-{3:3}: __mutex_lock_common kernel/locking/mutex.c:596 [inline] __mutex_lock+0x60/0x660 kernel/locking/mutex.c:729 seq_read_iter+0x72/0x700 fs/seq_file.c:182 call_read_iter include/linux/fs.h:2168 [inline] generic_file_splice_read+0x1b9/0x300 fs/splice.c:311 do_splice_to+0xbf/0x100 fs/splice.c:796 splice_direct_to_actor+0xe2/0x340 fs/splice.c:870 do_splice_direct+0xee/0x150 fs/splice.c:979 do_sendfile+0x5bf/0x9a0 fs/read_write.c:1249 __do_sys_sendfile64 fs/read_write.c:1317 [inline] __se_sys_sendfile64 fs/read_write.c:1303 [inline] __x64_sys_sendfile64+0xf7/0x110 fs/read_write.c:1303 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 -> #2 (sb_writers#5){.+.+}-{0:0}: percpu_down_read include/linux/percpu-rwsem.h:51 [inline] __sb_start_write include/linux/fs.h:1813 [inline] sb_start_write include/linux/fs.h:1883 [inline] file_start_write include/linux/fs.h:3044 [inline] lo_write_bvec+0x119/0x3a0 drivers/block/loop.c:315 lo_write_simple drivers/block/loop.c:338 [inline] do_req_filebacked drivers/block/loop.c:656 [inline] loop_handle_cmd drivers/block/loop.c:2234 [inline] loop_process_work+0x626/0x12e0 drivers/block/loop.c:2274 process_one_work+0x32a/0x680 kernel/workqueue.c:2310 worker_thread+0x5b/0x520 kernel/workqueue.c:2457 kthread+0x148/0x170 kernel/kthread.c:334 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287 -> #1 ((work_completion)(&lo->rootcg_work)){+.+.}-{0:0}: process_one_work+0x2e8/0x680 kernel/workqueue.c:2286 worker_thread+0x5b/0x520 kernel/workqueue.c:2457 kthread+0x148/0x170 kernel/kthread.c:334 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287 -> #0 ((wq_completion)loop0){+.+.}-{0:0}: check_prev_add kernel/locking/lockdep.c:3053 [inline] check_prevs_add kernel/locking/lockdep.c:3172 [inline] validate_chain kernel/locking/lockdep.c:3788 [inline] __lock_acquire+0x10b6/0x1a40 kernel/locking/lockdep.c:5012 lock_acquire kernel/locking/lockdep.c:5623 [inline] lock_acquire+0xbb/0x290 kernel/locking/lockdep.c:5588 flush_workqueue+0xb2/0x6b0 kernel/workqueue.c:2830 drain_workqueue+0xed/0x1b0 kernel/workqueue.c:2995 destroy_workqueue+0x42/0x380 kernel/workqueue.c:4439 __loop_clr_fd+0xd9/0x8c0 drivers/block/loop.c:1383 lo_release+0xeb/0xf0 drivers/block/loop.c:2083 blkdev_put_whole+0x4e/0xc0 block/bdev.c:692 blkdev_put+0x18d/0x300 block/bdev.c:954 blkdev_close+0x26/0x30 block/fops.c:475 __fput+0xf9/0x420 fs/file_table.c:280 task_work_run+0x73/0xb0 kernel/task_work.c:188 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop kernel/entry/common.c:181 [inline] exit_to_user_mode_prepare+0x20b/0x210 kernel/entry/common.c:214 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:307 do_syscall_64+0x40/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x66/0xd0 other info that might help us debug this: Chain exists of: (wq_completion)loop0 --> &disk->open_mutex --> &lo->lo_mutex Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&lo->lo_mutex); lock(&disk->open_mutex); lock(&lo->lo_mutex); lock((wq_completion)loop0); *** DEADLOCK *** 2 locks held by udevd/3564: #0: ffff888109f70b18 (&disk->open_mutex){+.+.}-{3:3}, at: blkdev_put+0x5b/0x300 block/bdev.c:912 #1: ffff88810a1a7468 (&lo->lo_mutex){+.+.}-{3:3}, at: __loop_clr_fd+0x60/0x8c0 drivers/block/loop.c:1365 stack backtrace: CPU: 0 PID: 3564 Comm: udevd Not tainted 5.15.175-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 check_noncircular+0xcc/0xe0 kernel/locking/lockdep.c:2133 check_prev_add kernel/locking/lockdep.c:3053 [inline] check_prevs_add kernel/locking/lockdep.c:3172 [inline] validate_chain kernel/locking/lockdep.c:3788 [inline] __lock_acquire+0x10b6/0x1a40 kernel/locking/lockdep.c:5012 lock_acquire kernel/locking/lockdep.c:5623 [inline] lock_acquire+0xbb/0x290 kernel/locking/lockdep.c:5588 flush_workqueue+0xb2/0x6b0 kernel/workqueue.c:2830 drain_workqueue+0xed/0x1b0 kernel/workqueue.c:2995 destroy_workqueue+0x42/0x380 kernel/workqueue.c:4439 __loop_clr_fd+0xd9/0x8c0 drivers/block/loop.c:1383 lo_release+0xeb/0xf0 drivers/block/loop.c:2083 blkdev_put_whole+0x4e/0xc0 block/bdev.c:692 blkdev_put+0x18d/0x300 block/bdev.c:954 blkdev_close+0x26/0x30 block/fops.c:475 __fput+0xf9/0x420 fs/file_table.c:280 task_work_run+0x73/0xb0 kernel/task_work.c:188 tracehook_notify_resume include/linux/tracehook.h:189 [inline] exit_to_user_mode_loop kernel/entry/common.c:181 [inline] exit_to_user_mode_prepare+0x20b/0x210 kernel/entry/common.c:214 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline] syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:307 do_syscall_64+0x40/0xb0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x66/0xd0 RIP: 0033:0x7ff9cedb60a8 Code: 48 8b 05 83 9d 0d 00 64 c7 00 16 00 00 00 83 c8 ff 48 83 c4 20 5b c3 64 8b 04 25 18 00 00 00 85 c0 75 20 b8 03 00 00 00 0f 05 <48> 3d 00 f0 ff ff 76 5b 48 8b 15 51 9d 0d 00 f7 d8 64 89 02 48 83 RSP: 002b:00007ffdd635abc8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003 RAX: 0000000000000000 RBX: 00007ff9cec8aae0 RCX: 00007ff9cedb60a8 RDX: 0000560e0dccf857 RSI: 00007ffdd635a3c8 RDI: 0000000000000008 RBP: 0000560b6d791490 R08: 0000000000000006 R09: 5ecd7edec439cbb5 R10: 000000000000010f R11: 0000000000000246 R12: 0000000000000002 R13: 0000560b6d777330 R14: 0000000000000008 R15: 0000560b6d764910