ci starts bisection 2024-10-09 18:57:20.418135733 +0000 UTC m=+6452.915979053 bisecting cause commit starting from 33ce24234fca4c083e6685a18b460a18ebb5d5c1 building syzkaller on 402f1df054ddb07ed5bb299d08c781354eb06607 fetch other tags and check if the commit is present ensuring issue is reproducible on original commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 testing commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 496ac318aa8348edd5581eb8a41d1fb11628e3a26534bea27f067eff235b6d23 all runs: crashed: general protection fault in getname_kernel representative crash: general protection fault in getname_kernel, types: [UNKNOWN] check whether we can drop unnecessary instrumentation disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 35ea2617175704c9b961ed7ceb3b0cce9749b42ab04bfa690442e9c8ff1ec595 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] the bug reproduces without the instrumentation disabling configs for [KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed kconfig minimization: base=4045 full=8204 leaves diff=2112 split chunks (needed=false): <2112> split chunk #0 of len 2112 into 5 parts testing without sub-chunk 1/5 disabling configs for [UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 804a20a029e8a776c1ec8fa4ab20c51e09fb8e1ba1e1eb805b7835224e77109e all runs: OK false negative chance: 0.000 testing without sub-chunk 2/5 disabling configs for [LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 04c4f46d19f428389e45402cb8bc18dc9eb515873b02fbcd630f0481845c2de2 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: fceca71db9be8a49c1c95c2384673bd06e91a34b339c19373a405b1c6dc1bbb5 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a5e481c3304abfc8788b77e5be60b7a8598103104473d5d59e5ea81c07fd3288 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed testing commit 33ce24234fca4c083e6685a18b460a18ebb5d5c1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: fef40413709097404a240930ca1dfa3cc9b67138ad07cd56b78f2b7c720c29e3 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] the chunk can be dropped minimized to 423 configs; suspects: [6LOWPAN 6LOWPAN_GHC_EXT_HDR_DEST 6LOWPAN_GHC_EXT_HDR_FRAG 6LOWPAN_GHC_EXT_HDR_HOP 6LOWPAN_GHC_EXT_HDR_ROUTE 6LOWPAN_GHC_ICMPV6 6LOWPAN_GHC_UDP 6LOWPAN_NHC 6LOWPAN_NHC_DEST 6LOWPAN_NHC_FRAGMENT 6LOWPAN_NHC_HOP 6LOWPAN_NHC_IPV6 6LOWPAN_NHC_MOBILITY 6LOWPAN_NHC_ROUTING 6LOWPAN_NHC_UDP 6PACK 842_COMPRESS 842_DECOMPRESS 9P_FSCACHE 9P_FS_POSIX_ACL 9P_FS_SECURITY ACORN_PARTITION ACORN_PARTITION_ADFS ACORN_PARTITION_CUMANA ACORN_PARTITION_EESOX ACORN_PARTITION_ICS ACORN_PARTITION_POWERTEC ACORN_PARTITION_RISCIX ACPI_NFIT ACPI_NHLT ACPI_PLATFORM_PROFILE ADDRESS_MASKING ADFS_FS AFFS_FS AFS_FS AFS_FSCACHE AF_KCM AF_RXRPC AF_RXRPC_IPV6 AIX_PARTITION AMD_SFH_HID AMIGA_PARTITION ANDROID_BINDERFS ANDROID_BINDER_IPC ANON_VMA_NAME APERTURE_HELPERS APPLE_MFI_FASTCHARGE AR5523 ARCH_ENABLE_MEMORY_HOTREMOVE ARCH_ENABLE_THP_MIGRATION ARCH_HAS_USER_SHADOW_STACK ARCH_SUPPORTS_HUGE_PFNMAP ARCH_SUPPORTS_PMD_PFNMAP ARCH_SUPPORTS_PUD_PFNMAP ARCH_SUPPORTS_RT ARCH_WANT_PMD_MKWRITE ASM_MODVERSIONS ASUS_TF103C_DOCK ASYNC_CORE ASYNC_MEMCPY ASYNC_PQ ASYNC_RAID6_RECOV ASYNC_TX_DMA ASYNC_XOR ATARI_PARTITION ATA_GENERIC ATA_OVER_ETH ATH10K ATH10K_CE ATH10K_LEDS ATH10K_PCI ATH10K_USB ATH11K ATH6KL ATH6KL_USB ATH9K ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_CHANNEL_CONTEXT ATH9K_COMMON ATH9K_COMMON_DEBUG ATH9K_COMMON_SPECTRAL ATH9K_DEBUGFS ATH9K_DYNACK ATH9K_HTC ATH9K_HTC_DEBUGFS ATH9K_HW ATH9K_PCI ATH9K_PCOEM ATH9K_RFKILL ATH_COMMON ATM ATM_BR2684 ATM_CLIP ATM_DRIVERS ATM_LANE ATM_MPOA ATM_TCP AUXILIARY_BUS AX25 AX25_DAMA_SLAVE AX88796B_PHY BAREUDP BATMAN_ADV BATMAN_ADV_BATMAN_V BATMAN_ADV_BLA BATMAN_ADV_DAT BATMAN_ADV_MCAST BATMAN_ADV_NC BCACHE BCACHEFS_DEBUG BCACHEFS_ERASURE_CODING BCACHEFS_FS BCACHEFS_POSIX_ACL BCACHEFS_QUOTA BCACHEFS_SIX_OPTIMISTIC_SPIN BCMA BCMA_HOST_PCI_POSSIBLE BEFS_FS BFQ_CGROUP_DEBUG BFQ_GROUP_IOSCHED BFS_FS BIG_KEYS BLK_CGROUP_PUNT_BIO BLK_CGROUP_RWSTAT BLK_DEV_BSGLIB BLK_DEV_INTEGRITY BLK_DEV_NBD BLK_DEV_NULL_BLK BLK_DEV_NULL_BLK_FAULT_INJECTION BLK_DEV_NVME BLK_DEV_PMEM BLK_DEV_RAM BLK_DEV_RNBD BLK_DEV_RNBD_CLIENT BLK_DEV_THROTTLING BLK_DEV_ZONED BLK_ICQ BLK_INLINE_ENCRYPTION BLK_INLINE_ENCRYPTION_FALLBACK BLK_WBT BLK_WBT_MQ BONDING BOOT_VESA_SUPPORT BPF_EVENTS BPF_JIT BPF_JIT_ALWAYS_ON BPF_JIT_DEFAULT_ON BPF_LSM BPF_PRELOAD BPF_PRELOAD_UMD BPF_STREAM_PARSER BPF_SYSCALL BPQETHER BRIDGE BRIDGE_CFM BRIDGE_EBT_802_3 BRIDGE_EBT_AMONG BRIDGE_EBT_ARP BRIDGE_EBT_ARPREPLY BRIDGE_EBT_BROUTE BRIDGE_EBT_DNAT BRIDGE_EBT_IP BRIDGE_EBT_IP6 BRIDGE_EBT_LIMIT BRIDGE_EBT_LOG BRIDGE_EBT_MARK BRIDGE_EBT_MARK_T BRIDGE_EBT_NFLOG BRIDGE_EBT_PKTTYPE BRIDGE_EBT_REDIRECT BRIDGE_EBT_SNAT BRIDGE_EBT_STP BRIDGE_EBT_T_FILTER BRIDGE_EBT_T_NAT BRIDGE_EBT_VLAN BRIDGE_IGMP_SNOOPING BRIDGE_MRP BRIDGE_NF_EBTABLES BRIDGE_NF_EBTABLES_LEGACY BRIDGE_VLAN_FILTERING BSD_DISKLABEL BSD_PROCESS_ACCT_V3 BT BTRFS_ASSERT BTRFS_FS BTRFS_FS_POSIX_ACL BTRFS_FS_REF_VERIFY BTT BT_6LOWPAN BT_ATH3K BT_BCM BT_BNEP BT_BNEP_MC_FILTER BT_BNEP_PROTO_FILTER BT_BREDR BT_HCIBCM203X BT_HCIBFUSB BT_HCIBPA10X BT_HCIBTUSB BT_HCIBTUSB_AUTOSUSPEND BT_HCIBTUSB_BCM BT_HCIBTUSB_MTK BT_HCIBTUSB_POLL_SYNC BT_HCIBTUSB_RTL BT_HCIUART BT_HCIUART_3WIRE BT_HCIUART_AG6XX BT_HCIUART_BCSP BT_HCIUART_H4 BT_HCIUART_LL BT_HCIUART_MRVL BT_HCIUART_QCA BT_HCIUART_SERDEV BT_HCIVHCI BT_INTEL BT_LE BT_LEDS BT_LE_L2CAP_ECRED BT_MRVL BT_MRVL_SDIO BT_MSFTEXT BT_MTK BT_MTKSDIO BT_MTKUART BT_QCA BT_RFCOMM BT_RFCOMM_TTY BT_RTL CACHEFILES CAIF CAIF_DEBUG CAIF_DRIVERS CAIF_NETDEV CAIF_TTY CAIF_USB CAIF_VIRTIO CAN CAN_8DEV_USB CAN_BCM CAN_CALC_BITTIMING CAN_DEV CAN_EMS_USB CAN_ESD_USB CAN_ETAS_ES58X CAN_F81604 CAN_GS_USB CAN_GW CAN_IFI_CANFD CAN_ISOTP CAN_J1939 CAN_KVASER_USB CAN_MCBA_USB CAN_NETLINK CAN_PEAK_USB CAN_RAW CAN_RX_OFFLOAD CAN_SLCAN CAN_UCAN CAN_VCAN CAN_VXCAN CARL9170 CARL9170_HWRNG CARL9170_LEDS CARL9170_WPC CEC_CORE CEPH_FS CEPH_FSCACHE CEPH_FS_POSIX_ACL CEPH_LIB CEPH_LIB_USE_DNS_RESOLVER CFG80211 CFG80211_CRDA_SUPPORT CFG80211_DEBUGFS CFG80211_DEFAULT_PS CFG80211_REQUIRE_SIGNED_REGDB CFG80211_USE_KERNEL_REGDB_KEYS CFG80211_WEXT CFS_BANDWIDTH CGROUP_BPF CHARGER_ISP1704 CHR_DEV_ST CIFS CIFS_ALLOW_INSECURE_LEGACY CIFS_DEBUG CIFS_DFS_UPCALL CIFS_FSCACHE CIFS_POSIX CIFS_SMB_DIRECT CIFS_SWN_UPCALL CIFS_UPCALL CIFS_XATTR CLOSURES CLS_U32_MARK CLS_U32_PERF CMA CMA_SIZE_SEL_MAX CMDLINE_PARTITION COMEDI COMEDI_DT9812 COMEDI_NI_USB6501 COMEDI_USBDUX COMEDI_USBDUXFAST COMEDI_USBDUXSIGMA COMEDI_USB_DRIVERS COMEDI_VMK80XX COMPAT_NETLINK_MESSAGES COUNTER CRAMFS CRAMFS_BLOCKDEV CRAMFS_MTD CRC4 CRC64 CRC64_ROCKSOFT CRC7 CRC8 CRC_ITU_T CRC_T10DIF CRYPTO_842 CRYPTO_ADIANTUM CRYPTO_AEGIS128 CRYPTO_AEGIS128_AESNI_SSE2 CRYPTO_AES_NI_INTEL CRYPTO_AES_TI CRYPTO_ANSI_CPRNG CRYPTO_ANUBIS CRYPTO_ARC4 CRYPTO_ARCH_HAVE_LIB_BLAKE2S CRYPTO_ARCH_HAVE_LIB_CHACHA CRYPTO_ARCH_HAVE_LIB_CURVE25519 CRYPTO_ARCH_HAVE_LIB_POLY1305 CRYPTO_ARIA CRYPTO_ARIA_AESNI_AVX_X86_64 CRYPTO_BLAKE2B CRYPTO_BLAKE2S_X86 CRYPTO_BLOWFISH CRYPTO_BLOWFISH_COMMON CRYPTO_BLOWFISH_X86_64 CRYPTO_CAMELLIA CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 CRYPTO_CAMELLIA_AESNI_AVX_X86_64 CRYPTO_CAMELLIA_X86_64 CRYPTO_CAST5 CRYPTO_CAST5_AVX_X86_64 CRYPTO_CAST6 CRYPTO_CAST6_AVX_X86_64 CRYPTO_CAST_COMMON CRYPTO_CHACHA20POLY1305 CRYPTO_CHACHA20_X86_64 CRYPTO_CRC32 CRYPTO_CRC32C_INTEL CRYPTO_CRC32_PCLMUL CRYPTO_CRC64_ROCKSOFT CRYPTO_CRCT10DIF CRYPTO_CRCT10DIF_PCLMUL CRYPTO_CRYPTD CRYPTO_CURVE25519 CRYPTO_CURVE25519_X86 CRYPTO_DEFLATE CRYPTO_DES CRYPTO_DES3_EDE_X86_64 CRYPTO_DEV_CCP CRYPTO_DEV_CCP_DD CRYPTO_DEV_PADLOCK CRYPTO_DEV_PADLOCK_AES CRYPTO_DEV_PADLOCK_SHA CRYPTO_DEV_QAT CRYPTO_DEV_QAT_C3XXX CRYPTO_DEV_QAT_C3XXXVF CRYPTO_DEV_QAT_C62X CRYPTO_DEV_QAT_C62XVF CRYPTO_DEV_QAT_DH895xCC CRYPTO_DEV_QAT_DH895xCCVF CRYPTO_DEV_VIRTIO CRYPTO_DH CRYPTO_DRBG_CTR CRYPTO_DRBG_HASH CRYPTO_ECDH CRYPTO_ECRDSA CRYPTO_ENGINE CRYPTO_ESSIV CRYPTO_FCRYPT CRYPTO_GHASH_CLMUL_NI_INTEL CRYPTO_HCTR2 CRYPTO_KDF800108_CTR CRYPTO_KEYWRAP CRYPTO_KHAZAD CRYPTO_KPP CRYPTO_LIB_ARC4 CRYPTO_LIB_CHACHA CRYPTO_LIB_CHACHA20POLY1305 CRYPTO_LIB_CURVE25519 CRYPTO_LIB_CURVE25519_GENERIC CRYPTO_LIB_POLY1305 CRYPTO_LIB_POLY1305_GENERIC CRYPTO_LRW CRYPTO_LZ4 CRYPTO_LZ4HC CRYPTO_NHPOLY1305 CRYPTO_NHPOLY1305_AVX2 CRYPTO_NHPOLY1305_SSE2 CRYPTO_PCBC CRYPTO_PCRYPT CRYPTO_POLY1305 CRYPTO_POLY1305_X86_64 CRYPTO_POLYVAL CRYPTO_POLYVAL_CLMUL_NI CRYPTO_RMD160 CRYPTO_SEED CRYPTO_SERPENT CRYPTO_SERPENT_AVX2_X86_64 CRYPTO_SERPENT_AVX_X86_64 CRYPTO_SERPENT_SSE2_X86_64 CRYPTO_SHA1_SSSE3 CRYPTO_SHA256_SSSE3 CRYPTO_SHA512_SSSE3 CRYPTO_SIMD CRYPTO_SM3_AVX_X86_64 CRYPTO_SM4_AESNI_AVX2_X86_64 CRYPTO_SM4_AESNI_AVX_X86_64 CRYPTO_STREEBOG CRYPTO_TEA CRYPTO_TWOFISH CRYPTO_TWOFISH_AVX_X86_64 CRYPTO_TWOFISH_COMMON CRYPTO_TWOFISH_X86_64 CRYPTO_TWOFISH_X86_64_3WAY CRYPTO_USER CRYPTO_USER_API CRYPTO_USER_API_AEAD CRYPTO_USER_API_ENABLE_OBSOLETE CRYPTO_USER_API_HASH CRYPTO_USER_API_RNG CRYPTO_USER_API_SKCIPHER CRYPTO_VMAC CRYPTO_WP512 CRYPTO_XCTR CRYPTO_XXHASH CRYPTO_ZSTD CUSE CYPRESS_FIRMWARE DAMON DAMON_PADDR DAMON_RECLAIM DAMON_VADDR DAX DCA DCB DEFAULT_CODEL DEVICE_MIGRATION DEVICE_PRIVATE DEV_COREDUMP DEV_DAX DLN2_ADC DMABUF_HEAPS DMABUF_HEAPS_CMA DMABUF_HEAPS_SYSTEM DMABUF_MOVE_NOTIFY DMA_CMA DMA_ENGINE_RAID DM_AUDIT DM_BIO_PRISON DM_BUFIO DM_CACHE DM_CACHE_SMQ DM_CLONE DM_CRYPT DM_FLAKEY DM_INTEGRITY DM_MULTIPATH DM_MULTIPATH_QL DM_MULTIPATH_ST DM_PERSISTENT_DATA DM_RAID DM_SNAPSHOT DM_THIN_PROVISIONING DM_UEVENT DM_VERITY DM_VERITY_FEC DM_WRITECACHE DM_ZONED DRAGONRISE_FF DRM DRM_AUX_BRIDGE DRM_BOCHS DRM_BRIDGE DRM_BUDDY DRM_CIRRUS_QEMU DRM_CLIENT_SELECTION DRM_CLIENT_SETUP DRM_DEBUG_MM DRM_DISPLAY_DP_AUX_BUS DRM_DISPLAY_DP_HELPER DRM_DISPLAY_DSC_HELPER DRM_DISPLAY_HDCP_HELPER DRM_DISPLAY_HDMI_HELPER DRM_DISPLAY_HELPER DRM_FBDEV_EMULATION DRM_GEM_SHMEM_HELPER DRM_GM12U320 DRM_GUD DRM_I915 DRM_I915_CAPTURE_ERROR DRM_I915_COMPRESS_ERROR DRM_I915_USERPTR DRM_KMS_HELPER DRM_MIPI_DSI DRM_PANEL DRM_PANEL_BRIDGE DRM_PANEL_EDP ENCRYPTED_KEYS FSCACHE FUSE_FS GPIOLIB HAMRADIO HID_DRAGONRISE IIO INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_RTRS_CLIENT IOSCHED_BFQ LIBNVDIMM MAC80211 MAC80211_DEBUGFS MAC80211_LEDS MEDIA_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_DLN2 MMC MTD NET_CLS_U32 NET_SCH_DEFAULT PARTITION_ADVANCED RFKILL SERIAL_DEV_BUS TLS TLS_DEVICE TRANSPARENT_HUGEPAGE TRUSTED_KEYS USB_GADGET USB_PHY VLAN_8021Q WANT_COMPAT_NETLINK_MESSAGES WEXT_CORE WIRELESS WIRELESS_EXT WLAN WLAN_VENDOR_ATH X86_X32_ABI ZONE_DEVICE] disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG], 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: 0ebaaee987f872fc28e33ced4eb6beb3b305207b8a9387d75258812eb3800e75 all runs: OK false negative chance: 0.000 # git bisect start 33ce24234fca4c083e6685a18b460a18ebb5d5c1 98f7e32f20d28ec452afb208f9cffc08448a2652 Bisecting: 7470 revisions left to test after this (roughly 13 steps) [617a814f14b8914271f7a70366d72c6196d17663] Merge tag 'mm-stable-2024-09-20-02-31' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm testing commit 617a814f14b8914271f7a70366d72c6196d17663 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0d55e028f2a08e8705cf31a7f77ca80cb897492e7ba730fe089234f86b5cda27 all runs: OK false negative chance: 0.000 # git bisect good 617a814f14b8914271f7a70366d72c6196d17663 Bisecting: 3725 revisions left to test after this (roughly 12 steps) [e477dba5442c0af7acb9e8bbbbde1108a37ed39c] Merge tag 'for-6.12/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm testing commit e477dba5442c0af7acb9e8bbbbde1108a37ed39c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3f087deb2a923ba08d1d1a4cd6af64fe175e5894b8dfcfb9f1cbfc9655fca62c all runs: OK false negative chance: 0.000 # git bisect good e477dba5442c0af7acb9e8bbbbde1108a37ed39c Bisecting: 1865 revisions left to test after this (roughly 11 steps) [81fa6d1b986921fa93dabfecf7e8f2d643512025] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git testing commit 81fa6d1b986921fa93dabfecf7e8f2d643512025 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6896c27adf96a2e3c184f76f2a66880b88a992ef046f0205a64580050b6498aa all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] # git bisect bad 81fa6d1b986921fa93dabfecf7e8f2d643512025 Bisecting: 939 revisions left to test after this (roughly 10 steps) [d79b0f10eed92b29f1ee423462c95b7bb2c0d67a] Merge branch 'for-next-next-v6.12-20241008' into for-next-20241008 testing commit d79b0f10eed92b29f1ee423462c95b7bb2c0d67a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: dd127deb7ca92eaeabdb5dab3d1e319f9a37c3e6f39b008625ce98a60f64cf74 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] # git bisect bad d79b0f10eed92b29f1ee423462c95b7bb2c0d67a Bisecting: 449 revisions left to test after this (roughly 9 steps) [3ed7df085225ea8736b80d1e1a247a40d91281c8] Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi testing commit 3ed7df085225ea8736b80d1e1a247a40d91281c8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 83868e60ef52028dcb969dad35ed80a5d3630ac3130e5fc33f1f64a54cf7617e all runs: OK false negative chance: 0.000 # git bisect good 3ed7df085225ea8736b80d1e1a247a40d91281c8 Bisecting: 215 revisions left to test after this (roughly 8 steps) [fe6fceceaecf4c7488832be18a37ddf9213782bc] Merge tag 'drm-fixes-2024-10-04' of https://gitlab.freedesktop.org/drm/kernel testing commit fe6fceceaecf4c7488832be18a37ddf9213782bc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c83bfe3788a7aae8d831e86b3c0607bb05f53554b9cdbf0ba6cf62ef904765d1 all runs: OK false negative chance: 0.000 # git bisect good fe6fceceaecf4c7488832be18a37ddf9213782bc Bisecting: 106 revisions left to test after this (roughly 7 steps) [3a28c9e12828adcc899a9738783f1380f077a260] Merge tag 'i2c-for-6.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux testing commit 3a28c9e12828adcc899a9738783f1380f077a260 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 123c1f5d044b4736c14695ef551d38d5a8cf2c01981df1d24f1531d8563d4c13 all runs: OK false negative chance: 0.000 # git bisect good 3a28c9e12828adcc899a9738783f1380f077a260 Bisecting: 56 revisions left to test after this (roughly 6 steps) [c8d9f2c7aa599dcebab63400f7eaa767629faf04] Merge tag 'platform-drivers-x86-v6.12-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86 testing commit c8d9f2c7aa599dcebab63400f7eaa767629faf04 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 35d626456d1f90eada76670f15c2210998b04f6ac9a4b08b5d88a8d0f89c7412 all runs: OK false negative chance: 0.000 # git bisect good c8d9f2c7aa599dcebab63400f7eaa767629faf04 Bisecting: 28 revisions left to test after this (roughly 5 steps) [8b1cb2187d49d365f3a7cd006f94d9d642e0568c] btrfs: fix missing error handling when adding delayed ref with qgroups enabled testing commit 8b1cb2187d49d365f3a7cd006f94d9d642e0568c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7f257119290d199d3e1eeeda4bb88a0c3f4c988b86e3ca5501ef3901d5a7e5a5 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] # git bisect bad 8b1cb2187d49d365f3a7cd006f94d9d642e0568c Bisecting: 13 revisions left to test after this (roughly 4 steps) [6faacb2e1492ae23ccde1ea233c015fa4567f95f] btrfs: add cancellation points to trim loops testing commit 6faacb2e1492ae23ccde1ea233c015fa4567f95f gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6680e911d35cb07d7936003d6a6fc3c856657627ec77094c989071dc5bee236b all runs: OK false negative chance: 0.000 # git bisect good 6faacb2e1492ae23ccde1ea233c015fa4567f95f Bisecting: 6 revisions left to test after this (roughly 3 steps) [df353d2718e80e28f292a57a6c27f91718419d76] btrfs: do not assume the full page range is not dirty in extent_writepage_io() testing commit df353d2718e80e28f292a57a6c27f91718419d76 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: db6113e44b6aa83b9c21f7dfc1a6064698e59e40e81d3286b61c534c74a9d4ab all runs: OK false negative chance: 0.000 # git bisect good df353d2718e80e28f292a57a6c27f91718419d76 Bisecting: 3 revisions left to test after this (roughly 2 steps) [018dfd38a3506e58e0e40cbd1208a170983f6add] btrfs: allow compression even if the range is not page aligned testing commit 018dfd38a3506e58e0e40cbd1208a170983f6add gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8c8a2a964e9c64aa501f2a91d1950a604fc86db66d33fab71748bc64ac2e1a12 all runs: OK false negative chance: 0.000 # git bisect good 018dfd38a3506e58e0e40cbd1208a170983f6add Bisecting: 1 revision left to test after this (roughly 1 step) [b4b3fb6c00f37a9da91022adcd83555bc339e044] btrfs: canonicalize the device path before adding it testing commit b4b3fb6c00f37a9da91022adcd83555bc339e044 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 55307e51105bb8f63cc3a121a32ed76d26b25b1cc2fdd0f69b28669727b7a5f3 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in getname_kernel representative crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel, types: [UNKNOWN] # git bisect bad b4b3fb6c00f37a9da91022adcd83555bc339e044 Bisecting: 0 revisions left to test after this (roughly 0 steps) [94a5b169bf5c7c47d3b1af759cf70bf1ab236ddb] btrfs: avoid unnecessary device path update for the same device testing commit 94a5b169bf5c7c47d3b1af759cf70bf1ab236ddb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b38c338bf7248f7502eca431ab01658f160731062e02a38aa4f1228fc8b8a140 all runs: OK false negative chance: 0.000 # git bisect good 94a5b169bf5c7c47d3b1af759cf70bf1ab236ddb b4b3fb6c00f37a9da91022adcd83555bc339e044 is the first bad commit commit b4b3fb6c00f37a9da91022adcd83555bc339e044 Author: Qu Wenruo Date: Tue Sep 24 14:27:07 2024 +0930 btrfs: canonicalize the device path before adding it [PROBLEM] Currently btrfs accepts any file path for its device, resulting some weird situation: # ./mount_by_fd /dev/test/scratch1 /mnt/btrfs/ The program has the following source code: #include #include #include int main(int argc, char *argv[]) { int fd = open(argv[1], O_RDWR); char path[256]; snprintf(path, sizeof(path), "/proc/self/fd/%d", fd); return mount(path, argv[2], "btrfs", 0, NULL); } Then we can have the following weird device path: BTRFS: device fsid 2378be81-fe12-46d2-a9e8-68cf08dd98d5 devid 1 transid 7 /proc/self/fd/3 (253:2) scanned by mount_by_fd (18440) Normally it's not a big deal, and later udev can trigger a device path rename. But if udev didn't trigger, the device path "/proc/self/fd/3" will show up in mtab. [CAUSE] For filename "/proc/self/fd/3", it means the opened file descriptor 3. In above case, it's exactly the device we want to open, aka points to "/dev/test/scratch1" which is another symlink pointing to "/dev/dm-2". Inside kernel we solve the mount source using LOOKUP_FOLLOW, which follows the symbolic link and grab the proper block device. But inside btrfs we also save the filename into btrfs_device::name, and utilize that member to report our mount source, which leads to the above situation. [FIX] Instead of unconditionally trust the path, check if the original file (not following the symbolic link) is inside "/dev/", if not, then manually lookup the path to its final destination, and use that as our device path. This allows us to still use symbolic links, like "/dev/mapper/test-scratch" from LVM2, which is required for fstests runs with LVM2 setup. And for really weird names, like the above case, we solve it to "/dev/dm-2" instead. Reviewed-by: Filipe Manana Link: https://bugzilla.suse.com/show_bug.cgi?id=1230641 Reported-by: Fabian Vogt Signed-off-by: Qu Wenruo Signed-off-by: David Sterba fs/btrfs/volumes.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 1 deletion(-) accumulated error probability: 0.00 culprit signature: 55307e51105bb8f63cc3a121a32ed76d26b25b1cc2fdd0f69b28669727b7a5f3 parent signature: b38c338bf7248f7502eca431ab01658f160731062e02a38aa4f1228fc8b8a140 revisions tested: 22, total time: 9h31m42.906614127s (build: 5h47m30.270732713s, test: 3h27m3.613613014s) first bad commit: b4b3fb6c00f37a9da91022adcd83555bc339e044 btrfs: canonicalize the device path before adding it recipients (to): ["dsterba@suse.com" "fdmanana@suse.com" "wqu@suse.com"] recipients (cc): [] crash: BUG: unable to handle kernel NULL pointer dereference in getname_kernel BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 800000010cb35067 P4D 800000010cb35067 PUD 103b35067 PMD 0 Oops: Oops: 0000 [#1] PREEMPT SMP PTI CPU: 0 UID: 0 PID: 3331 Comm: syz.0.15 Not tainted 6.12.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 RIP: 0010:strlen+0xb/0x20 lib/string.c:402 Code: d8 5b 41 5e 41 5f c3 cc cc cc cc 90 0f 0b 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 48 c7 c0 ff ff ff ff <80> 7c 07 01 00 48 8d 40 01 75 f5 c3 cc cc cc cc 0f 1f 44 00 00 90 RSP: 0018:ffffc90002d1fc68 EFLAGS: 00010246 RAX: ffffffffffffffff RBX: ffff888102b40000 RCX: 0000000000000000 RDX: ffffc90002d1fce8 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000001000 R09: 0000000000000000 R10: ffff888102b40000 R11: 0000000000000000 R12: 0000000000000003 R13: 0000000000000001 R14: 0000000000000000 R15: ffff8881771a4000 FS: 00007f38b18596c0(0000) GS:ffff888237c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 000000010bf94000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: getname_kernel+0x13/0x100 fs/namei.c:232 kern_path+0x12/0x80 fs/namei.c:2716 is_good_dev_path fs/btrfs/volumes.c:760 [inline] btrfs_scan_one_device+0x90/0x450 fs/btrfs/volumes.c:1484 btrfs_get_tree_super fs/btrfs/super.c:1841 [inline] btrfs_get_tree+0xc7/0x770 fs/btrfs/super.c:2114 vfs_get_tree+0x24/0xb0 fs/super.c:1800 fc_mount+0xd/0x40 fs/namespace.c:1231 btrfs_get_tree_subvol fs/btrfs/super.c:2077 [inline] btrfs_get_tree+0x22d/0x770 fs/btrfs/super.c:2115 vfs_get_tree+0x24/0xb0 fs/super.c:1800 vfs_cmd_create+0x53/0xc0 fs/fsopen.c:225 __do_sys_fsconfig fs/fsopen.c:472 [inline] __se_sys_fsconfig+0x32c/0x4c0 fs/fsopen.c:344 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x8d/0x190 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f38b097dff9 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:00007f38b1859038 EFLAGS: 00000246 ORIG_RAX: 00000000000001af RAX: ffffffffffffffda RBX: 00007f38b0b35f80 RCX: 00007f38b097dff9 RDX: 0000000000000000 RSI: 0000000000000006 RDI: 0000000000000003 RBP: 00007f38b09f0296 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007f38b0b35f80 R15: 00007fffa4b3bf28 Modules linked in: CR2: 0000000000000000 ---[ end trace 0000000000000000 ]--- RIP: 0010:strlen+0xb/0x20 lib/string.c:402 Code: d8 5b 41 5e 41 5f c3 cc cc cc cc 90 0f 0b 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 48 c7 c0 ff ff ff ff <80> 7c 07 01 00 48 8d 40 01 75 f5 c3 cc cc cc cc 0f 1f 44 00 00 90 RSP: 0018:ffffc90002d1fc68 EFLAGS: 00010246 RAX: ffffffffffffffff RBX: ffff888102b40000 RCX: 0000000000000000 RDX: ffffc90002d1fce8 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 0000000000000000 R08: 0000000000001000 R09: 0000000000000000 R10: ffff888102b40000 R11: 0000000000000000 R12: 0000000000000003 R13: 0000000000000001 R14: 0000000000000000 R15: ffff8881771a4000 FS: 00007f38b18596c0(0000) GS:ffff888237c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 000000010bf94000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: d8 5b 41 fcomps 0x41(%rbx) 3: 5e pop %rsi 4: 41 5f pop %r15 6: c3 ret 7: cc int3 8: cc int3 9: cc int3 a: cc int3 b: 90 nop c: 0f 0b ud2 e: 90 nop f: 90 nop 10: 90 nop 11: 90 nop 12: 90 nop 13: 90 nop 14: 90 nop 15: 90 nop 16: 90 nop 17: 90 nop 18: 90 nop 19: 90 nop 1a: 90 nop 1b: 90 nop 1c: 90 nop 1d: 90 nop 1e: 90 nop 1f: f3 0f 1e fa endbr64 23: 48 c7 c0 ff ff ff ff mov $0xffffffffffffffff,%rax * 2a: 80 7c 07 01 00 cmpb $0x0,0x1(%rdi,%rax,1) <-- trapping instruction 2f: 48 8d 40 01 lea 0x1(%rax),%rax 33: 75 f5 jne 0x2a 35: c3 ret 36: cc int3 37: cc int3 38: cc int3 39: cc int3 3a: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) 3f: 90 nop