ci2 starts bisection 2024-12-19 16:55:33.147181899 +0000 UTC m=+112.427728319 bisecting fixing commit since 7c15117f9468c7395ce3fd0892a6f909b91d9005 building syzkaller on 65e8686b0e9e909b6ea5629f95a9b14e81927872 ensuring issue is reproducible on original commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 testing commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8602bf43ef3ee795e8168c83aee4890c9d6a09bc3e08daafcf6dd73b435e3366 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] check whether we can drop unnecessary instrumentation disabling configs for [UBSAN BUG KASAN ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8b0ff84feb5af026f8d280d92bf9525bf5664ddf99847f41086e471f81e3b13c all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] the bug reproduces without the instrumentation disabling configs for [BUG KASAN ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed kconfig minimization: base=3824 full=7497 leaves diff=2068 split chunks (needed=false): <2068> split chunk #0 of len 2068 into 5 parts testing without sub-chunk 1/5 disabling configs for [UBSAN BUG KASAN ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: bb0fe00f4d7eecf22d397807668a33227874f33e88f108430240cbbf2665a928 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [KASAN ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed testing commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3416794f40e40579986018581ee54fca0b38ab3a7d56c2c6b4b93ca51aa5f0e5 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [LEAK UBSAN BUG KASAN ATOMIC_SLEEP HANG], they are not needed testing commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2afee44aabaefab68aad3c82a3ed8d33fb633bfdeaf7c309701d83c39867127b all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [BUG KASAN ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed testing commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 88d6a3c4a4a234888fb1046d3ab31cf06ba834a45ec97807d477b6d220255eac all runs: OK false negative chance: 0.000 testing without sub-chunk 5/5 disabling configs for [UBSAN BUG KASAN ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 7c15117f9468c7395ce3fd0892a6f909b91d9005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6b9b18a040885761ba6630e48b67a2a3c8a47f8642c7530e4757b4347a889543 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] the chunk can be dropped minimized to 414 configs; suspects: [AF_RXRPC ARCH_ENABLE_MEMORY_HOTREMOVE ATM AX25 BXT_WC_PMIC_OPREGION CFG80211 CMA DAX DLM DRM DVB_CORE ENCRYPTED_KEYS EXTCON GENEVE GPIOLIB HAMRADIO HAVE_CLK HID_PLAYSTATION HID_SENSOR_HUB HID_SMARTJOYPLUS HID_THRUSTMASTER IIO INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_IPOIB INFINIBAND_USER_ACCESS INFINIBAND_VIRT_DMA INPUT_TABLET INPUT_TOUCHSCREEN INTEL_SCU_IPC INTEL_SOC_PMIC_BXTWC IP_SCTP L2TP LEDS_CLASS_MULTICOLOR LIBNVDIMM MAC80211 MEDIA_COMMON_OPTIONS MEDIA_DIGITAL_TV_SUPPORT MEDIA_PLATFORM_SUPPORT MEDIA_RADIO_SUPPORT MEDIA_SDR_SUPPORT MEDIA_SUPPORT MEDIA_USB_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_DLN2 MFD_INTEL_PMC_BXT MFD_MT6360 MFD_MT6370 MFD_RETU MMC MTD MTD_UBI NETFILTER_CONNCOUNT NET_IPGRE NET_IPGRE_DEMUX NFS_V4_1 NLS_CODEPAGE_860 NLS_CODEPAGE_861 NLS_CODEPAGE_862 NLS_CODEPAGE_863 NLS_CODEPAGE_864 NLS_CODEPAGE_865 NLS_CODEPAGE_866 NLS_CODEPAGE_869 NLS_CODEPAGE_874 NLS_CODEPAGE_932 NLS_CODEPAGE_936 NLS_CODEPAGE_949 NLS_CODEPAGE_950 NLS_ISO8859_13 NLS_ISO8859_14 NLS_ISO8859_15 NLS_ISO8859_2 NLS_ISO8859_3 NLS_ISO8859_4 NLS_ISO8859_5 NLS_ISO8859_6 NLS_ISO8859_7 NLS_ISO8859_8 NLS_ISO8859_9 NLS_KOI8_R NLS_KOI8_U NLS_MAC_CELTIC NLS_MAC_CENTEURO NLS_MAC_CROATIAN NLS_MAC_CYRILLIC NLS_MAC_GAELIC NLS_MAC_GREEK NLS_MAC_ICELAND NLS_MAC_INUIT NLS_MAC_ROMAN NLS_MAC_ROMANIAN NLS_MAC_TURKISH NOP_USB_XCEIV NOZOMI NTFS3_FS NTFS3_FS_POSIX_ACL NTFS3_LZX_XPRESS NTFS_FS NTFS_RW NULL_TTY NUMA_BALANCING NUMA_BALANCING_DEFAULT_ENABLED NUMA_EMU NUMA_KEEP_MEMINFO NVDIMM_DAX NVDIMM_KEYS NVDIMM_PFN NVME_CORE NVME_FABRICS NVME_FC NVME_MULTIPATH NVME_RDMA NVME_TARGET NVME_TARGET_FC NVME_TARGET_FCLOOP NVME_TARGET_LOOP NVME_TARGET_RDMA NVME_TARGET_TCP NVME_TCP N_GSM N_HDLC OCFS2_DEBUG_FS OCFS2_FS OCFS2_FS_O2CB OCFS2_FS_STATS OCFS2_FS_USERSPACE_CLUSTER OF_GPIO OF_PMEM OMFS_FS OPENVSWITCH OPENVSWITCH_GENEVE OPENVSWITCH_GRE OPENVSWITCH_VXLAN ORANGEFS_FS OSF_PARTITION OVERLAY_FS OVERLAY_FS_INDEX OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW OVERLAY_FS_REDIRECT_DIR PACKET_DIAG PADATA PAGE_IDLE_FLAG PAGE_POOL PAGE_REPORTING PAHOLE_HAS_BTF_TAG PAHOLE_HAS_LANG_EXCLUDE PAHOLE_HAS_SPLIT_BTF PARPORT PARPORT_NOT_PC PARTITION_ADVANCED PCCARD PCCARD_NONSTATIC PCIEAER PCI_ENDPOINT PCI_IOV PCMCIA PCMCIA_LOAD_CIS PERCPU_STATS PERSISTENT_KEYRINGS PHONET PHYLINK PHY_CPCAP_USB PHY_QCOM_USB_HS PHY_QCOM_USB_HSIC PHY_SAMSUNG_USB2 PHY_TUSB1210 PKCS7_TEST_KEY PKCS8_PRIVATE_KEY_PARSER PLAYSTATION_FF PLFXLC PMIC_OPREGION PM_CLK PNFS_BLOCK PNFS_FILE_LAYOUT PNFS_FLEXFILE_LAYOUT PPP PPPOATM PPPOE PPPOL2TP PPP_ASYNC PPP_BSDCOMP PPP_DEFLATE PPP_FILTER PPP_MPPE PPP_MULTILINK PPP_SYNC_TTY PPTP PREEMPT PREEMPT_NOTIFIERS PRISM2_USB PROC_CHILDREN PROC_MEM_ALWAYS_FORCE PSI PSTORE PSTORE_842_COMPRESS PSTORE_COMPRESS PSTORE_DEFLATE_COMPRESS PSTORE_DEFLATE_COMPRESS_DEFAULT PSTORE_LZ4HC_COMPRESS PSTORE_LZ4_COMPRESS PSTORE_LZO_COMPRESS PSTORE_ZSTD_COMPRESS QCOM_QMI_HELPERS QNX4FS_FS QNX6FS_FS QRTR QRTR_TUN R8712U RADIO_ADAPTERS RADIO_SHARK RADIO_SHARK2 RADIO_TEA575X RAID6_PQ RAID_ATTRS RC_ATI_REMOTE RC_CORE RC_DEVICES RC_XBOX_DVD RDMA_RXE RDMA_SIW RDS RDS_RDMA RDS_TCP READ_ONLY_THP_FOR_FS REALTEK_AUTOPM REED_SOLOMON REED_SOLOMON_DEC8 REGMAP REGMAP_I2C REGMAP_IRQ REGMAP_MMIO REGULATOR REGULATOR_FIXED_VOLTAGE REGULATOR_TWL4030 REISERFS_FS REISERFS_FS_POSIX_ACL REISERFS_FS_SECURITY REISERFS_FS_XATTR REISERFS_PROC_INFO RESET_CONTROLLER RFKILL RFKILL_INPUT RFKILL_LEDS RMI4_2D_SENSOR RMI4_CORE RMI4_F03 RMI4_F03_SERIO RMI4_F11 RMI4_F12 RMI4_F30 ROMFS_BACKED_BY_BOTH ROMFS_FS ROMFS_ON_BLOCK ROMFS_ON_MTD ROSE RTC_DRV_HID_SENSOR_TIME RXKAD SCHED_CORE SCSI_FC_ATTRS SCSI_HPSA SCSI_ISCSI_ATTRS SCSI_LOGGING SCSI_NETLINK SCSI_SAS_ATA SCSI_SAS_ATTRS SCSI_SAS_LIBSAS SCSI_SCAN_ASYNC SCSI_SRP_ATTRS SCTP_COOKIE_HMAC_MD5 SCTP_COOKIE_HMAC_SHA1 SCTP_DEFAULT_COOKIE_HMAC_MD5 SECONDARY_TRUSTED_KEYRING SECURITY_INFINIBAND SECURITY_NETWORK_XFRM SENSORS_AQUACOMPUTER_D5NEXT SENSORS_CORSAIR_CPRO SENSORS_CORSAIR_PSU SENSORS_NZXT_KRAKEN2 SENSORS_NZXT_SMART2 SERIAL_DEV_BUS SERIAL_DEV_CTRL_TTYPORT SERIAL_MCTRL_GPIO SGI_PARTITION SIGNATURE SIGNED_PE_FILE_VERIFICATION SLHC SLIP SLIP_COMPRESSED SLIP_MODE_SLIP6 SLIP_SMART SMARTJOYPLUS_FF SMBFS SMC SMC_DIAG SMSC_PHY SMS_SDIO_DRV SMS_SIANO_DEBUGFS SMS_SIANO_MDTV SMS_SIANO_RC SMS_USB_DRV SND SND_ALOOP SND_BCD2000 SND_CTL_FAST_LOOKUP SND_CTL_LED SND_DEBUG SND_DMA_SGBUF SND_DRIVERS SND_DUMMY SND_DYNAMIC_MINORS SND_HDA SND_HDA_CODEC_ANALOG SND_HDA_CODEC_CA0110 SND_HDA_CODEC_CA0132 SND_HDA_CODEC_CIRRUS SND_HDA_CODEC_CMEDIA SND_HDA_CODEC_CONEXANT SND_HDA_CODEC_HDMI SND_HDA_CODEC_REALTEK SND_HDA_CODEC_SI3054 SND_HDA_CODEC_SIGMATEL SND_HDA_CODEC_VIA SND_HDA_COMPONENT SND_HDA_CORE SND_HDA_GENERIC SND_HDA_GENERIC_LEDS SND_HDA_HWDEP SND_HDA_I915 SND_HDA_INPUT_BEEP SND_HDA_INTEL SND_HDA_PATCH_LOADER SND_HDA_RECONFIG SND_HRTIMER SND_HWDEP SND_INTEL_DSP_CONFIG SND_INTEL_NHLT SND_INTEL_SOUNDWIRE_ACPI SND_JACK SND_JACK_INPUT_DEV SND_MIXER_OSS SND_OSSEMUL SND_PCI SND_PCM SND_PCMCIA SND_PCM_OSS SND_PCM_OSS_PLUGINS SND_PCM_TIMER SND_PCM_XRUN_DEBUG SND_PROC_FS SND_RAWMIDI SND_SEQUENCER SND_SEQUENCER_OSS SND_SEQ_DEVICE SND_SEQ_DUMMY SND_SEQ_HRTIMER_DEFAULT SND_SEQ_MIDI SND_SEQ_MIDI_EVENT SND_SEQ_VIRMIDI SND_SUPPORT_OLD_API SND_TIMER SND_USB SND_USB_6FIRE SND_USB_AUDIO SND_USB_AUDIO_USE_MEDIA_CONTROLLER SND_USB_CAIAQ SND_USB_CAIAQ_INPUT SND_USB_HIFACE SND_USB_LINE6 SND_USB_POD SND_USB_PODHD SND_USB_TONEPORT SND_USB_UA101 SND_USB_US122L SND_USB_USX2Y SND_USB_VARIAX SND_VERBOSE_PROCFS SND_VIRMIDI SND_VIRTIO SND_VMASTER SND_X86 SOCK_VALIDATE_XMIT SOLARIS_X86_PARTITION SONY_FF SOUND SOUND_OSS_CORE SOUND_OSS_CORE_PRECLAIM SPI SPI_DLN2 SPI_DYNAMIC SPI_MASTER SQUASHFS SQUASHFS_4K_DEVBLK_SIZE SQUASHFS_DECOMP_SINGLE SQUASHFS_FILE_DIRECT SQUASHFS_LZ4 SQUASHFS_LZO SQUASHFS_XATTR SQUASHFS_XZ SQUASHFS_ZLIB SQUASHFS_ZSTD SSB SSB_PCIHOST_POSSIBLE SSB_PCMCIAHOST_POSSIBLE SSB_SDIOHOST_POSSIBLE STAGING STAGING_MEDIA STP STREAM_PARSER SUNRPC_BACKCHANNEL SUN_PARTITION SW_SYNC SYSFB SYSV68_PARTITION SYSV_FS TABLET_USB_ACECAD TABLET_USB_AIPTEK TABLET_USB_HANWANG TABLET_USB_KBTAB TABLET_USB_PEGASUS TAHVO_USB TAHVO_USB_HOST_BY_DEFAULT TASKS_TRACE_RCU TCG_CRB TCG_TIS TCG_TIS_CORE TCG_TPM TCP_CONG_BBR TCP_CONG_BIC TCP_CONG_CDG TCP_CONG_DCTCP TCP_CONG_HSTCP TCP_CONG_HTCP TCP_CONG_HYBLA TCP_CONG_ILLINOIS TCP_CONG_LP TCP_CONG_NV TCP_CONG_SCALABLE TCP_CONG_VEGAS TCP_CONG_VENO TCP_CONG_WESTWOOD TCP_CONG_YEAH TEXTSEARCH TEXTSEARCH_BM TEXTSEARCH_FSM TEXTSEARCH_KMP THERMAL_NETLINK THP_SWAP THRUSTMASTER_FF TIPC TIPC_CRYPTO TIPC_DIAG TIPC_MEDIA_IB TIPC_MEDIA_UDP TLS TLS_TOE TOUCHSCREEN_SUR40 TOUCHSCREEN_USB_3M TOUCHSCREEN_USB_COMPOSITE TOUCHSCREEN_USB_DMC_TSC10 TOUCHSCREEN_USB_E2I TOUCHSCREEN_USB_EASYTOUCH TOUCHSCREEN_USB_EGALAX TOUCHSCREEN_USB_ELO TOUCHSCREEN_USB_ETT_TC45USB TOUCHSCREEN_USB_ETURBO TOUCHSCREEN_USB_GENERAL_TOUCH TOUCHSCREEN_USB_GOTOP TOUCHSCREEN_USB_GUNZE TOUCHSCREEN_USB_IDEALTEK TOUCHSCREEN_USB_IRTOUCH TOUCHSCREEN_USB_ITM TOUCHSCREEN_USB_JASTEC TOUCHSCREEN_USB_NEXIO TOUCHSCREEN_USB_PANJIT TOUCHSCREEN_USB_ZYTRONIC TRANSPARENT_HUGEPAGE TRANSPARENT_HUGEPAGE_MADVISE TTPCI_EEPROM TTY_PRINTK TUN_VNET_CROSS_LE TWL4030_CORE TYPEC TYPEC_ANX7411 TYPEC_DP_ALTMODE TYPEC_FUSB302 TYPEC_HD3SS3220 TYPEC_MT6360 TYPEC_MUX_FSA4480 TYPEC_MUX_INTEL_PMC TYPEC_NVIDIA_ALTMODE TYPEC_RT1711H TYPEC_RT1719 TYPEC_STUSB160X TYPEC_TCPCI TYPEC_TCPCI_MAXIM TYPEC_TCPCI_MT6370 TYPEC_TCPM TYPEC_TPS6598X TYPEC_UCSI TYPEC_WCOVE TYPEC_WUSB3801 UBIFS_ATIME_SUPPORT UBIFS_FS UBIFS_FS_ADVANCED_COMPR UBIFS_FS_LZO UBIFS_FS_SECURITY UBIFS_FS_XATTR UBIFS_FS_ZLIB UBIFS_FS_ZSTD UCSI_ACPI UCSI_CCG UCSI_STM32G0 UDF_FS UDMABUF UFS_FS UFS_FS_WRITE UHID ULTRIX_PARTITION UNICODE UNIXWARE_DISKLABEL UNIX_DIAG USB4 USB4_NET USBIP_CORE USBIP_HOST USBIP_VHCI_HCD USBIP_VUDC USBPCWATCHDOG USB_ACM USB_ADUTUX USB_AIRSPY USB_ALI_M5632 USB_AN2720 USB_APPLEDISPLAY USB_ARMLINUX USB_BDC_UDC USB_BELKIN USB_C67X00_HCD USB_CATC USB_CDC_PHONET USB_CDNS3 USB_CDNS3_GADGET USB_CDNS3_HOST USB_CDNS3_PCI_WRAP USB_CDNSP_GADGET USB_CDNSP_HOST USB_CDNSP_PCI USB_CDNS_HOST USB_CDNS_SUPPORT USB_CHAOSKEY USB_CHIPIDEA USB_CHIPIDEA_GENERIC USB_CHIPIDEA_HOST USB_CHIPIDEA_MSM USB_CHIPIDEA_PCI USB_CHIPIDEA_UDC USB_CONFIGFS USB_CONFIGFS_ACM USB_DWC2 USB_GADGET USB_MUSB_HDRC USB_NET_CDC_SUBSET USB_ROLE_SWITCH USB_STORAGE_REALTEK USB_ULPI_BUS USB_USBNET VIDEO_DEV VXLAN WIRELESS WLAN WLAN_VENDOR_PURELIFI ZONE_DEVICE] disabling configs for [BUG KASAN ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed determining the merge base between 7c15117f9468c7395ce3fd0892a6f909b91d9005 and eabcdba3ad4098460a376538df2ae36500223c1e 830b3c68c1fb1e9176028d02ef86f3cf76aa2476/Linux 6.1 is a merge base, check if it has the bug testing commit 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5b278e3a86ed7ceef1ed1f96afd8b875417e5f2a8a1fed21520c4691715a381c all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] testing current HEAD eabcdba3ad4098460a376538df2ae36500223c1e testing commit eabcdba3ad4098460a376538df2ae36500223c1e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9d015a88838ab883f8c344259e50381c85d1592026ab5e93e756c32207eeeda1 all runs: OK false negative chance: 0.000 # git bisect start eabcdba3ad4098460a376538df2ae36500223c1e 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 Bisecting: 92833 revisions left to test after this (roughly 17 steps) [0a23fb262d17f587c9bb1e6cc83ad4158b21f16e] Merge tag 'x86_microcode_for_v6.7_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 0a23fb262d17f587c9bb1e6cc83ad4158b21f16e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ee002aa8edbc723e6a476039842645f57b5011bf3a4bc3b90da7b520d4c9a253 all runs: OK false negative chance: 0.000 # git bisect bad 0a23fb262d17f587c9bb1e6cc83ad4158b21f16e Bisecting: 46319 revisions left to test after this (roughly 16 steps) [f085df1be60abf670315c11036261cfaec16b2eb] Merge tag 'perf-tools-for-v6.4-3-2023-05-06' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit f085df1be60abf670315c11036261cfaec16b2eb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: fc7c02f30a84e8ce932873d276e363bd2c30d2ff1f2dd4870695ab90a92555c2 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good f085df1be60abf670315c11036261cfaec16b2eb Bisecting: 23128 revisions left to test after this (roughly 15 steps) [461f35f014466c4e26dca6be0f431f57297df3f2] Merge tag 'drm-next-2023-08-30' of git://anongit.freedesktop.org/drm/drm determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 461f35f014466c4e26dca6be0f431f57297df3f2 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6c7932bb355fbe151a0fbf687a132f4af93008eead276b065f30505e11a62acd all runs: OK false negative chance: 0.000 # git bisect bad 461f35f014466c4e26dca6be0f431f57297df3f2 Bisecting: 11602 revisions left to test after this (roughly 14 steps) [6cdbb0907a3c562723455e351c940037bdec9b7a] Merge tag 'for-6.5/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 6cdbb0907a3c562723455e351c940037bdec9b7a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b284f297ee7eb9aac62381b2113cee6e11aa292ce42c12112bb4f27ddc180900 all runs: OK false negative chance: 0.000 # git bisect bad 6cdbb0907a3c562723455e351c940037bdec9b7a Bisecting: 5199 revisions left to test after this (roughly 13 steps) [3a8a670eeeaa40d87bd38a587438952741980c18] Merge tag 'net-next-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 3a8a670eeeaa40d87bd38a587438952741980c18 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ff919c76a18a47095f6de739bd5a245e7c0b2421a7202dd255f28526466ddff1 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 3a8a670eeeaa40d87bd38a587438952741980c18 Bisecting: 2380 revisions left to test after this (roughly 11 steps) [1b722407a13b7f8658d2e26917791f32805980a2] Merge tag 'drm-next-2023-06-29' of git://anongit.freedesktop.org/drm/drm determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit 1b722407a13b7f8658d2e26917791f32805980a2 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3595bdd7654f0318b27a5b7f88e09bf28431a46c0407c9677649d3e7ab654d61 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 1b722407a13b7f8658d2e26917791f32805980a2 Bisecting: 1163 revisions left to test after this (roughly 10 steps) [6c1561fb900524c5bceb924071b3e9b8a67ff3da] Merge tag 'soc-dt-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit 6c1561fb900524c5bceb924071b3e9b8a67ff3da gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b9a8d84b7c23b83ed3d1d5f175a1d1c36753f5f1a43a289715af506af0d4cf38 all runs: OK false negative chance: 0.000 # git bisect bad 6c1561fb900524c5bceb924071b3e9b8a67ff3da Bisecting: 646 revisions left to test after this (roughly 9 steps) [5e64ee4204479ed2bf2abd7d6095686288ea008f] Merge tag 'zynqmp-dt-for-v6.5' of https://github.com/Xilinx/linux-xlnx into soc/dt determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit 5e64ee4204479ed2bf2abd7d6095686288ea008f gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 225cc6db10b3cc4770f805a62a85905302ad7742c15997b0237aa43a68a1407b all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 5e64ee4204479ed2bf2abd7d6095686288ea008f Bisecting: 315 revisions left to test after this (roughly 8 steps) [5bfea833dd8f972ce3435359f12f61bdbf01b147] Merge tag 'v6.4-next-dts64' of https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into soc/dt determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 5bfea833dd8f972ce3435359f12f61bdbf01b147 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 517b395d8c1f9f0958fdcfa841b368a00943143626e43b17958e787fc0e28219 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 5bfea833dd8f972ce3435359f12f61bdbf01b147 Bisecting: 173 revisions left to test after this (roughly 7 steps) [c6b0271053e7a5ae57511363213777f706b60489] Merge tag 'fs_for_v6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit c6b0271053e7a5ae57511363213777f706b60489 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2184c3deb1ff7ea9d153b9d0a5cac40834d35b1b6971d0ebf33362f59f8afde5 all runs: OK false negative chance: 0.000 # git bisect bad c6b0271053e7a5ae57511363213777f706b60489 Bisecting: 86 revisions left to test after this (roughly 6 steps) [2ef6c32a914b85217b44a0a2418e830e520b085e] ext4: avoid updating the superblock on a r/o mount if not needed determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit 2ef6c32a914b85217b44a0a2418e830e520b085e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 10dce8feeb6756594fb2386165a147674fcf4f37407d6c8589758b48dcb3cfc7 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 2ef6c32a914b85217b44a0a2418e830e520b085e Bisecting: 46 revisions left to test after this (roughly 6 steps) [9e06150d3c04d1a5028a485263912ea892545d2f] Merge tag 'xfs-6.5-merge-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 9e06150d3c04d1a5028a485263912ea892545d2f gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 19c9b7aeedfdc834ed537baca18b753a1745ff00e12df5b598e51cd227692666 run #0: basic kernel testing failed: failed to copy binary to VM: failed to run ["scp" "-P" "22" "-F" "/dev/null" "-o" "UserKnownHostsFile=/dev/null" "-o" "IdentitiesOnly=yes" "-o" "BatchMode=yes" "-o" "StrictHostKeyChecking=no" "-o" "ConnectTimeout=10" "-v" "/tmp/syz-executor3422916574" "root@10.128.0.128:./syz-executor3422916574"]: exit status 255 Executing: program /usr/bin/ssh host 10.128.0.128, user root, command sftp OpenSSH_9.2p1 Debian-2+deb12u3, OpenSSL 3.0.15 3 Sep 2024 debug1: Reading configuration data /dev/null debug1: Connecting to 10.128.0.128 [10.128.0.128] port 22. debug1: connect to address 10.128.0.128 port 22: Connection timed out ssh: connect to host 10.128.0.128 port 22: Connection timed out scp: Connection closed 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 false negative chance: 0.000 # git bisect bad 9e06150d3c04d1a5028a485263912ea892545d2f Bisecting: 19 revisions left to test after this (roughly 4 steps) [dcb399de1e404f48b07ebdcc434ec600568c90eb] ovl: pass ovl_fs to xino helpers determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit dcb399de1e404f48b07ebdcc434ec600568c90eb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 179ce3a9915807feffe2f351a9472555d801708de406642cf0f13881ac966c3f all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good dcb399de1e404f48b07ebdcc434ec600568c90eb Bisecting: 11 revisions left to test after this (roughly 3 steps) [be3c213150dc4370ef211a78d78457ff166eba4e] Merge tag 'ovl-update-6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/overlayfs/vfs determine whether the revision contains the guilty commit revision 3a8a670eeeaa40d87bd38a587438952741980c18 crashed and is reachable testing commit be3c213150dc4370ef211a78d78457ff166eba4e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 114c6a90ee5b42d8d33d4400bc17958fb2ddbd41073bfcd9727cd5b6a23ab083 all runs: OK false negative chance: 0.000 # git bisect bad be3c213150dc4370ef211a78d78457ff166eba4e Bisecting: 3 revisions left to test after this (roughly 2 steps) [b36a5780cb44a16d4384639740d87e08d4cee627] ovl: modify layer parameter parsing determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit b36a5780cb44a16d4384639740d87e08d4cee627 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5591eb0e4eaa727b144df25a16fc25396be5bc7f1ff8c658e8c212ffb7fe5529 all runs: OK false negative chance: 0.000 # git bisect bad b36a5780cb44a16d4384639740d87e08d4cee627 Bisecting: 1 revision left to test after this (roughly 1 step) [ac519625edf2004fd34f6deec3110b154f621780] ovl: factor out ovl_parse_options() helper determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit ac519625edf2004fd34f6deec3110b154f621780 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 175ddbe3c62190a4d3be4393551b990821bb6029b5f3a110b78442f843904a53 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good ac519625edf2004fd34f6deec3110b154f621780 Bisecting: 0 revisions left to test after this (roughly 0 steps) [1784fbc2ed9c888ea4e895f30a53207ed7ee8208] ovl: port to new mount api determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 1784fbc2ed9c888ea4e895f30a53207ed7ee8208 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 49827684a26d36a01d76a7e3ce9cf3c51fdd0100fb78a636086abbf1106db81c all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 1784fbc2ed9c888ea4e895f30a53207ed7ee8208 b36a5780cb44a16d4384639740d87e08d4cee627 is the first bad commit commit b36a5780cb44a16d4384639740d87e08d4cee627 Author: Christian Brauner Date: Fri Jun 16 16:54:19 2023 +0300 ovl: modify layer parameter parsing We ran into issues where mount(8) passed multiple lower layers as one big string through fsconfig(). But the fsconfig() FSCONFIG_SET_STRING option is limited to 256 bytes in strndup_user(). While this would be fixable by extending the fsconfig() buffer I'd rather encourage users to append layers via multiple fsconfig() calls as the interface allows nicely for this. This has also been requested as a feature before. With this port to the new mount api the following will be possible: fsconfig(fs_fd, FSCONFIG_SET_STRING, "lowerdir", "/lower1", 0); /* set upper layer */ fsconfig(fs_fd, FSCONFIG_SET_STRING, "upperdir", "/upper", 0); /* append "/lower2", "/lower3", and "/lower4" */ fsconfig(fs_fd, FSCONFIG_SET_STRING, "lowerdir", ":/lower2:/lower3:/lower4", 0); /* turn index feature on */ fsconfig(fs_fd, FSCONFIG_SET_STRING, "index", "on", 0); /* append "/lower5" */ fsconfig(fs_fd, FSCONFIG_SET_STRING, "lowerdir", ":/lower5", 0); Specifying ':' would have been rejected so this isn't a regression. And we can't simply use "lowerdir=/lower" to append on top of existing layers as "lowerdir=/lower,lowerdir=/other-lower" would make "/other-lower" the only lower layer so we'd break uapi if we changed this. So the ':' prefix seems a good compromise. Users can choose to specify multiple layers at once or individual layers. A layer is appended if it starts with ":". This requires that the user has already added at least one layer before. If lowerdir is specified again without a leading ":" then all previous layers are dropped and replaced with the new layers. If lowerdir is specified and empty than all layers are simply dropped. An additional change is that overlayfs will now parse and resolve layers right when they are specified in fsconfig() instead of deferring until super block creation. This allows users to receive early errors. It also allows users to actually use up to 500 layers something which was theoretically possible but ended up not working due to the mount option string passed via mount(2) being too large. This also allows a more privileged process to set config options for a lesser privileged process as the creds for fsconfig() and the creds for fsopen() can differ. We could restrict that they match by enforcing that the creds of fsopen() and fsconfig() match but I don't see why that needs to be the case and allows for a good delegation mechanism. Plus, in the future it means we're able to extend overlayfs mount options and allow users to specify layers via file descriptors instead of paths: fsconfig(FSCONFIG_SET_PATH{_EMPTY}, "lowerdir", "lower1", dirfd); /* append */ fsconfig(FSCONFIG_SET_PATH{_EMPTY}, "lowerdir", "lower2", dirfd); /* append */ fsconfig(FSCONFIG_SET_PATH{_EMPTY}, "lowerdir", "lower3", dirfd); /* clear all layers specified until now */ fsconfig(FSCONFIG_SET_STRING, "lowerdir", NULL, 0); This would be especially nice if users create an overlayfs mount on top of idmapped layers or just in general private mounts created via open_tree(OPEN_TREE_CLONE). Those mounts would then never have to appear anywhere in the filesystem. But for now just do the minimal thing. We should probably aim to move more validation into ovl_fs_parse_param() so users get errors before fsconfig(FSCONFIG_CMD_CREATE). But that can be done in additional patches later. This is now also rebased on top of the lazy lowerdata lookup which allows the specificatin of data only layers using the new "::" syntax. The rules are simple. A data only layers cannot be followed by any regular layers and data layers must be preceeded by at least one regular layer. Parsing the lowerdir mount option must change because of this. The original patchset used the old lowerdir parsing function to split a lowerdir mount option string such as: lowerdir=/lower1:/lower2::/lower3::/lower4 simply replacing each non-escaped ":" by "\0". So sequences of non-escaped ":" were counted as layers. For example, the previous lowerdir mount option above would've counted 6 layers instead of 4 and a lowerdir mount option such as: lowerdir="/lower1:/lower2::/lower3::/lower4:::::::::::::::::::::::::::" would be counted as 33 layers. Other than being ugly this didn't matter much because kern_path() would reject the first "\0" layer. However, this overcounting of layers becomes problematic when we base allocations on it where we very much only want to allocate space for 4 layers instead of 33. So the new parsing function rejects non-escaped sequences of colons other than ":" and "::" immediately instead of relying on kern_path(). Link: https://github.com/util-linux/util-linux/issues/2287 Link: https://github.com/util-linux/util-linux/issues/1992 Link: https://bugs.archlinux.org/task/78702 Link: https://lore.kernel.org/linux-unionfs/20230530-klagen-zudem-32c0908c2108@brauner Signed-off-by: Christian Brauner Signed-off-by: Amir Goldstein fs/overlayfs/Makefile | 2 +- fs/overlayfs/overlayfs.h | 23 +++ fs/overlayfs/ovl_entry.h | 3 +- fs/overlayfs/params.c | 389 +++++++++++++++++++++++++++++++++++++++++++++++ fs/overlayfs/super.c | 361 +++++++++++++------------------------------ 5 files changed, 520 insertions(+), 258 deletions(-) create mode 100644 fs/overlayfs/params.c accumulated error probability: 0.00 culprit signature: 5591eb0e4eaa727b144df25a16fc25396be5bc7f1ff8c658e8c212ffb7fe5529 parent signature: 49827684a26d36a01d76a7e3ce9cf3c51fdd0100fb78a636086abbf1106db81c revisions tested: 26, total time: 9h10m22.376885201s (build: 3h51m21.967936512s, test: 2h40m47.584029197s) first good commit: b36a5780cb44a16d4384639740d87e08d4cee627 ovl: modify layer parameter parsing recipients (to): ["amir73il@gmail.com" "brauner@kernel.org"] recipients (cc): []