ci starts bisection 2024-10-01 23:54:51.96883663 +0000 UTC m=+31419.470034222 bisecting cause commit starting from e32cde8d2bd7d251a8f9b434143977ddf13dcec6 building syzkaller on ea2b66a65b01cd61336424457391310e8dd8b62b ensuring issue is reproducible on original commit e32cde8d2bd7d251a8f9b434143977ddf13dcec6 testing commit e32cde8d2bd7d251a8f9b434143977ddf13dcec6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b0a7eeee16e370e4fe9d80dd2c017e9348366191b03bda948ef86b000a055f3d all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, 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 e32cde8d2bd7d251a8f9b434143977ddf13dcec6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 41ccd968ef87e7382ad903c047b76240118723a9c7bf67cf74472d87fa7fc8ac all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] the bug reproduces without the instrumentation disabling configs for [LEAK UBSAN BUG KASAN ATOMIC_SLEEP HANG], they are not needed kconfig minimization: base=4045 full=8193 leaves diff=2110 split chunks (needed=false): <2110> split chunk #0 of len 2110 into 5 parts testing without sub-chunk 1/5 disabling configs for [LEAK UBSAN BUG KASAN ATOMIC_SLEEP HANG], they are not needed testing commit e32cde8d2bd7d251a8f9b434143977ddf13dcec6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1f29f4bd3f664a9530645e197dbc225b74537bb3f076bbdcb0c59c82af98fed2 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, 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 e32cde8d2bd7d251a8f9b434143977ddf13dcec6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6f1fc626d0c9f4a889a37ae4d9eccb51863fe98d749c0d52029795536796a65d all runs: OK false negative chance: 0.000 testing without sub-chunk 3/5 disabling configs for [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed testing commit e32cde8d2bd7d251a8f9b434143977ddf13dcec6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: bca1413e0b85363e5a9ce306457569b1a747246e24e6ce6ce9c578ea07768541 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, 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 e32cde8d2bd7d251a8f9b434143977ddf13dcec6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 568f0edd83f1cccadf925de8adc3469a80b1a424bd0ada4c01dccd9af6c1a30d all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit e32cde8d2bd7d251a8f9b434143977ddf13dcec6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 43dd79fb429866e09cf38fa83df51c49ade2e1f2511672dd4ebe4f584a342121 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] the chunk can be dropped minimized to 422 configs; suspects: [6LOWPAN ARCH_ENABLE_MEMORY_HOTREMOVE ASUS_WMI CHARGER_BQ24190 CMA COMMON_CLK DAX DLM DRM DRM_TTM DRM_TTM_HELPER DRM_UDL DRM_VGEM DRM_VIRTIO_GPU DRM_VIRTIO_GPU_KMS DRM_VKMS DRM_VMWGFX DRM_VRAM_HELPER DUMMY DVB_AF9013 DVB_AF9033 DVB_AS102 DVB_AS102_FE DVB_B2C2_FLEXCOP DVB_B2C2_FLEXCOP_USB DVB_CORE DVB_DIB3000MB DVB_DIB3000MC DVB_EC100 DVB_GP8PSK_FE DVB_RTL2830 DVB_RTL2832 DVB_RTL2832_SDR DVB_TEST_DRIVERS DVB_TTUSB_BUDGET DVB_TTUSB_DEC DVB_USB DVB_USB_A800 DVB_USB_AF9005 DVB_USB_AF9005_REMOTE DVB_USB_AF9015 DVB_USB_AF9035 DVB_USB_ANYSEE DVB_USB_AU6610 DVB_USB_AZ6007 DVB_USB_AZ6027 DVB_USB_CE6230 DVB_USB_CINERGY_T2 DVB_USB_CXUSB DVB_USB_CXUSB_ANALOG DVB_USB_DIB0700 DVB_USB_DIB3000MC DVB_USB_DIBUSB_MB DVB_USB_DIBUSB_MC DVB_USB_DIGITV DVB_USB_DTT200U DVB_USB_DTV5100 DVB_USB_DVBSKY DVB_USB_DW2102 DVB_USB_EC168 DVB_USB_GL861 DVB_USB_GP8PSK DVB_USB_LME2510 DVB_USB_M920X DVB_USB_MXL111SF DVB_USB_NOVA_T_USB2 DVB_USB_OPERA1 DVB_USB_PCTV452E DVB_USB_RTL28XXU DVB_USB_TECHNISAT_USB2 DVB_USB_TTUSB2 DVB_USB_UMT_010 DVB_USB_V2 DVB_USB_VP702X DVB_USB_VP7045 DVB_USB_ZD1301 DVB_VIDTV DVB_ZL10353 ECRYPT_FS ECRYPT_FS_MESSAGING EDAC EEPROM_93CX6 EFS_FS ENCRYPTED_KEYS EQUALIZER EROFS_FS EROFS_FS_BACKED_BY_FILE EROFS_FS_POSIX_ACL EROFS_FS_SECURITY EROFS_FS_XATTR EROFS_FS_ZIP EVM EVM_ADD_XATTRS EVM_ATTR_FSUUID EXFAT_FS EXPORTFS_BLOCK_OPS EXT3_FS EXT3_FS_POSIX_ACL EXT3_FS_SECURITY EXTCON EXTCON_INTEL_CHT_WC EXTCON_PTN5150 EXTCON_USBC_TUSB320 F2FS_CHECK_FS F2FS_FAULT_INJECTION F2FS_FS F2FS_FS_COMPRESSION F2FS_FS_LZ4 F2FS_FS_LZ4HC F2FS_FS_LZO F2FS_FS_LZORLE F2FS_FS_POSIX_ACL F2FS_FS_SECURITY F2FS_FS_XATTR F2FS_FS_ZSTD F2FS_STAT_FS FANOTIFY FANOTIFY_ACCESS_PERMISSIONS FB FB_CFB_COPYAREA FB_CFB_FILLRECT FB_CFB_IMAGEBLIT FB_CORE FB_DEFERRED_IO FB_DEVICE FB_IOMEM_FOPS FB_IOMEM_HELPERS FB_NOTIFY FB_SYSMEM_FOPS FB_SYSMEM_HELPERS FB_SYSMEM_HELPERS_DEFERRED FB_SYS_COPYAREA FB_SYS_FILLRECT FB_SYS_IMAGEBLIT FB_TILEBLITTING FB_VESA FB_VGA16 FB_VIRTUAL FDDI FIREWIRE FIREWIRE_NET FIREWIRE_OHCI FIREWIRE_SBP2 FONT_8x16 FONT_8x8 FONT_SUPPORT FRAMEBUFFER_CONSOLE FRAMEBUFFER_CONSOLE_DETECT_PRIMARY FRAMEBUFFER_CONSOLE_ROTATION FS_DAX FS_DAX_PMD FS_ENCRYPTION FS_ENCRYPTION_ALGS FS_STACK FS_VERITY FS_VERITY_BUILTIN_SIGNATURES FTL FUSE_DAX FUSE_FS FW_LOADER_COMPRESS FW_LOADER_PAGED_BUF FW_LOADER_SYSFS FW_LOADER_USER_HELPER FW_LOADER_USER_HELPER_FALLBACK GACT_PROB GARP GENERIC_PHY GET_FREE_REGION GFS2_FS GFS2_FS_LOCKING_DLM GNSS GNSS_USB GOOGLE_COREBOOT_TABLE GOOGLE_FIRMWARE GOOGLE_MEMCONSOLE GOOGLE_MEMCONSOLE_COREBOOT GOOGLE_VPD GPIOLIB GPIOLIB_IRQCHIP GPIO_ACPI GPIO_DLN2 GPIO_LJCA GPIO_VIPERBOARD GREENASIA_FF GREYBUS GREYBUS_BRIDGED_PHY GREYBUS_ES2 GREYBUS_HID GREYBUS_USB GROUP_SCHED_WEIGHT GTP GUEST_PERF_EVENTS GVE HAVE_ARCH_NODE_DEV_GROUP HAVE_ARCH_USERFAULTFD_MINOR HAVE_ARCH_USERFAULTFD_WP HAVE_BOOTMEM_INFO_NODE HAVE_CLK_PREPARE HAVE_KVM_CPU_RELAX_INTERCEPT HAVE_KVM_DIRTY_RING HAVE_KVM_DIRTY_RING_ACQ_REL HAVE_KVM_DIRTY_RING_TSO HAVE_KVM_IRQCHIP HAVE_KVM_IRQ_BYPASS HAVE_KVM_IRQ_ROUTING HAVE_KVM_MSI HAVE_KVM_NO_POLL HAVE_KVM_PFNCACHE HAVE_KVM_PM_NOTIFIER HAVE_KVM_READONLY_MEM HAVE_SCHED_AVG_IRQ HDLC HDLC_CISCO HDLC_FR HDLC_PPP HDLC_RAW HDLC_RAW_ETH HDLC_X25 HDMI HFSPLUS_FS HFS_FS HID_ACCUTOUCH HID_ACRUX HID_ACRUX_FF HID_ALPS HID_APPLEIR HID_ASUS HID_AUREAL HID_BATTERY_STRENGTH HID_BETOP_FF HID_BIGBEN_FF HID_CMEDIA HID_CORSAIR HID_COUGAR HID_CP2112 HID_CREATIVE_SB0540 HID_ELAN HID_ELECOM HID_ELO HID_EMS_FF HID_EVISION HID_FT260 HID_GEMBIRD HID_GFRM HID_GLORIOUS HID_GOOGLE_STADIA_FF HID_GREENASIA HID_GT683R HID_HOLTEK HID_ICADE HID_JABRA HID_KEYTOUCH HID_KYE HID_LCPOWER HID_LED HID_LENOVO HID_LETSKETCH HID_LOGITECH_DJ HID_LOGITECH_HIDPP HID_MACALLY HID_MAGICMOUSE HID_MALTRON HID_MAYFLASH HID_MCP2200 HID_MCP2221 HID_MEGAWORLD_FF HID_MULTITOUCH HID_NTI HID_ORTEK HID_PENMOUNT HID_PICOLCD HID_PICOLCD_BACKLIGHT HID_PICOLCD_CIR HID_PICOLCD_FB HID_PICOLCD_LCD HID_PICOLCD_LEDS HID_PLANTRONICS HID_PRIMAX HID_PRODIKEYS HID_PXRC HID_RAZER HID_RETRODE HID_RMI HID_ROCCAT HID_SAITEK HID_SEMITEK HID_SENSOR_ACCEL_3D HID_SENSOR_ALS HID_SENSOR_CUSTOM_INTEL_HINGE HID_SENSOR_CUSTOM_SENSOR HID_SENSOR_DEVICE_ROTATION HID_SENSOR_GYRO_3D HID_SENSOR_HUB HID_SENSOR_HUMIDITY HID_SENSOR_IIO_COMMON HID_SENSOR_IIO_TRIGGER HID_SENSOR_INCLINOMETER_3D HID_SENSOR_MAGNETOMETER_3D HID_SENSOR_PRESS HID_SENSOR_PROX HID_SENSOR_TEMP HID_SIGMAMICRO HID_SPEEDLINK HID_STEELSERIES HID_THINGM HID_TIVO HID_TOPRE HID_TWINHAN HID_U2FZERO HID_UCLOGIC HID_UDRAW_PS3 HID_VIEWSONIC HID_VIVALDI HID_VIVALDI_COMMON HID_VRC2 HID_WACOM HID_WALTOP HID_WIIMOTE HID_XIAOMI HID_XINMO HID_ZYDACRON HMM_MIRROR HOLTEK_FF HOTPLUG_PCI_PCIE HPET_MMAP HPET_MMAP_DEFAULT HPFS_FS I2C_ALGOBIT I2C_CHARDEV I2C_CP2615 I2C_DESIGNWARE_CORE I2C_DESIGNWARE_PLATFORM I2C_DIOLAN_U2C I2C_DLN2 I2C_HID_ACPI I2C_HID_CORE I2C_HID_OF I2C_LJCA I2C_MUX I2C_MUX_REG I2C_ROBOTFUZZ_OSIF I2C_SI4713 I2C_SLAVE I2C_SLAVE_EEPROM I2C_TINY_USB I2C_VIPERBOARD IEEE802154 IEEE802154_6LOWPAN IEEE802154_ATUSB IEEE802154_DRIVERS IEEE802154_HWSIM IEEE802154_NL802154_EXPERIMENTAL IEEE802154_SOCKET IFB IIO IIO_BUFFER IIO_KFIFO_BUF IIO_TRIGGER IIO_TRIGGERED_BUFFER IKCONFIG IKCONFIG_PROC IMA IMA_APPRAISE IMA_APPRAISE_MODSIG IMA_DEFAULT_HASH_SHA256 IMA_LSM_RULES IMA_MEASURE_ASYMMETRIC_KEYS IMA_NG_TEMPLATE IMA_QUEUE_EARLY_BOOT_KEYS IMA_READ_POLICY IMA_WRITE_POLICY INET6_ESPINTCP INET6_ESP_OFFLOAD INET6_IPCOMP INET6_TUNNEL INET6_XFRM_TUNNEL INET_AH INET_DCCP_DIAG INET_DIAG INET_DIAG_DESTROY INET_ESP INET_ESPINTCP INET_ESP_OFFLOAD INET_IPCOMP INET_MPTCP_DIAG INET_RAW_DIAG INET_SCTP_DIAG INET_TCP_DIAG INET_UDP_DIAG INET_XFRM_TUNNEL INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_ADDR_TRANS_CONFIGFS INFINIBAND_IPOIB INFINIBAND_IPOIB_CM INFINIBAND_IPOIB_DEBUG INFINIBAND_ISER INFINIBAND_ON_DEMAND_PAGING INFINIBAND_RTRS INFINIBAND_SRP INFINIBAND_USER_ACCESS INFINIBAND_USER_MAD INFINIBAND_USER_MEM INPUT_ATI_REMOTE2 INPUT_CM109 INPUT_IMS_PCU INPUT_JOYDEV INPUT_KEYSPAN_REMOTE INPUT_LEDS INPUT_MOUSEDEV INPUT_MOUSEDEV_PSAUX INPUT_POWERMATE INPUT_UINPUT INPUT_YEALINK INTEGRITY INTEGRITY_ASYMMETRIC_KEYS INTEGRITY_AUDIT INTEGRITY_SIGNATURE INTEGRITY_TRUSTED_KEYRING INTEL_CHTWC_INT33FE INTEL_IDMA64 INTEL_IOATDMA INTEL_IOMMU_DEFAULT_ON INTEL_IOMMU_SVM INTEL_ISHTP_ECLITE INTEL_ISH_FIRMWARE_DOWNLOADER INTEL_ISH_HID INTEL_SOC_PMIC_CHTWC INTERVAL_TREE_SPAN_ITER IOMMUFD IOMMUFD_DRIVER IOMMUFD_TEST IP6_NF_MATCH_AH IP6_NF_MATCH_EUI64 IP6_NF_MATCH_FRAG IP6_NF_MATCH_HL IP6_NF_MATCH_MH IP6_NF_MATCH_OPTS IP6_NF_MATCH_RPFILTER IP6_NF_MATCH_RT IP6_NF_MATCH_SRH IP6_NF_NAT IP6_NF_RAW IP6_NF_SECURITY IP6_NF_TARGET_HL IP6_NF_TARGET_MASQUERADE IP6_NF_TARGET_NPT IP6_NF_TARGET_SYNPROXY IPV6_FOU IPV6_FOU_TUNNEL IPV6_GRE IPV6_ILA IPV6_MIP6 IPV6_MROUTE IPV6_MROUTE_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES IPV6_OPTIMISTIC_DAD IPV6_PIMSM_V2 IPV6_ROUTER_PREF IPV6_ROUTE_INFO IPV6_RPL_LWTUNNEL IPV6_SEG6_BPF IPV6_SEG6_HMAC IPV6_SEG6_LWTUNNEL IPV6_SIT_6RD IPV6_SUBTREES IPV6_TUNNEL IPV6_VTI IPVLAN IPVLAN_L3S IPVTAP IP_DCCP IP_DCCP_CCID3 IP_DCCP_TFRC_LIB IP_FIB_TRIE_STATS IP_MROUTE_MULTIPLE_TABLES IP_NF_ARPFILTER IP_NF_ARPTABLES IP_NF_ARP_MANGLE IP_NF_MATCH_AH IP_NF_MATCH_ECN IP_NF_MATCH_RPFILTER IP_NF_MATCH_TTL IP_NF_RAW IP_NF_SECURITY IP_NF_TARGET_ECN IP_NF_TARGET_NETMAP IP_NF_TARGET_REDIRECT IP_NF_TARGET_SYNPROXY IP_NF_TARGET_TTL IP_ROUTE_CLASSID IP_SCTP IP_SET IP_SET_BITMAP_IP IP_SET_BITMAP_IPMAC IP_SET_BITMAP_PORT IP_SET_HASH_IP IP_SET_HASH_IPMAC IP_SET_HASH_IPMARK IP_SET_HASH_IPPORT IP_SET_HASH_IPPORTIP IP_SET_HASH_IPPORTNET IP_SET_HASH_MAC IP_SET_HASH_NET IP_SET_HASH_NETIFACE IP_SET_HASH_NETNET IP_SET_HASH_NETPORT IP_SET_HASH_NETPORTNET IP_SET_LIST_SET IP_VS IP_VS_DH IP_VS_FO IP_VS_FTP IP_VS_IPV6 IP_VS_LBLC IP_VS_LBLCR IP_VS_LC IP_VS_PROTO_TCP IRQ_TIME_ACCOUNTING LAPB LCD_CLASS_DEVICE MAC802154 MEDIA_DIGITAL_TV_SUPPORT MEDIA_RADIO_SUPPORT MEDIA_SDR_SUPPORT MEDIA_SUPPORT MEDIA_TEST_SUPPORT MEDIA_USB_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_DLN2 MFD_VIPERBOARD MPTCP MTD NETFILTER_ADVANCED NET_ACT_GACT NET_ACT_MIRRED NET_IPGRE_DEMUX NFT_COMPAT NFT_COMPAT_ARP NFT_FWD_NETDEV NF_TABLES NF_TABLES_ARP NF_TABLES_NETDEV RADIO_ADAPTERS RADIO_SI4713 RAS RC_CORE REGULATOR RFKILL SND SOUND STAGING TRANSPARENT_HUGEPAGE TYPEC TYPEC_MUX_PI3USB30532 USB_LJCA USB_ROLES_INTEL_XHCI USB_ROLE_SWITCH VIDEO_DEV VIRTIO_FS WAN ZONE_DEVICE] disabling configs for [KASAN ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed picked [v6.11 v6.10 v6.9 v6.7 v6.5 v6.3 v6.1 v5.19 v5.16 v5.13 v5.10 v5.7 v5.4 v5.1 v4.19] out of 34 release tags testing release v6.11 testing commit 98f7e32f20d28ec452afb208f9cffc08448a2652 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2d6891f5956d7aa79b23ab0066fc8a5619f4bbd2fafddba80104982f9584fa7c all runs: OK false negative chance: 0.000 # git bisect start e32cde8d2bd7d251a8f9b434143977ddf13dcec6 98f7e32f20d28ec452afb208f9cffc08448a2652 Bisecting: 6367 revisions left to test after this (roughly 13 steps) [176000734ee2978121fde22a954eb1eabb204329] Merge tag 'ata-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux testing commit 176000734ee2978121fde22a954eb1eabb204329 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9ead234ce32ec9c383e83332beaa8d982c1de4869631b633645bb42cbe64ca69 all runs: OK false negative chance: 0.000 # git bisect good 176000734ee2978121fde22a954eb1eabb204329 Bisecting: 3188 revisions left to test after this (roughly 12 steps) [721068dec4ec3cc625d8737d4dfa0ff0aa795cd1] Merge tag 'gfs2-v6.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 testing commit 721068dec4ec3cc625d8737d4dfa0ff0aa795cd1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: bfe8ca7acbf8f2e34cd17c899b77f90bbd3e7800f5974c18fc6e52448adde248 all runs: OK false negative chance: 0.000 # git bisect good 721068dec4ec3cc625d8737d4dfa0ff0aa795cd1 Bisecting: 1598 revisions left to test after this (roughly 11 steps) [684a64bf32b6e488004e0ad7f0d7e922798f65b6] Merge tag 'nfs-for-6.12-1' of git://git.linux-nfs.org/projects/anna/linux-nfs testing commit 684a64bf32b6e488004e0ad7f0d7e922798f65b6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: cf102a985aa00cfffe3d8355934add935eef76d3962b8ead57a7d0721f2be5a3 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] # git bisect bad 684a64bf32b6e488004e0ad7f0d7e922798f65b6 Bisecting: 774 revisions left to test after this (roughly 10 steps) [9ab27b018649c9504e894496cb4d7d8afcffd897] Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux testing commit 9ab27b018649c9504e894496cb4d7d8afcffd897 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 73a1d1505c7c8f8405e3b2d977ee07d6738701f4eaa97cf5710194d799dcb5bb all runs: OK false negative chance: 0.000 # git bisect good 9ab27b018649c9504e894496cb4d7d8afcffd897 Bisecting: 379 revisions left to test after this (roughly 9 steps) [54d7e8190ecfe72ff0dab96545e782f7298cb69a] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma testing commit 54d7e8190ecfe72ff0dab96545e782f7298cb69a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f99dd256d764bc968b4937b9df7d81db47251904b1c55fbb21787b68c25df02f all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] # git bisect bad 54d7e8190ecfe72ff0dab96545e782f7298cb69a Bisecting: 197 revisions left to test after this (roughly 8 steps) [24f772dec31591f9268a9c9e4943dc5dc47eaf9b] Merge tag 'keys-next-6.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd testing commit 24f772dec31591f9268a9c9e4943dc5dc47eaf9b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 71866f667abc066663b2f2bb0de2b07c1c69c98b1e00faadba26edc2b741f291 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] # git bisect bad 24f772dec31591f9268a9c9e4943dc5dc47eaf9b Bisecting: 98 revisions left to test after this (roughly 7 steps) [d1307671e5221967809c4b626affbad29e371006] media: v4l2-subdev: Refactor warnings in v4l2_subdev_link_validate() testing commit d1307671e5221967809c4b626affbad29e371006 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 564f1e5226374e7fe5a997134f2b4299473c76256558751a9728c133846c6aab all runs: OK false negative chance: 0.000 # git bisect good d1307671e5221967809c4b626affbad29e371006 Bisecting: 49 revisions left to test after this (roughly 6 steps) [bee1aed819a8cda47927436685d216906ed17f62] media: i2c: ar0521: Use cansleep version of gpiod_set_value() testing commit bee1aed819a8cda47927436685d216906ed17f62 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 174bea8f1f3b3f9a3f0aba641c4035ce92d66af925575036232c8daf8895cbcb all runs: OK false negative chance: 0.000 # git bisect good bee1aed819a8cda47927436685d216906ed17f62 Bisecting: 24 revisions left to test after this (roughly 5 steps) [5788a2d2e2c733809660d884946d3e453a41c6d9] media: atomisp: move trailing */ to separate lines testing commit 5788a2d2e2c733809660d884946d3e453a41c6d9 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 09832293aaa0ec3e1190b17649eda2f913b326eb1d035b8abf45b861f9374a43 all runs: OK false negative chance: 0.000 # git bisect good 5788a2d2e2c733809660d884946d3e453a41c6d9 Bisecting: 12 revisions left to test after this (roughly 4 steps) [b36c41c51e9d763393634359b90f02414ef470a3] media: atomisp: set lock before calling vb2_queue_init() testing commit b36c41c51e9d763393634359b90f02414ef470a3 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8f62efd99e56ddacca311fb4c94d33004e3247b6c4d49d10d3318d609b4a1314 all runs: OK false negative chance: 0.000 # git bisect good b36c41c51e9d763393634359b90f02414ef470a3 Bisecting: 5 revisions left to test after this (roughly 3 steps) [5c36498d06b9b00393c2f35edbf16b28194375fa] Merge tag 'lsm-pr-20240923' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm testing commit 5c36498d06b9b00393c2f35edbf16b28194375fa gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f1301e492dcb910b4566d2fc69713e107a0068e98281a5ed2b823ce175106501 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] # git bisect bad 5c36498d06b9b00393c2f35edbf16b28194375fa Bisecting: 3 revisions left to test after this (roughly 2 steps) [f89722faa31466ff41aed21bdeb9cf34c2312858] ipe: Add missing terminator to list of unit tests testing commit f89722faa31466ff41aed21bdeb9cf34c2312858 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1c1d7300529c99ef12d7ceded75de574ebbc6b98d88603c06497579498fae780 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] # git bisect bad f89722faa31466ff41aed21bdeb9cf34c2312858 Bisecting: 0 revisions left to test after this (roughly 1 step) [8a23c9e1ba4642b60420e8caa75859883a509c24] selinux,smack: properly reference the LSM blob in security_watch_key() testing commit 8a23c9e1ba4642b60420e8caa75859883a509c24 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a1a2dafedcfe649bab8bcca65517141a7329de3f6a283d0488279b1b92f8b943 all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] # git bisect bad 8a23c9e1ba4642b60420e8caa75859883a509c24 Bisecting: 0 revisions left to test after this (roughly 0 steps) [ea7e2d5e49c05e5db1922387b09ca74aa40f46e2] mm: call the security_mmap_file() LSM hook in remap_file_pages() testing commit ea7e2d5e49c05e5db1922387b09ca74aa40f46e2 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 76b1f75da29aa1af847987c0b432881c9c27db5f5495f0350f533bc51acf8a9b all runs: crashed: possible deadlock in upgrade_mmap_lock_carefully representative crash: possible deadlock in upgrade_mmap_lock_carefully, types: [LOCKDEP] # git bisect bad ea7e2d5e49c05e5db1922387b09ca74aa40f46e2 ea7e2d5e49c05e5db1922387b09ca74aa40f46e2 is the first bad commit commit ea7e2d5e49c05e5db1922387b09ca74aa40f46e2 Author: Shu Han Date: Tue Sep 17 17:41:04 2024 +0800 mm: call the security_mmap_file() LSM hook in remap_file_pages() The remap_file_pages syscall handler calls do_mmap() directly, which doesn't contain the LSM security check. And if the process has called personality(READ_IMPLIES_EXEC) before and remap_file_pages() is called for RW pages, this will actually result in remapping the pages to RWX, bypassing a W^X policy enforced by SELinux. So we should check prot by security_mmap_file LSM hook in the remap_file_pages syscall handler before do_mmap() is called. Otherwise, it potentially permits an attacker to bypass a W^X policy enforced by SELinux. The bypass is similar to CVE-2016-10044, which bypass the same thing via AIO and can be found in [1]. The PoC: $ cat > test.c int main(void) { size_t pagesz = sysconf(_SC_PAGE_SIZE); int mfd = syscall(SYS_memfd_create, "test", 0); const char *buf = mmap(NULL, 4 * pagesz, PROT_READ | PROT_WRITE, MAP_SHARED, mfd, 0); unsigned int old = syscall(SYS_personality, 0xffffffff); syscall(SYS_personality, READ_IMPLIES_EXEC | old); syscall(SYS_remap_file_pages, buf, pagesz, 0, 2, 0); syscall(SYS_personality, old); // show the RWX page exists even if W^X policy is enforced int fd = open("/proc/self/maps", O_RDONLY); unsigned char buf2[1024]; while (1) { int ret = read(fd, buf2, 1024); if (ret <= 0) break; write(1, buf2, ret); } close(fd); } $ gcc test.c -o test $ ./test | grep rwx 7f1836c34000-7f1836c35000 rwxs 00002000 00:01 2050 /memfd:test (deleted) Link: https://project-zero.issues.chromium.org/issues/42452389 [1] Cc: stable@vger.kernel.org Signed-off-by: Shu Han Acked-by: Stephen Smalley [PM: subject line tweaks] Signed-off-by: Paul Moore mm/mmap.c | 4 ++++ 1 file changed, 4 insertions(+) accumulated error probability: 0.00 parent commit 19c9d55d72a9040cf9dc8de62633e6217381106b wasn't tested testing commit 19c9d55d72a9040cf9dc8de62633e6217381106b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 36e17f3c49a2ba66a1437a24a270e990fb2451804220f1e3cf0530005f1bad44 culprit signature: 76b1f75da29aa1af847987c0b432881c9c27db5f5495f0350f533bc51acf8a9b parent signature: 36e17f3c49a2ba66a1437a24a270e990fb2451804220f1e3cf0530005f1bad44 revisions tested: 22, total time: 4h53m0.311584785s (build: 2h18m11.105196933s, test: 2h10m58.870150587s) first bad commit: ea7e2d5e49c05e5db1922387b09ca74aa40f46e2 mm: call the security_mmap_file() LSM hook in remap_file_pages() recipients (to): ["ebpqwerty472123@gmail.com" "paul@paul-moore.com" "stephen.smalley.work@gmail.com"] recipients (cc): [] crash: possible deadlock in upgrade_mmap_lock_carefully mmap: syz.0.15 (3422) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst. ====================================================== WARNING: possible circular locking dependency detected 6.11.0-rc1-syzkaller #0 Not tainted ------------------------------------------------------ syz.0.15/3422 is trying to acquire lock: ffff888103b20198 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:122 [inline] ffff888103b20198 (&mm->mmap_lock){++++}-{3:3}, at: upgrade_mmap_lock_carefully+0x45/0xa0 mm/memory.c:5903 but task is already holding lock: ffff88810432a650 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:799 [inline] ffff88810432a650 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}, at: shmem_file_write_iter+0x2f/0x90 mm/shmem.c:3068 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}: down_write+0x29/0xb0 kernel/locking/rwsem.c:1579 inode_lock include/linux/fs.h:799 [inline] process_measurement+0x154/0x900 security/integrity/ima/ima_main.c:250 ima_file_mmap+0x74/0xe0 security/integrity/ima/ima_main.c:455 security_mmap_file+0x3a7/0x480 security/security.c:2977 __do_sys_remap_file_pages mm/mmap.c:3201 [inline] __se_sys_remap_file_pages+0x278/0x370 mm/mmap.c:3133 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xa0/0x180 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f -> #0 (&mm->mmap_lock){++++}-{3:3}: check_prev_add kernel/locking/lockdep.c:3133 [inline] check_prevs_add kernel/locking/lockdep.c:3252 [inline] validate_chain kernel/locking/lockdep.c:3868 [inline] __lock_acquire+0x122b/0x2530 kernel/locking/lockdep.c:5142 lock_acquire+0xeb/0x270 kernel/locking/lockdep.c:5759 down_write_killable+0x33/0xf0 kernel/locking/rwsem.c:1590 mmap_write_lock_killable include/linux/mmap_lock.h:122 [inline] upgrade_mmap_lock_carefully+0x45/0xa0 mm/memory.c:5903 lock_mm_and_find_vma+0x79/0x130 mm/memory.c:5956 do_user_addr_fault arch/x86/mm/fault.c:1361 [inline] handle_page_fault arch/x86/mm/fault.c:1481 [inline] exc_page_fault+0x1d3/0x6a0 arch/x86/mm/fault.c:1539 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 fault_in_readable+0x78/0xd0 fault_in_iov_iter_readable+0x3c/0xd0 lib/iov_iter.c:94 generic_perform_write+0xaa/0x3d0 mm/filemap.c:4009 shmem_file_write_iter+0x67/0x90 mm/shmem.c:3078 new_sync_write fs/read_write.c:497 [inline] vfs_write+0x342/0x3d0 fs/read_write.c:590 ksys_write+0x70/0xe0 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xa0/0x180 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&sb->s_type->i_mutex_key#12); lock(&mm->mmap_lock); lock(&sb->s_type->i_mutex_key#12); lock(&mm->mmap_lock); *** DEADLOCK *** 3 locks held by syz.0.15/3422: #0: ffff888103fab6c8 (&f->f_pos_lock){+.+.}-{3:3}, at: __fdget_pos+0x71/0xa0 fs/file.c:1191 #1: ffff888104b67410 (sb_writers#5){.+.+}-{0:0}, at: file_start_write include/linux/fs.h:2876 [inline] #1: ffff888104b67410 (sb_writers#5){.+.+}-{0:0}, at: vfs_write+0x111/0x3d0 fs/read_write.c:586 #2: ffff88810432a650 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}, at: inode_lock include/linux/fs.h:799 [inline] #2: ffff88810432a650 (&sb->s_type->i_mutex_key#12){+.+.}-{3:3}, at: shmem_file_write_iter+0x2f/0x90 mm/shmem.c:3068 stack backtrace: CPU: 0 UID: 0 PID: 3422 Comm: syz.0.15 Not tainted 6.11.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Call Trace: __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0xa3/0x100 lib/dump_stack.c:119 check_noncircular+0x119/0x140 kernel/locking/lockdep.c:2186 check_prev_add kernel/locking/lockdep.c:3133 [inline] check_prevs_add kernel/locking/lockdep.c:3252 [inline] validate_chain kernel/locking/lockdep.c:3868 [inline] __lock_acquire+0x122b/0x2530 kernel/locking/lockdep.c:5142 lock_acquire+0xeb/0x270 kernel/locking/lockdep.c:5759 down_write_killable+0x33/0xf0 kernel/locking/rwsem.c:1590 mmap_write_lock_killable include/linux/mmap_lock.h:122 [inline] upgrade_mmap_lock_carefully+0x45/0xa0 mm/memory.c:5903 lock_mm_and_find_vma+0x79/0x130 mm/memory.c:5956 do_user_addr_fault arch/x86/mm/fault.c:1361 [inline] handle_page_fault arch/x86/mm/fault.c:1481 [inline] exc_page_fault+0x1d3/0x6a0 arch/x86/mm/fault.c:1539 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0010:fault_in_readable+0x78/0xd0 mm/gup.c:2244 Code: 00 f0 ff ff eb 0a 4c 8d 87 ff 0f 00 00 48 89 f9 49 01 f0 49 81 e0 00 f0 ff ff 49 39 f8 72 4d 4c 39 c1 74 1a 48 89 ca 48 89 d1 <8a> 02 4c 89 c1 88 04 24 48 81 c2 00 10 00 00 4c 39 c2 75 e9 f3 0f RSP: 0018:ffffc900023b3d5f EFLAGS: 00050287 RAX: 1000000000000023 RBX: 000000000000fecc RCX: 0000000020001000 RDX: 0000000020001000 RSI: 000000000000fecc RDI: 0000000020000100 RBP: 000000000000fecc R08: 0000000020010000 R09: ffff888104b67000 R10: 0000000000000003 R11: ffffffff81117fa0 R12: 0000000000000000 R13: ffff88810432a728 R14: 000000000000fecc R15: 0000000000000000 fault_in_iov_iter_readable+0x3c/0xd0 lib/iov_iter.c:94 generic_perform_write+0xaa/0x3d0 mm/filemap.c:4009 shmem_file_write_iter+0x67/0x90 mm/shmem.c:3078 new_sync_write fs/read_write.c:497 [inline] vfs_write+0x342/0x3d0 fs/read_write.c:590 ksys_write+0x70/0xe0 fs/read_write.c:643 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xa0/0x180 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f119fb7dff9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 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 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f11a0a42038 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 00007f119fd35f80 RCX: 00007f119fb7dff9 RDX: 000000000000fecc RSI: 0000000020000100 RDI: 0000000000000003 RBP: 00007f119fbf0296 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f119fd35f80 R15: 00007fff336106e8 ---------------- Code disassembly (best guess), 4 bytes skipped: 0: eb 0a jmp 0xc 2: 4c 8d 87 ff 0f 00 00 lea 0xfff(%rdi),%r8 9: 48 89 f9 mov %rdi,%rcx c: 49 01 f0 add %rsi,%r8 f: 49 81 e0 00 f0 ff ff and $0xfffffffffffff000,%r8 16: 49 39 f8 cmp %rdi,%r8 19: 72 4d jb 0x68 1b: 4c 39 c1 cmp %r8,%rcx 1e: 74 1a je 0x3a 20: 48 89 ca mov %rcx,%rdx 23: 48 89 d1 mov %rdx,%rcx * 26: 8a 02 mov (%rdx),%al <-- trapping instruction 28: 4c 89 c1 mov %r8,%rcx 2b: 88 04 24 mov %al,(%rsp) 2e: 48 81 c2 00 10 00 00 add $0x1000,%rdx 35: 4c 39 c2 cmp %r8,%rdx 38: 75 e9 jne 0x23 3a: f3 repz 3b: 0f .byte 0xf