ci2 starts bisection 2024-12-03 01:14:59.927680173 +0000 UTC m=+104.213144141 bisecting fixing commit since 38d4ca22a5288c4bae7e6d62a1728b0718d51866 building syzkaller on 4ffcc9efeba621d9391f2beb81ab904c2f97cefa ensuring issue is reproducible on original commit 38d4ca22a5288c4bae7e6d62a1728b0718d51866 testing commit 38d4ca22a5288c4bae7e6d62a1728b0718d51866 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0242675d314643b3a88af4cb58d9f82eeb12254d29fbd4a24a7f488578c6c196 all runs: crashed: possible deadlock in do_page_mkwrite representative crash: possible deadlock in do_page_mkwrite, 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 38d4ca22a5288c4bae7e6d62a1728b0718d51866 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b7ca24e4df173ec945cd1f249920fbb8162142b7a2a4009fb1f1ae3d0c9a4b74 all runs: OK false negative chance: 0.000 kconfig minimization: base=3706 full=7267 leaves diff=1987 split chunks (needed=false): <1987> split chunk #0 of len 1987 into 5 parts testing without sub-chunk 1/5 testing commit 38d4ca22a5288c4bae7e6d62a1728b0718d51866 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2f2516c9e46764afa7ab0f32675fc4beb5bc639f78b88aa690c75db08321a076 all runs: crashed: possible deadlock in do_page_mkwrite representative crash: possible deadlock in do_page_mkwrite, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 2/5 testing commit 38d4ca22a5288c4bae7e6d62a1728b0718d51866 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: aae1b93b413b67352f1e3f9f3826ae6772889bc60781412d731917b2d668d8fd run #0: crashed: possible deadlock in do_page_mkwrite run #1: crashed: possible deadlock in do_page_mkwrite run #2: crashed: possible deadlock in do_page_mkwrite run #3: crashed: possible deadlock in do_page_mkwrite run #4: crashed: possible deadlock in do_page_mkwrite run #5: crashed: possible deadlock in do_page_mkwrite run #6: crashed: possible deadlock in do_page_mkwrite run #7: crashed: possible deadlock in do_page_mkwrite run #8: crashed: possible deadlock in do_page_mkwrite run #9: OK representative crash: possible deadlock in do_page_mkwrite, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 3/5 testing commit 38d4ca22a5288c4bae7e6d62a1728b0718d51866 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 89cc93e32e6836ecebdda4515afdb79c5a05ca3349e7c81efc57427618afff41 run #0: crashed: possible deadlock in do_page_mkwrite run #1: crashed: possible deadlock in do_page_mkwrite run #2: crashed: possible deadlock in do_page_mkwrite run #3: crashed: possible deadlock in do_page_mkwrite run #4: crashed: possible deadlock in do_page_mkwrite run #5: crashed: possible deadlock in do_page_mkwrite run #6: crashed: possible deadlock in do_page_mkwrite run #7: crashed: possible deadlock in do_page_mkwrite run #8: crashed: possible deadlock in do_page_mkwrite run #9: OK representative crash: possible deadlock in do_page_mkwrite, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 4/5 testing commit 38d4ca22a5288c4bae7e6d62a1728b0718d51866 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2bde5358477d8235f2348c0fc34c92f97009c6d342eb0f17c502f4ebe9bb1751 all runs: OK false negative chance: 0.000 testing without sub-chunk 5/5 testing commit 38d4ca22a5288c4bae7e6d62a1728b0718d51866 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b27adf943b5dc11815d19c69673abab65555246cdec20125330fdfb0edfa2ea3 all runs: crashed: possible deadlock in do_page_mkwrite representative crash: possible deadlock in do_page_mkwrite, types: [LOCKDEP] the chunk can be dropped minimized to 398 configs; suspects: [AF_RXRPC ARCH_ENABLE_MEMORY_HOTREMOVE ASYMMETRIC_TPM_KEY_SUBTYPE ATM AX25 CFG80211 CMA DAX DLM DVB_CORE ENCRYPTED_KEYS EXTCON GENEVE GPIOLIB HAMRADIO HID_SENSOR_HUB HID_SMARTJOYPLUS HID_THRUSTMASTER IIO INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_IPOIB INFINIBAND_USER_ACCESS INFINIBAND_VIRT_DMA INPUT_TABLET INPUT_TOUCHSCREEN IP_SCTP L2TP LIBCRC32C LIBNVDIMM MEDIA_COMMON_OPTIONS MEDIA_DIGITAL_TV_SUPPORT MEDIA_RADIO_SUPPORT MEDIA_SDR_SUPPORT MEDIA_SUPPORT MEDIA_USB_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_DLN2 MFD_RETU MMC MTD MTD_UBI NETFILTER_CONNCOUNT NET_IPGRE NET_IPGRE_DEMUX NFS_V4_1 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 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 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 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 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_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 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 SMC SMC_DIAG SMSC_PHY 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 SPECULATION_MITIGATIONS 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_FUSB302 TYPEC_TCPCI TYPEC_TCPM TYPEC_TPS6598X TYPEC_UCSI 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 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_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_CONFIGFS_F_MIDI USB_CONFIGFS_F_PRINTER 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] testing current HEAD 0a51d2d4527b43c5e467ffa6897deefeaf499358 testing commit 0a51d2d4527b43c5e467ffa6897deefeaf499358 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e47abcceeff2aff72e96f64c7f4dc2515745220cb7bdcf7bc6e6d853718817e5 run #0: crashed: possible deadlock in do_page_mkwrite run #1: crashed: possible deadlock in do_page_mkwrite run #2: crashed: possible deadlock in do_page_mkwrite run #3: crashed: possible deadlock in do_page_mkwrite run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK representative crash: possible deadlock in do_page_mkwrite, types: [LOCKDEP] crash still not fixed/happens on the oldest tested release reproducer is flaky (1.00 repro chance estimate) revisions tested: 8, total time: 3h1m4.63766578s (build: 1h1m43.521800588s, test: 1h3m9.74054037s) crash still not fixed or there were kernel test errors commit msg: Linux 5.15.173 crash: possible deadlock in do_page_mkwrite reiserfs: enabling write barrier flush mode REISERFS (device loop0): Created .reiserfs_priv - reserved for xattr storage. ====================================================== WARNING: possible circular locking dependency detected 5.15.173-syzkaller #0 Not tainted ------------------------------------------------------ syz-executor.0/2561 is trying to acquire lock: ffff88800b7d0090 (&sbi->lock){+.+.}-{3:3}, at: reiserfs_write_lock+0x6b/0xe0 fs/reiserfs/lock.c:27 but task is already holding lock: ffff888076628540 (sb_pagefaults){.+.+}-{0:0}, at: do_page_mkwrite+0x186/0x400 mm/memory.c:2920 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #2 (sb_pagefaults){.+.+}-{0:0}: percpu_down_read include/linux/percpu-rwsem.h:51 [inline] __sb_start_write include/linux/fs.h:1813 [inline] sb_start_pagefault include/linux/fs.h:1912 [inline] filemap_page_mkwrite+0x11c/0x5c0 mm/filemap.c:3367 do_page_mkwrite+0x186/0x400 mm/memory.c:2920 do_shared_fault mm/memory.c:4326 [inline] do_fault mm/memory.c:4394 [inline] handle_pte_fault mm/memory.c:4648 [inline] __handle_mm_fault+0x1c37/0x3530 mm/memory.c:4783 handle_mm_fault+0x166/0x5e0 mm/memory.c:4881 do_user_addr_fault+0x2dc/0xca0 arch/x86/mm/fault.c:1357 handle_page_fault arch/x86/mm/fault.c:1445 [inline] exc_page_fault+0x5a/0xc0 arch/x86/mm/fault.c:1501 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606 copy_user_enhanced_fast_string+0xe/0x40 arch/x86/lib/copy_user_64.S:205 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline] raw_copy_to_user arch/x86/include/asm/uaccess_64.h:58 [inline] copyout.part.0+0x83/0xa0 lib/iov_iter.c:157 copyout lib/iov_iter.c:191 [inline] copy_page_to_iter_iovec lib/iov_iter.c:228 [inline] __copy_page_to_iter lib/iov_iter.c:861 [inline] copy_page_to_iter+0x1e8/0xb80 lib/iov_iter.c:889 filemap_read+0x4f8/0xb00 mm/filemap.c:2698 call_read_iter include/linux/fs.h:2168 [inline] new_sync_read+0x35a/0x5f0 fs/read_write.c:404 vfs_read+0x268/0x4c0 fs/read_write.c:485 ksys_read+0xf4/0x1d0 fs/read_write.c:623 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0x80 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 -> #1 (&mm->mmap_lock){++++}-{3:3}: __might_fault mm/memory.c:5355 [inline] __might_fault+0xe8/0x160 mm/memory.c:5340 reiserfs_ioctl+0x1f2/0x290 fs/reiserfs/ioctl.c:96 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:874 [inline] __se_sys_ioctl fs/ioctl.c:860 [inline] __x64_sys_ioctl+0x11f/0x190 fs/ioctl.c:860 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0x80 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 -> #0 (&sbi->lock){+.+.}-{3:3}: 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+0x2a3d/0x55a0 kernel/locking/lockdep.c:5012 lock_acquire kernel/locking/lockdep.c:5623 [inline] lock_acquire+0x19d/0x4b0 kernel/locking/lockdep.c:5588 __mutex_lock_common kernel/locking/mutex.c:596 [inline] __mutex_lock+0x12c/0x12d0 kernel/locking/mutex.c:729 reiserfs_write_lock+0x6b/0xe0 fs/reiserfs/lock.c:27 reiserfs_dirty_inode+0xb3/0x210 fs/reiserfs/super.c:704 __mark_inode_dirty+0x149/0xa30 fs/fs-writeback.c:2464 generic_update_time+0x18e/0x300 fs/inode.c:1856 inode_update_time fs/inode.c:1869 [inline] file_update_time+0x32e/0x420 fs/inode.c:2058 filemap_page_mkwrite+0x1f1/0x5c0 mm/filemap.c:3368 do_page_mkwrite+0x186/0x400 mm/memory.c:2920 do_shared_fault mm/memory.c:4326 [inline] do_fault mm/memory.c:4394 [inline] handle_pte_fault mm/memory.c:4648 [inline] __handle_mm_fault+0x1c37/0x3530 mm/memory.c:4783 handle_mm_fault+0x166/0x5e0 mm/memory.c:4881 do_user_addr_fault+0x2dc/0xca0 arch/x86/mm/fault.c:1357 handle_page_fault arch/x86/mm/fault.c:1445 [inline] exc_page_fault+0x5a/0xc0 arch/x86/mm/fault.c:1501 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606 copy_user_enhanced_fast_string+0xe/0x40 arch/x86/lib/copy_user_64.S:205 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline] raw_copy_to_user arch/x86/include/asm/uaccess_64.h:58 [inline] copyout.part.0+0x83/0xa0 lib/iov_iter.c:157 copyout lib/iov_iter.c:191 [inline] copy_page_to_iter_iovec lib/iov_iter.c:228 [inline] __copy_page_to_iter lib/iov_iter.c:861 [inline] copy_page_to_iter+0x1e8/0xb80 lib/iov_iter.c:889 filemap_read+0x4f8/0xb00 mm/filemap.c:2698 call_read_iter include/linux/fs.h:2168 [inline] new_sync_read+0x35a/0x5f0 fs/read_write.c:404 vfs_read+0x268/0x4c0 fs/read_write.c:485 ksys_read+0xf4/0x1d0 fs/read_write.c:623 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0x80 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 other info that might help us debug this: Chain exists of: &sbi->lock --> &mm->mmap_lock --> sb_pagefaults Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(sb_pagefaults); lock(&mm->mmap_lock); lock(sb_pagefaults); lock(&sbi->lock); *** DEADLOCK *** 3 locks held by syz-executor.0/2561: #0: ffff88806cd6f270 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x9c/0x120 fs/file.c:1057 #1: ffff88807dcdea28 (&mm->mmap_lock){++++}-{3:3}, at: mmap_read_trylock include/linux/mmap_lock.h:136 [inline] #1: ffff88807dcdea28 (&mm->mmap_lock){++++}-{3:3}, at: do_user_addr_fault+0x18d/0xca0 arch/x86/mm/fault.c:1298 #2: ffff888076628540 (sb_pagefaults){.+.+}-{0:0}, at: do_page_mkwrite+0x186/0x400 mm/memory.c:2920 stack backtrace: CPU: 0 PID: 2561 Comm: syz-executor.0 Not tainted 5.15.173-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+0x57/0x7d lib/dump_stack.c:106 check_noncircular+0x25f/0x2e0 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+0x2a3d/0x55a0 kernel/locking/lockdep.c:5012 lock_acquire kernel/locking/lockdep.c:5623 [inline] lock_acquire+0x19d/0x4b0 kernel/locking/lockdep.c:5588 __mutex_lock_common kernel/locking/mutex.c:596 [inline] __mutex_lock+0x12c/0x12d0 kernel/locking/mutex.c:729 reiserfs_write_lock+0x6b/0xe0 fs/reiserfs/lock.c:27 reiserfs_dirty_inode+0xb3/0x210 fs/reiserfs/super.c:704 __mark_inode_dirty+0x149/0xa30 fs/fs-writeback.c:2464 generic_update_time+0x18e/0x300 fs/inode.c:1856 inode_update_time fs/inode.c:1869 [inline] file_update_time+0x32e/0x420 fs/inode.c:2058 filemap_page_mkwrite+0x1f1/0x5c0 mm/filemap.c:3368 do_page_mkwrite+0x186/0x400 mm/memory.c:2920 do_shared_fault mm/memory.c:4326 [inline] do_fault mm/memory.c:4394 [inline] handle_pte_fault mm/memory.c:4648 [inline] __handle_mm_fault+0x1c37/0x3530 mm/memory.c:4783 handle_mm_fault+0x166/0x5e0 mm/memory.c:4881 do_user_addr_fault+0x2dc/0xca0 arch/x86/mm/fault.c:1357 handle_page_fault arch/x86/mm/fault.c:1445 [inline] exc_page_fault+0x5a/0xc0 arch/x86/mm/fault.c:1501 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606 RIP: 0010:copy_user_enhanced_fast_string+0xe/0x40 arch/x86/lib/copy_user_64.S:206 Code: 89 d1 c1 e9 03 83 e2 07 f3 48 a5 89 d1 f3 a4 31 c0 0f 01 ca c3 0f 1f 80 00 00 00 00 0f 01 cb 83 fa 40 0f 82 70 ff ff ff 89 d1 a4 31 c0 0f 01 ca c3 66 2e 0f 1f 84 00 00 00 00 00 89 d1 83 f8 RSP: 0018:ffffc900026ffa80 EFLAGS: 00050206 RAX: 0000000000000001 RBX: 0000000000001000 RCX: 0000000000001000 RDX: 0000000000001000 RSI: ffff88806b8c4000 RDI: 0000000020001740 RBP: 0000000020001740 R08: 0000000000000000 R09: ffff88806b8c4fff R10: ffffed100d7189ff R11: 0000000000000000 R12: ffff88806b8c4000 R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000001000 copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline] raw_copy_to_user arch/x86/include/asm/uaccess_64.h:58 [inline] copyout.part.0+0x83/0xa0 lib/iov_iter.c:157 copyout lib/iov_iter.c:191 [inline] copy_page_to_iter_iovec lib/iov_iter.c:228 [inline] __copy_page_to_iter lib/iov_iter.c:861 [inline] copy_page_to_iter+0x1e8/0xb80 lib/iov_iter.c:889 filemap_read+0x4f8/0xb00 mm/filemap.c:2698 call_read_iter include/linux/fs.h:2168 [inline] new_sync_read+0x35a/0x5f0 fs/read_write.c:404 vfs_read+0x268/0x4c0 fs/read_write.c:485 ksys_read+0xf4/0x1d0 fs/read_write.c:623 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x33/0x80 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x66/0xd0 RIP: 0033:0x7fe81e92dae9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 e1 20 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fe81e4b00c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000 RAX: ffffffffffffffda RBX: 00007fe81ea4cf80 RCX: 00007fe81e92dae9 RDX: 0000000000002020 RSI: 0000000020001740 RDI: 0000000000000005 RBP: 00007fe81e97947a R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000006 R14: 00007fe81ea4cf80 R15: 00007ffd7288dcf8 ---------------- Code disassembly (best guess): 0: 89 d1 mov %edx,%ecx 2: c1 e9 03 shr $0x3,%ecx 5: 83 e2 07 and $0x7,%edx 8: f3 48 a5 rep movsq %ds:(%rsi),%es:(%rdi) b: 89 d1 mov %edx,%ecx d: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) f: 31 c0 xor %eax,%eax 11: 0f 01 ca clac 14: c3 ret 15: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) 1c: 0f 01 cb stac 1f: 83 fa 40 cmp $0x40,%edx 22: 0f 82 70 ff ff ff jb 0xffffff98 28: 89 d1 mov %edx,%ecx * 2a: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) <-- trapping instruction 2c: 31 c0 xor %eax,%eax 2e: 0f 01 ca clac 31: c3 ret 32: 66 2e 0f 1f 84 00 00 cs nopw 0x0(%rax,%rax,1) 39: 00 00 00 3c: 89 d1 mov %edx,%ecx 3e: 83 .byte 0x83 3f: f8 clc