ci2 starts bisection 2024-04-14 01:21:18.086283256 +0000 UTC m=+125046.365062848 bisecting fixing commit since 7521f258ea303c827434c101884b62a2b137a942 building syzkaller on 77b23aa147a898d1e1912a5f01e6716bbdc3a59e ensuring issue is reproducible on original commit 7521f258ea303c827434c101884b62a2b137a942 testing commit 7521f258ea303c827434c101884b62a2b137a942 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f9156396b3d7c034472c640c00a0114944ad7f4bc2e3dc90f587263fb6f0bc6b all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] check whether we can drop unnecessary instrumentation disabling configs for [UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP LEAK], they are not needed testing commit 7521f258ea303c827434c101884b62a2b137a942 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1c363758d7006de34339c0c4326c18848f8c7d2227e8d2b22e0fdd322137cf3e all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] the bug reproduces without the instrumentation disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed kconfig minimization: base=3971 full=7955 leaves diff=2020 split chunks (needed=false): <2020> split chunk #0 of len 2020 into 5 parts testing without sub-chunk 1/5 disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit 7521f258ea303c827434c101884b62a2b137a942 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6932057b52ead590ca7c91e06be68982d9834b2a480f6cf85072aed5ad5e0a7d all runs: OK false negative chance: 0.000 testing without sub-chunk 2/5 disabling configs for [LOCKDEP ATOMIC_SLEEP LEAK UBSAN BUG KASAN], they are not needed testing commit 7521f258ea303c827434c101884b62a2b137a942 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 373a9902fda5da72ac4a302ed148579058b494bf0963e69cd90e11326a10697a all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit 7521f258ea303c827434c101884b62a2b137a942 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: dd390e07b55adef1fd221a1cc8ce50d5c7d0b5649f5cf2a8f8212b71f8f8e2b6 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [KASAN LOCKDEP ATOMIC_SLEEP LEAK UBSAN BUG], they are not needed testing commit 7521f258ea303c827434c101884b62a2b137a942 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f0a6fccda1e597fe6dc7eddc50e1b8e095b0c83ca248b74a2fb439b8846aba36 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit 7521f258ea303c827434c101884b62a2b137a942 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 655f09a1f6281aa5d7195b45d2db45ef1b7e7940b45b9d43acd9b57e1f43141f all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] the chunk can be dropped minimized to 404 configs; suspects: [6LOWPAN 6LOWPAN_GHC_EXT_HDR_DEST 6LOWPAN_GHC_EXT_HDR_FRAG 6LOWPAN_GHC_EXT_HDR_HOP 6LOWPAN_GHC_EXT_HDR_ROUTE 6LOWPAN_GHC_ICMPV6 6LOWPAN_GHC_UDP 6LOWPAN_NHC 6LOWPAN_NHC_DEST 6LOWPAN_NHC_FRAGMENT 6LOWPAN_NHC_HOP 6LOWPAN_NHC_IPV6 6LOWPAN_NHC_MOBILITY 6LOWPAN_NHC_ROUTING 6LOWPAN_NHC_UDP 6PACK 842_COMPRESS 842_DECOMPRESS 9P_FSCACHE 9P_FS_POSIX_ACL 9P_FS_SECURITY ACORN_PARTITION ACORN_PARTITION_ADFS ACORN_PARTITION_CUMANA ACORN_PARTITION_EESOX ACORN_PARTITION_ICS ACORN_PARTITION_POWERTEC ACORN_PARTITION_RISCIX ACPI_NFIT ACPI_PLATFORM_PROFILE ADDRESS_MASKING ADFS_FS AFFS_FS AFS_FS AFS_FSCACHE AF_KCM AF_RXRPC AF_RXRPC_IPV6 AIX_PARTITION AMIGA_PARTITION ANDROID_BINDERFS ANDROID_BINDER_IPC ANON_VMA_NAME APERTURE_HELPERS AR5523 ARCH_ENABLE_MEMORY_HOTREMOVE ARCH_ENABLE_THP_MIGRATION ARCH_HAS_CPU_PASID ARCH_WANT_PMD_MKWRITE ASM_MODVERSIONS ASYNC_CORE ASYNC_MEMCPY ASYNC_PQ ASYNC_RAID6_RECOV ASYNC_TX_DMA ASYNC_XOR ATARI_PARTITION ATA_GENERIC ATA_OVER_ETH ATH10K ATH10K_CE ATH10K_PCI ATH10K_USB ATH11K ATH6KL ATH6KL_USB ATH9K ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_CHANNEL_CONTEXT ATH9K_COMMON ATH9K_COMMON_DEBUG ATH9K_DEBUGFS ATH9K_DYNACK ATH9K_HTC ATH9K_HTC_DEBUGFS ATH9K_HW ATH9K_PCI ATH9K_PCOEM ATH9K_RFKILL ATH_COMMON ATM ATM_BR2684 ATM_CLIP ATM_DRIVERS ATM_LANE ATM_MPOA ATM_TCP AUXILIARY_BUS AX25 AX25_DAMA_SLAVE AX88796B_PHY BAREUDP BATMAN_ADV BATMAN_ADV_BATMAN_V BATMAN_ADV_BLA BATMAN_ADV_DAT BATMAN_ADV_MCAST BATMAN_ADV_NC BCACHE BCACHEFS_DEBUG BCACHEFS_FS BCACHEFS_QUOTA BCMA BCMA_HOST_PCI_POSSIBLE BEFS_FS BFQ_CGROUP_DEBUG BFQ_GROUP_IOSCHED BFS_FS BIG_KEYS BLK_CGROUP_PUNT_BIO BLK_CGROUP_RWSTAT BLK_DEBUG_FS_ZONED BLK_DEV_BSGLIB BLK_DEV_INTEGRITY BLK_DEV_INTEGRITY_T10 BLK_DEV_NBD BLK_DEV_NULL_BLK BLK_DEV_NULL_BLK_FAULT_INJECTION BLK_DEV_NVME BLK_DEV_PMEM BLK_DEV_RAM BLK_DEV_RNBD BLK_DEV_RNBD_CLIENT BLK_DEV_THROTTLING BLK_DEV_ZONED BLK_ICQ BLK_INLINE_ENCRYPTION BLK_INLINE_ENCRYPTION_FALLBACK BLK_WBT BLK_WBT_MQ BONDING BOOT_VESA_SUPPORT BPF_EVENTS BPF_JIT BPF_JIT_ALWAYS_ON BPF_JIT_DEFAULT_ON BPF_LSM BPF_PRELOAD BPF_PRELOAD_UMD BPF_STREAM_PARSER BPF_SYSCALL BPQETHER BRIDGE BRIDGE_CFM BRIDGE_EBT_802_3 BRIDGE_EBT_AMONG BRIDGE_EBT_ARP BRIDGE_EBT_ARPREPLY BRIDGE_EBT_BROUTE BRIDGE_EBT_DNAT BRIDGE_EBT_IP BRIDGE_EBT_IP6 BRIDGE_EBT_LIMIT BRIDGE_EBT_LOG BRIDGE_EBT_MARK BRIDGE_EBT_MARK_T BRIDGE_EBT_NFLOG BRIDGE_EBT_PKTTYPE BRIDGE_EBT_REDIRECT BRIDGE_EBT_SNAT BRIDGE_EBT_STP BRIDGE_EBT_T_FILTER BRIDGE_EBT_T_NAT BRIDGE_EBT_VLAN BRIDGE_IGMP_SNOOPING BRIDGE_MRP BRIDGE_NF_EBTABLES BRIDGE_VLAN_FILTERING BSD_DISKLABEL BSD_PROCESS_ACCT_V3 BT BTRFS_ASSERT BTRFS_FS BTRFS_FS_POSIX_ACL BTRFS_FS_REF_VERIFY BTT BT_6LOWPAN BT_ATH3K BT_BCM BT_BNEP BT_BNEP_MC_FILTER BT_BNEP_PROTO_FILTER BT_BREDR BT_CMTP BT_HCIBCM203X BT_HCIBFUSB BT_HCIBPA10X BT_HCIBTUSB BT_HCIBTUSB_BCM BT_HCIBTUSB_MTK BT_HCIBTUSB_POLL_SYNC BT_HCIBTUSB_RTL BT_HCIUART BT_HCIUART_3WIRE BT_HCIUART_AG6XX BT_HCIUART_BCSP BT_HCIUART_H4 BT_HCIUART_LL BT_HCIUART_MRVL BT_HCIUART_QCA BT_HCIUART_SERDEV BT_HCIVHCI BT_HIDP BT_HS BT_INTEL BT_LE BT_LEDS BT_LE_L2CAP_ECRED BT_MRVL BT_MRVL_SDIO BT_MSFTEXT BT_MTK BT_QCA BT_RFCOMM BT_RFCOMM_TTY BT_RTL CACHEFILES CAIF CAIF_DEBUG CAIF_DRIVERS CAIF_NETDEV CAIF_TTY CAIF_USB CAIF_VIRTIO CALL_DEPTH_TRACKING CAN CAN_8DEV_USB CAN_BCM CAN_CALC_BITTIMING CAN_DEV CAN_EMS_USB CAN_GS_USB CAN_GW CAN_IFI_CANFD CAN_ISOTP CAN_J1939 CAN_KVASER_USB CAN_MCBA_USB CAN_NETLINK CAN_PEAK_USB CAN_RAW CAN_RX_OFFLOAD CAN_SLCAN CAN_VCAN CAN_VXCAN CAPI_TRACE CARL9170 CARL9170_HWRNG CARL9170_LEDS CARL9170_WPC CEC_CORE CEPH_FS CEPH_FSCACHE CEPH_FS_POSIX_ACL CEPH_LIB CEPH_LIB_USE_DNS_RESOLVER CFG80211 CFG80211_CRDA_SUPPORT CFG80211_DEBUGFS CFG80211_DEFAULT_PS CFG80211_REQUIRE_SIGNED_REGDB CFG80211_USE_KERNEL_REGDB_KEYS CFG80211_WEXT CFS_BANDWIDTH CGROUP_BPF CHARGER_BQ24190 CHARGER_ISP1704 CHR_DEV_ST CIFS CIFS_ALLOW_INSECURE_LEGACY CIFS_DEBUG CIFS_DFS_UPCALL CIFS_FSCACHE CIFS_POSIX CIFS_SMB_DIRECT CIFS_SWN_UPCALL CIFS_UPCALL CIFS_XATTR CLOSURES CLS_U32_MARK CLS_U32_PERF CMA CMA_SIZE_SEL_MBYTES CMDLINE_PARTITION COMEDI COMEDI_DT9812 COMEDI_NI_USB6501 COMEDI_USBDUX COMEDI_USBDUXFAST COMEDI_USBDUXSIGMA COMEDI_USB_DRIVERS COMEDI_VMK80XX COMPAT_NETLINK_MESSAGES COUNTER CPU_IBPB_ENTRY CPU_IBRS_ENTRY CPU_SRSO CPU_UNRET_ENTRY CRAMFS CRAMFS_BLOCKDEV CRAMFS_MTD CRASH_CORE CRC4 CRC64 CRC64_ROCKSOFT CRC7 CRC8 CRC_ITU_T CRC_T10DIF CRYPTO_ADIANTUM CRYPTO_AEGIS128 CRYPTO_AEGIS128_AESNI_SSE2 CRYPTO_AES_NI_INTEL CRYPTO_AES_TI CRYPTO_ANSI_CPRNG CRYPTO_ANUBIS CRYPTO_ARC4 CRYPTO_ARCH_HAVE_LIB_BLAKE2S CRYPTO_ARCH_HAVE_LIB_CHACHA CRYPTO_ARCH_HAVE_LIB_CURVE25519 CRYPTO_ARCH_HAVE_LIB_POLY1305 CRYPTO_ARIA CRYPTO_ARIA_AESNI_AVX_X86_64 CRYPTO_BLAKE2B CRYPTO_BLAKE2S_X86 CRYPTO_BLOWFISH CRYPTO_BLOWFISH_COMMON CRYPTO_BLOWFISH_X86_64 CRYPTO_CAMELLIA CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 CRYPTO_CAMELLIA_AESNI_AVX_X86_64 CRYPTO_CAMELLIA_X86_64 CRYPTO_CAST5 CRYPTO_CAST5_AVX_X86_64 CRYPTO_CAST6 CRYPTO_CAST6_AVX_X86_64 CRYPTO_CAST_COMMON CRYPTO_CHACHA20 CRYPTO_CHACHA20POLY1305 CRYPTO_CHACHA20_X86_64 CRYPTO_CRC32 CRYPTO_CRC32C_INTEL CRYPTO_CRC32_PCLMUL CRYPTO_CRC64_ROCKSOFT CRYPTO_CRCT10DIF CRYPTO_CRCT10DIF_PCLMUL CRYPTO_CRYPTD CRYPTO_CTS CRYPTO_CURVE25519 CRYPTO_CURVE25519_X86 CRYPTO_DEFLATE CRYPTO_DES CRYPTO_DES3_EDE_X86_64 CRYPTO_DEV_CCP CRYPTO_DEV_CCP_DD CRYPTO_DEV_PADLOCK CRYPTO_DEV_PADLOCK_AES CRYPTO_DEV_PADLOCK_SHA CRYPTO_DEV_QAT CRYPTO_DEV_QAT_C3XXX CRYPTO_DEV_QAT_C3XXXVF CRYPTO_DEV_QAT_C62X CRYPTO_DEV_QAT_C62XVF CRYPTO_DEV_QAT_DH895xCC CRYPTO_DEV_QAT_DH895xCCVF CRYPTO_DEV_VIRTIO CRYPTO_DH CRYPTO_DRBG_CTR CRYPTO_DRBG_HASH CRYPTO_ECC CRYPTO_ECDH CRYPTO_ECRDSA CRYPTO_ENGINE CRYPTO_ESSIV CRYPTO_FCRYPT CRYPTO_GHASH_CLMUL_NI_INTEL CRYPTO_HCTR2 CRYPTO_KDF800108_CTR CRYPTO_KEYWRAP CRYPTO_KHAZAD CRYPTO_KPP CRYPTO_LIB_ARC4 CRYPTO_LIB_CHACHA CRYPTO_LIB_CHACHA20POLY1305 CRYPTO_LIB_CHACHA_GENERIC CRYPTO_LIB_CURVE25519 CRYPTO_LIB_CURVE25519_GENERIC CRYPTO_LIB_DES CRYPTO_LIB_POLY1305 CRYPTO_LIB_POLY1305_GENERIC CRYPTO_LRW CRYPTO_MICHAEL_MIC CRYPTO_NHPOLY1305 CRYPTO_NHPOLY1305_AVX2 CRYPTO_NHPOLY1305_SSE2 CRYPTO_PCBC CRYPTO_PCRYPT CRYPTO_POLY1305 CRYPTO_POLY1305_X86_64 CRYPTO_POLYVAL CRYPTO_POLYVAL_CLMUL_NI CRYPTO_RMD160 CRYPTO_SEED CRYPTO_SERPENT CRYPTO_SERPENT_AVX2_X86_64 CRYPTO_SERPENT_AVX_X86_64 CRYPTO_SERPENT_SSE2_X86_64 CRYPTO_SHA1_SSSE3 CRYPTO_SHA256_SSSE3 CRYPTO_SHA512_SSSE3 CRYPTO_SIMD CRYPTO_SM2 CRYPTO_SM3 CRYPTO_SM3_AVX_X86_64 CRYPTO_SM4 CRYPTO_SM4_AESNI_AVX2_X86_64 CRYPTO_SM4_AESNI_AVX_X86_64 CRYPTO_SM4_GENERIC CRYPTO_STREEBOG CRYPTO_TEA CRYPTO_TWOFISH CRYPTO_TWOFISH_AVX_X86_64 CRYPTO_TWOFISH_COMMON CRYPTO_TWOFISH_X86_64 CRYPTO_TWOFISH_X86_64_3WAY CRYPTO_USER CRYPTO_USER_API CRYPTO_USER_API_AEAD CRYPTO_USER_API_ENABLE_OBSOLETE CRYPTO_USER_API_HASH CRYPTO_USER_API_RNG CRYPTO_USER_API_SKCIPHER CRYPTO_VMAC CRYPTO_WP512 CRYPTO_XCBC CRYPTO_XCTR CRYPTO_XTS CRYPTO_XXHASH CUSE CYPRESS_FIRMWARE DAMON DAMON_DBGFS DAMON_PADDR DAMON_RECLAIM DAMON_VADDR DAX DCA DCB DEFAULT_PFIFO_FAST DEVICE_MIGRATION DEVICE_PRIVATE DEV_COREDUMP DEV_DAX DLN2_ADC DMABUF_HEAPS DMABUF_HEAPS_CMA DMABUF_HEAPS_SYSTEM DMABUF_MOVE_NOTIFY DMA_CMA DMA_ENGINE_RAID DM_AUDIT DM_BIO_PRISON DM_BUFIO DM_CACHE DM_CACHE_SMQ DM_CLONE DM_CRYPT DM_FLAKEY DM_INTEGRITY DM_MULTIPATH DM_MULTIPATH_QL DM_MULTIPATH_ST DM_PERSISTENT_DATA DM_RAID DM_SNAPSHOT DM_THIN_PROVISIONING DM_UEVENT DM_VERITY DM_VERITY_FEC DM_WRITECACHE DM_ZONED DRAGONRISE_FF ENCRYPTED_KEYS EXTCON FSCACHE FUSE_FS GPIOLIB HAMRADIO HID_DRAGONRISE IIO INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_RTRS_CLIENT IOSCHED_BFQ ISDN ISDN_CAPI LIBNVDIMM MAC80211 MAC80211_DEBUGFS MAC80211_LEDS MEDIA_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_DLN2 MMC MTD NET_CLS_U32 NET_SCH_DEFAULT PARTITION_ADVANCED RETHUNK RETPOLINE RFKILL SERIAL_DEV_BUS TLS TLS_DEVICE TRANSPARENT_HUGEPAGE TRUSTED_KEYS USB_GADGET USB_PHY VLAN_8021Q WANT_COMPAT_NETLINK_MESSAGES WEXT_CORE WIRELESS WIRELESS_EXT WLAN WLAN_VENDOR_ATH X86_X32_ABI ZONE_DEVICE] disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing current HEAD 7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1 testing commit 7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c04ed6bf91d31c01638e2d5db0dc34ccd6cb7ae5ebb2ae5bf0e0e9825affc7ef all runs: OK false negative chance: 0.000 # git bisect start 7efd0a74039fb6b584be2cb91c1d0ef0bd796ee1 7521f258ea303c827434c101884b62a2b137a942 Bisecting: 7837 revisions left to test after this (roughly 13 steps) [babbcc02327a14a352a7899dc603eaa064559c75] Merge tag 'xfs-6.9-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit babbcc02327a14a352a7899dc603eaa064559c75 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a25a01c506f079da1227284610c5d25730f3043c61c267239ace95339fb6d3c8 all runs: OK false negative chance: 0.000 # git bisect bad babbcc02327a14a352a7899dc603eaa064559c75 Bisecting: 3976 revisions left to test after this (roughly 12 steps) [41cb8c332bb904cd2108250075d195e060e1fdc7] Merge tag 'pstore-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit 41cb8c332bb904cd2108250075d195e060e1fdc7 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: d10caec5cf11da3d9dff51561869370097df6b06e46bb3b72f51490bd8270e7d all runs: OK false negative chance: 0.000 # git bisect bad 41cb8c332bb904cd2108250075d195e060e1fdc7 Bisecting: 1989 revisions left to test after this (roughly 11 steps) [5a2a15cd7f91c4c065a8acaa36afc9fcdcdd4dcd] Merge tag 'compiler-attributes-6.9' of https://github.com/ojeda/linux determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit 5a2a15cd7f91c4c065a8acaa36afc9fcdcdd4dcd gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ee946da2c134143f5a7f2a10a2e4bc286bc68b9ef1f1cf15ee61a681123922a2 all runs: OK false negative chance: 0.000 # git bisect bad 5a2a15cd7f91c4c065a8acaa36afc9fcdcdd4dcd Bisecting: 993 revisions left to test after this (roughly 10 steps) [767146637efc528b5e3d31297df115e85a2fd362] netfilter: nf_conntrack_h323: Add protection for bmp length out of range determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit 767146637efc528b5e3d31297df115e85a2fd362 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4bd4e8c2417a3dbac74b944cce841c39effcb31c5ddbabb48abfa11a1161882b all runs: OK false negative chance: 0.000 # git bisect bad 767146637efc528b5e3d31297df115e85a2fd362 Bisecting: 522 revisions left to test after this (roughly 9 steps) [efa80dcbb7a3ecc4a1b2f54624c49b5a612f92b3] Merge tag 'trace-v6.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit efa80dcbb7a3ecc4a1b2f54624c49b5a612f92b3 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 70de5f8b75b9a53b7cd4b01e1a84b9a51408c3cc90f9254b9b5dc79da1937937 all runs: OK false negative chance: 0.000 # git bisect bad efa80dcbb7a3ecc4a1b2f54624c49b5a612f92b3 Bisecting: 236 revisions left to test after this (roughly 8 steps) [ca6a62f9fe23713ea2b58a256a1ab27b9cc5a05a] Merge tag 'drm-fixes-2024-02-16' of git://anongit.freedesktop.org/drm/drm determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit ca6a62f9fe23713ea2b58a256a1ab27b9cc5a05a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a2244cbd5881352b4e46c08a59c445c0e348be597d6c0a9a667300e3bef7a31c all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good ca6a62f9fe23713ea2b58a256a1ab27b9cc5a05a Bisecting: 120 revisions left to test after this (roughly 7 steps) [4a7571485c467b76cc19fae304452fd56921c789] Merge tag 'pci-v6.8-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci determine whether the revision contains the guilty commit revision ca6a62f9fe23713ea2b58a256a1ab27b9cc5a05a crashed and is reachable testing commit 4a7571485c467b76cc19fae304452fd56921c789 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 11ea7176aebc35ed0e2eabb60389dc9f1e5c1a5d7bdf4c365fedd817bf493060 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good 4a7571485c467b76cc19fae304452fd56921c789 Bisecting: 67 revisions left to test after this (roughly 6 steps) [f2667e0c32404a68496891b2d2015825de189b06] Merge tag 'bcachefs-2024-02-17' of https://evilpiepirate.org/git/bcachefs determine whether the revision contains the guilty commit revision ca6a62f9fe23713ea2b58a256a1ab27b9cc5a05a crashed and is reachable testing commit f2667e0c32404a68496891b2d2015825de189b06 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3483fa0efb861d0f4b43f7e3a8d0e0d19e77f578abe77b129af1c9e5fcbce7a3 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good f2667e0c32404a68496891b2d2015825de189b06 Bisecting: 31 revisions left to test after this (roughly 5 steps) [6c160f16be5df1f66f6afe186c961ad446d7f94b] Merge tag 'kbuild-fixes-v6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild determine whether the revision contains the guilty commit revision f2667e0c32404a68496891b2d2015825de189b06 crashed and is reachable testing commit 6c160f16be5df1f66f6afe186c961ad446d7f94b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 95d084463a94675182010676aaed5bd5001fadc43b0218cea4c80fd1858c9866 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good 6c160f16be5df1f66f6afe186c961ad446d7f94b Bisecting: 15 revisions left to test after this (roughly 4 steps) [5ba4e6d5863c53e937f49932dee0ecb004c65928] RDMA/qedr: Fix qedr_create_user_qp error flow determine whether the revision contains the guilty commit checking the merge base 6613476e225e090cc9aad49be7fa504e290dd33d no existing result, test the revision testing commit 6613476e225e090cc9aad49be7fa504e290dd33d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: cfbd7df1467ccac01bbe58bf7a65876936c107d264c96e73b8e4e83d29bb96ac all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] testing commit 5ba4e6d5863c53e937f49932dee0ecb004c65928 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 60df109c9f455bff13dbbd7eaf3bfe0674727c5dec0be1dc1999933f2c9d6af7 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good 5ba4e6d5863c53e937f49932dee0ecb004c65928 Bisecting: 8 revisions left to test after this (roughly 3 steps) [d8be5a55b8e3f7eab8f36ceed2512f457f914318] Merge tag 'v6.8-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit d8be5a55b8e3f7eab8f36ceed2512f457f914318 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 25c6e49bedf709c60ef59ad9b8252b46b5bfcd9b9dc4ed73d58b9d4a64fe92d5 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good d8be5a55b8e3f7eab8f36ceed2512f457f914318 Bisecting: 5 revisions left to test after this (roughly 2 steps) [c48617fbbe831d4c80fe84056033f17b70a31136] Merge tag 'kvmarm-fixes-6.8-3' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD determine whether the revision contains the guilty commit revision 6613476e225e090cc9aad49be7fa504e290dd33d crashed and is reachable testing commit c48617fbbe831d4c80fe84056033f17b70a31136 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 18592463c04ad2a31f5593da66bcf7428db044e587357156d0e8ffa95c0c8c07 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good c48617fbbe831d4c80fe84056033f17b70a31136 Bisecting: 2 revisions left to test after this (roughly 2 steps) [8da8d88455ebbb4e05423cf60cff985e92d43754] Merge tag 'for-6.8-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux determine whether the revision contains the guilty commit revision 7521f258ea303c827434c101884b62a2b137a942 crashed and is reachable testing commit 8da8d88455ebbb4e05423cf60cff985e92d43754 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5c5d4183d9be0cc01fc7663a6b65bd73375ddce4c86f4c3b20aaf82118c3a346 all runs: OK false negative chance: 0.000 # git bisect bad 8da8d88455ebbb4e05423cf60cff985e92d43754 Bisecting: 0 revisions left to test after this (roughly 1 step) [b0ad381fa7690244802aed119b478b4bdafc31dd] btrfs: fix deadlock with fiemap and extent locking determine whether the revision contains the guilty commit checking the merge base e03ee2fe873eb68c1f9ba5112fee70303ebf9dfb no existing result, test the revision testing commit e03ee2fe873eb68c1f9ba5112fee70303ebf9dfb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e798db3aa9be054c099282b1241dc1eedef8eca109c4ce1bd98cde7e840eb184 all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] testing commit b0ad381fa7690244802aed119b478b4bdafc31dd gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2fe6e4e92a0fb04cd388d6acd409cf8f70b2f1160c21752a9f2369665f215aa4 all runs: OK false negative chance: 0.000 # git bisect bad b0ad381fa7690244802aed119b478b4bdafc31dd Bisecting: 0 revisions left to test after this (roughly 0 steps) [e42b9d8b9ea2672811285e6a7654887ff64d23f3] btrfs: defrag: avoid unnecessary defrag caused by incorrect extent size determine whether the revision contains the guilty commit revision e03ee2fe873eb68c1f9ba5112fee70303ebf9dfb crashed and is reachable testing commit e42b9d8b9ea2672811285e6a7654887ff64d23f3 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3e52ff221de3a7675729a0254b5006466c789144088c5cb1597dcc78c907d34b all runs: crashed: INFO: task hung in lock_extent representative crash: INFO: task hung in lock_extent, types: [HANG] # git bisect good e42b9d8b9ea2672811285e6a7654887ff64d23f3 b0ad381fa7690244802aed119b478b4bdafc31dd is the first bad commit commit b0ad381fa7690244802aed119b478b4bdafc31dd Author: Josef Bacik Date: Mon Feb 12 11:56:02 2024 -0500 btrfs: fix deadlock with fiemap and extent locking While working on the patchset to remove extent locking I got a lockdep splat with fiemap and pagefaulting with my new extent lock replacement lock. This deadlock exists with our normal code, we just don't have lockdep annotations with the extent locking so we've never noticed it. Since we're copying the fiemap extent to user space on every iteration we have the chance of pagefaulting. Because we hold the extent lock for the entire range we could mkwrite into a range in the file that we have mmap'ed. This would deadlock with the following stack trace [<0>] lock_extent+0x28d/0x2f0 [<0>] btrfs_page_mkwrite+0x273/0x8a0 [<0>] do_page_mkwrite+0x50/0xb0 [<0>] do_fault+0xc1/0x7b0 [<0>] __handle_mm_fault+0x2fa/0x460 [<0>] handle_mm_fault+0xa4/0x330 [<0>] do_user_addr_fault+0x1f4/0x800 [<0>] exc_page_fault+0x7c/0x1e0 [<0>] asm_exc_page_fault+0x26/0x30 [<0>] rep_movs_alternative+0x33/0x70 [<0>] _copy_to_user+0x49/0x70 [<0>] fiemap_fill_next_extent+0xc8/0x120 [<0>] emit_fiemap_extent+0x4d/0xa0 [<0>] extent_fiemap+0x7f8/0xad0 [<0>] btrfs_fiemap+0x49/0x80 [<0>] __x64_sys_ioctl+0x3e1/0xb50 [<0>] do_syscall_64+0x94/0x1a0 [<0>] entry_SYSCALL_64_after_hwframe+0x6e/0x76 I wrote an fstest to reproduce this deadlock without my replacement lock and verified that the deadlock exists with our existing locking. To fix this simply don't take the extent lock for the entire duration of the fiemap. This is safe in general because we keep track of where we are when we're searching the tree, so if an ordered extent updates in the middle of our fiemap call we'll still emit the correct extents because we know what offset we were on before. The only place we maintain the lock is searching delalloc. Since the delalloc stuff can change during writeback we want to lock the extent range so we have a consistent view of delalloc at the time we're checking to see if we need to set the delalloc flag. With this patch applied we no longer deadlock with my testcase. CC: stable@vger.kernel.org # 6.1+ Reviewed-by: Filipe Manana Signed-off-by: Josef Bacik Reviewed-by: David Sterba Signed-off-by: David Sterba fs/btrfs/extent_io.c | 62 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 45 insertions(+), 17 deletions(-) accumulated error probability: 0.00 culprit signature: 2fe6e4e92a0fb04cd388d6acd409cf8f70b2f1160c21752a9f2369665f215aa4 parent signature: 3e52ff221de3a7675729a0254b5006466c789144088c5cb1597dcc78c907d34b revisions tested: 25, total time: 7h19m20.980044882s (build: 2h9m8.578388782s, test: 4h51m32.618771182s) first good commit: b0ad381fa7690244802aed119b478b4bdafc31dd btrfs: fix deadlock with fiemap and extent locking recipients (to): ["dsterba@suse.com" "fdmanana@suse.com" "josef@toxicpanda.com"] recipients (cc): []