ci2 starts bisection 2025-01-12 05:20:10.536258814 +0000 UTC m=+127453.181991368 bisecting fixing commit since 4735586da88ed2254ada53bbe19ce4fe968a1e7b building syzkaller on f3558dbf032eab2b77c1cb11b9ce2baffe7838d3 ensuring issue is reproducible on original commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b testing commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 23063c979ea0e6a2b3d65a3b1a25ec65ac53078e11926b69f4782e408907c9ef 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 [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed testing commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 757464328f157e6ff6cfabdff5232a14cbb80a9548824c0c6a1f01b7c35bae31 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 [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed kconfig minimization: base=3706 full=7305 leaves diff=2038 split chunks (needed=false): <2038> split chunk #0 of len 2038 into 5 parts testing without sub-chunk 1/5 disabling configs for [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed testing commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 09a854a805ffcff6cfdf568439230b1bf56dfdc58c554d7b140a4e31850bd5e2 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 [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed testing commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 071b436a3db954424df8feb2d7c2c3081638b2e30c7b2a2f3cefa5070b674e61 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 [KASAN ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed testing commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 42e3a0ac3d7fd6b6bf298d3877de96a9dc532b85cdd7e8513b89f49dec8add9a 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 [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 80c742c778e115882e18262d79391621a1e1ce8f32e540f91aa7608a76800156 run #0: ignore: lost connection to test machine 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 testing without sub-chunk 5/5 disabling configs for [UBSAN BUG KASAN ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 4735586da88ed2254ada53bbe19ce4fe968a1e7b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 05a90f30c04464631ebec595a1e6eef8871e6bc265d383338f878045dc578cfa all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] the chunk can be dropped minimized to 408 configs; suspects: [AF_RXRPC ARCH_ENABLE_MEMORY_HOTREMOVE ASYMMETRIC_TPM_KEY_SUBTYPE ATM AX25 BXT_WC_PMIC_OPREGION CFG80211 CMA DAX DLM DVB_CORE ENCRYPTED_KEYS EXTCON GENEVE GPIOLIB HAMRADIO 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 LIBCRC32C LIBNVDIMM 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_RETU MMC MTD MTD_UBI NETFILTER_CONNCOUNT NET_IPGRE NET_IPGRE_DEMUX NFS_V4_1 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_REPORTING 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 PMIC_OPREGION 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_DYNAMIC PREEMPT_NOTIFIERS PREEMPT_RCU 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 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_COMMON SMB_SERVER 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_LED SND_CTL_VALIDATION 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_CGROUP_DATA 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 STP STREAM_PARSER SUNRPC_BACKCHANNEL SUN_PARTITION SW_SYNC 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_RCU TASKS_RCU_GENERIC 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 TPM_KEY_PARSER TRANSPARENT_HUGEPAGE TRANSPARENT_HUGEPAGE_MADVISE TRUSTED_KEYS TTPCI_EEPROM TTY_PRINTK TUN_VNET_CROSS_LE TWL4030_CORE TYPEC TYPEC_DP_ALTMODE TYPEC_FUSB302 TYPEC_HD3SS3220 TYPEC_MT6360 TYPEC_MUX_INTEL_PMC TYPEC_NVIDIA_ALTMODE TYPEC_RT1711H TYPEC_STUSB160X TYPEC_TCPCI TYPEC_TCPCI_MAXIM TYPEC_TCPM TYPEC_TPS6598X TYPEC_UCSI TYPEC_WCOVE 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 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_IMX USB_CHIPIDEA_MSM USB_CHIPIDEA_PCI USB_CHIPIDEA_TEGRA USB_CHIPIDEA_UDC USB_CONFIGFS USB_CONFIGFS_ACM USB_CONFIGFS_ECM USB_CONFIGFS_ECM_SUBSET USB_CONFIGFS_EEM USB_CONFIGFS_F_FS USB_CONFIGFS_F_HID USB_CONFIGFS_F_LB_SS USB_DWC2 USB_GADGET USB_MUSB_HDRC USB_NET_CDC_SUBSET USB_ROLE_SWITCH USB_STORAGE_REALTEK USB_ULPI_BUS USB_USBNET VIDEO_DEV VIDEO_V4L2 VXLAN WIRELESS WLAN ZONE_DEVICE] disabling configs for [KASAN ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed determining the merge base between 4735586da88ed2254ada53bbe19ce4fe968a1e7b and b62cef9a5c673f1b8083159f5dc03c1c5daced2f 8bb7eca972ad531c9b149c0a51ab43a417385813/Linux 5.15 is a merge base, check if it has the bug testing commit 8bb7eca972ad531c9b149c0a51ab43a417385813 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 16a705ad7413d813284eff267254c504d8f52e38ed525c646bfb145bccbd4613 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] testing current HEAD b62cef9a5c673f1b8083159f5dc03c1c5daced2f testing commit b62cef9a5c673f1b8083159f5dc03c1c5daced2f gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1487dcabb214a282d60429dddbedab6ae2a0e1272d11dc0df0973b4f078ef232 all runs: OK false negative chance: 0.000 # git bisect start b62cef9a5c673f1b8083159f5dc03c1c5daced2f 8bb7eca972ad531c9b149c0a51ab43a417385813 Bisecting: 139962 revisions left to test after this (roughly 17 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 8bb7eca972ad531c9b149c0a51ab43a417385813 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: 2c4368f04cdb7e54ea3d2dfb25df757f3ec3eb30b281565c20ded864b35013d3 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good f085df1be60abf670315c11036261cfaec16b2eb Bisecting: 71078 revisions left to test after this (roughly 16 steps) [1f440397665f4241346e4cc6d93f8b73880815d1] Merge tag 'docs-6.9' of git://git.lwn.net/linux determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 1f440397665f4241346e4cc6d93f8b73880815d1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 00fe28eeadbe243c9be9d3cf793e2c621fbf8c14a34970e94232b80ba964f2eb all runs: OK false negative chance: 0.000 # git bisect bad 1f440397665f4241346e4cc6d93f8b73880815d1 Bisecting: 34885 revisions left to test after this (roughly 15 steps) [4ded3bfe1db655367642aadba91aee770cbab317] wifi: mac80211: use wiphy locked debugfs for sdata/link determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 4ded3bfe1db655367642aadba91aee770cbab317 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 266af86d818f57c7e3db4e6e41e6d9bc72488831c21f7e3d29b82fa19335da0f all runs: OK false negative chance: 0.000 # git bisect bad 4ded3bfe1db655367642aadba91aee770cbab317 Bisecting: 17008 revisions left to test after this (roughly 14 steps) [052059b663c957aea5a90f206ece4849f88f34bf] Merge tag 'nf-next-2023-08-08' of https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit 052059b663c957aea5a90f206ece4849f88f34bf gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0f321a9115f10d0664a32decf7785331f2686ec38802c51ed456d05ae8816d2e all runs: OK false negative chance: 0.000 # git bisect bad 052059b663c957aea5a90f206ece4849f88f34bf Bisecting: 7781 revisions left to test after this (roughly 13 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 8bb7eca972ad531c9b149c0a51ab43a417385813 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: 46d8ddff74bcdfc13a0e48336e9751c19f224b6b422982ee0a1cfd40003962a7 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 1b722407a13b7f8658d2e26917791f32805980a2 Bisecting: 3855 revisions left to test after this (roughly 12 steps) [56cbceab928d7ac3702de172ff8dcc1da2a6aaeb] Merge tag 'usb-6.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb determine whether the revision contains the guilty commit revision 1b722407a13b7f8658d2e26917791f32805980a2 crashed and is reachable testing commit 56cbceab928d7ac3702de172ff8dcc1da2a6aaeb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ffbacc231c99263df1c5ccfb2299846c6727e9ab1e8d7927845e8ac9827e369f all runs: OK false negative chance: 0.000 # git bisect bad 56cbceab928d7ac3702de172ff8dcc1da2a6aaeb Bisecting: 2077 revisions left to test after this (roughly 11 steps) [d2a6fd45c5c4a5c5fdfe6c57f74f630e61d8d9a0] Merge tag 'probes-v6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit d2a6fd45c5c4a5c5fdfe6c57f74f630e61d8d9a0 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 22d739310959211a6d2710fe4860ca134388cd0d12e9fc8c6c9e79488a208815 all runs: OK false negative chance: 0.000 # git bisect bad d2a6fd45c5c4a5c5fdfe6c57f74f630e61d8d9a0 Bisecting: 935 revisions left to test after this (roughly 10 steps) [11d5441cde740c89252290e04ad79f133c366bdb] arm: dts: Enable device-tree overlay support for AT91 boards determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit 11d5441cde740c89252290e04ad79f133c366bdb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7e8ea1f6f6e02f587c197aafe13c9389fb59b510d0086431ed7a5ca5d9050cbe all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 11d5441cde740c89252290e04ad79f133c366bdb Bisecting: 459 revisions left to test after this (roughly 9 steps) [e4c8d01865118ab148f77bdb54ec9c0c181d90a3] Merge tag 'soc-drivers-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 e4c8d01865118ab148f77bdb54ec9c0c181d90a3 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5e391d55358788b71ba109372fa8c43e9d3e3e2d83a7d11bdbd13bf7957b59c3 all runs: OK false negative chance: 0.000 # git bisect bad e4c8d01865118ab148f77bdb54ec9c0c181d90a3 Bisecting: 232 revisions left to test after this (roughly 8 steps) [b775d6c5859affe00527cbe74263de05cfe6b9f9] Merge tag 'mips_6.5' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit b775d6c5859affe00527cbe74263de05cfe6b9f9 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: dacf5b9c99f7f095737533d30f501230a453042281eaf7d4eb7f15ddce448324 all runs: OK false negative chance: 0.000 # git bisect bad b775d6c5859affe00527cbe74263de05cfe6b9f9 Bisecting: 120 revisions left to test after this (roughly 7 steps) [18c9901d7435b20b13357907bac2c0e3b0fd4cd6] Merge tag 'fsnotify_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 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 18c9901d7435b20b13357907bac2c0e3b0fd4cd6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 26a9a16549809455bb51493c72f890aa8671080bafbb58f8c26d89306c655933 all runs: OK false negative chance: 0.000 # git bisect bad 18c9901d7435b20b13357907bac2c0e3b0fd4cd6 Bisecting: 66 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 8bb7eca972ad531c9b149c0a51ab43a417385813 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: 6b2a545eb48f791a440dbeaf540fc433919acec658f239871d2409e692fe92bf all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 2ef6c32a914b85217b44a0a2418e830e520b085e Bisecting: 32 revisions left to test after this (roughly 5 steps) [b9d02c224d00a412d9c7fb1f92c358604038a783] Merge tag 'jfs-6.5' of github.com:kleikamp/linux-shaggy determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit b9d02c224d00a412d9c7fb1f92c358604038a783 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1be0202ca0edb6414829712b02c4ba8535042579757efab571f6c6c5204a6bd2 all runs: OK false negative chance: 0.000 # git bisect bad b9d02c224d00a412d9c7fb1f92c358604038a783 Bisecting: 16 revisions left to test after this (roughly 4 steps) [f723edb8a532cd26e1ff0a2b271d73762d48f762] ovl: check type and offset of struct vfsmount in ovl_entry determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit f723edb8a532cd26e1ff0a2b271d73762d48f762 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e8f54b704f9a0ee6380ad79b34321f76324e90ff6fd03309b4009e80109133a8 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good f723edb8a532cd26e1ff0a2b271d73762d48f762 Bisecting: 8 revisions left to test after this (roughly 3 steps) [ceecc2d87f007f9fc34e847401282111c0c29786] ovl: reserve ability to reconfigure mount options with new mount api determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb crashed and is reachable testing commit ceecc2d87f007f9fc34e847401282111c0c29786 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 35782a1321f41ee8e1eb46951f265603d9994e6c0abbe4cfe4a18064943ea441 all runs: OK false negative chance: 0.000 # git bisect bad ceecc2d87f007f9fc34e847401282111c0c29786 Bisecting: 3 revisions left to test after this (roughly 2 steps) [af5f2396b671c9857b113584d4bd43413b39cfdb] ovl: store enum redirect_mode in config instead of a string determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit af5f2396b671c9857b113584d4bd43413b39cfdb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a37f018cd47a0750d20c740a3236d2ce1516144e16c7d44db5ab97eb9666b075 all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good af5f2396b671c9857b113584d4bd43413b39cfdb Bisecting: 1 revision left to test after this (roughly 1 step) [1784fbc2ed9c888ea4e895f30a53207ed7ee8208] ovl: port to new mount api determine whether the revision contains the guilty commit revision f085df1be60abf670315c11036261cfaec16b2eb 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: 2253b020e8f18f0b88968e7700dc3021942f4f32dcfb2ba68d6635dec1b51cff all runs: crashed: possible deadlock in ocfs2_setattr representative crash: possible deadlock in ocfs2_setattr, types: [LOCKDEP] # git bisect good 1784fbc2ed9c888ea4e895f30a53207ed7ee8208 Bisecting: 0 revisions left to test after this (roughly 0 steps) [b36a5780cb44a16d4384639740d87e08d4cee627] ovl: modify layer parameter parsing determine whether the revision contains the guilty commit revision af5f2396b671c9857b113584d4bd43413b39cfdb 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: 263fa9c3111151be6899cc400961ec669d6ee058f75d93c73c1c13953abbfcaf all runs: OK false negative chance: 0.000 # git bisect bad b36a5780cb44a16d4384639740d87e08d4cee627 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: 263fa9c3111151be6899cc400961ec669d6ee058f75d93c73c1c13953abbfcaf parent signature: 2253b020e8f18f0b88968e7700dc3021942f4f32dcfb2ba68d6635dec1b51cff revisions tested: 27, total time: 6h2m36.370695393s (build: 2h40m22.63953263s, test: 3h10m27.315456748s) first good commit: b36a5780cb44a16d4384639740d87e08d4cee627 ovl: modify layer parameter parsing recipients (to): ["amir73il@gmail.com" "brauner@kernel.org"] recipients (cc): []