ci2 starts bisection 2024-03-10 20:46:20.226849959 +0000 UTC m=+143671.230677592 bisecting fixing commit since 61adba85cc40287232a539e607164f273260e0fe building syzkaller on 1c0ecc51adc9f44c7bd3f45c2aa1b62718d1236e ensuring issue is reproducible on original commit 61adba85cc40287232a539e607164f273260e0fe testing commit 61adba85cc40287232a539e607164f273260e0fe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c1a95d4653d3bb707452de4ab327e5dcb6bb42a91fa4ac4ec5cb1c2043f81d81 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] check whether we can drop unnecessary instrumentation disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG], they are not needed testing commit 61adba85cc40287232a539e607164f273260e0fe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: d9e1c82d383cd376a9271adb8a77e7b70422ed19548be555371bfc27a807f5fd all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, 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=3820 full=7527 leaves diff=1995 split chunks (needed=false): <1995> split chunk #0 of len 1995 into 5 parts testing without sub-chunk 1/5 disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit 61adba85cc40287232a539e607164f273260e0fe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0ac8fd2c183eb530a6962a2f725b588d2fa71177ce89b2270717c4610313d493 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 61adba85cc40287232a539e607164f273260e0fe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7453801d0a14b7d8f98143191d661a2b829b3653b8621321d94f6352af105f0f all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG], they are not needed testing commit 61adba85cc40287232a539e607164f273260e0fe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b0e0a2ed2d821b88bd2988d2f04b15f6c6df1b881c4d91c0e1df48a107433da8 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG], they are not needed testing commit 61adba85cc40287232a539e607164f273260e0fe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 16541c4263ca325719733b3b789511712bb0d59daded86f1c08f4c1e42d13e1d all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed testing commit 61adba85cc40287232a539e607164f273260e0fe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: deecf697bc919b8ac690f986c506c582f2855222431beb5ab617eae7595ab9e1 all runs: OK false negative chance: 0.000 minimized to 399 configs; suspects: [ARCH_ENABLE_MEMORY_HOTREMOVE ATM BCMA BLK_DEV_ZONED BPF_SYSCALL CARDBUS CFG80211 CFG80211_WEXT CMA COMMON_CLK CONTIG_ALLOC CRYPTO_842 CRYPTO_LZ4 CRYPTO_LZ4HC CRYPTO_LZO CRYPTO_ZSTD DVB_CORE EXTCON FB GPIOLIB HID_ZEROPLUS I2C_MUX IIO IRQ_REMAP KVM KVM_INTEL LIBNVDIMM MEDIA_ANALOG_TV_SUPPORT MEDIA_CAMERA_SUPPORT MEDIA_CEC_SUPPORT MEDIA_CONTROLLER MEDIA_DIGITAL_TV_SUPPORT MEDIA_RADIO_SUPPORT MEDIA_SDR_SUPPORT MEDIA_SUPPORT MEDIA_TEST_SUPPORT MEDIA_USB_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_VIPERBOARD PARPORT PCCARD PCMCIA PHONET RADIO_ADAPTERS RADIO_SI470X RADIO_SI4713 RC_CORE RFKILL SND SOUND SPI SSB TAP TARGET_CORE TUN USB_AMD5536UDC USB_ATM USB_CONFIGFS USB_CONFIGFS_F_TCM USB_CONFIGFS_F_UAC1 USB_CONFIGFS_F_UAC1_LEGACY USB_CONFIGFS_F_UAC2 USB_CONFIGFS_F_UVC USB_CONFIGFS_MASS_STORAGE USB_CONFIGFS_NCM USB_CONFIGFS_OBEX USB_CONFIGFS_PHONET USB_CONFIGFS_RNDIS USB_CONFIGFS_SERIAL USB_CXACRU USB_CYPRESS_CY7C63 USB_CYTHERM USB_DSBR USB_DUMMY_HCD USB_DWC2 USB_DWC2_HOST USB_DWC2_PCI USB_DWC3 USB_DWC3_GADGET USB_DWC3_OF_SIMPLE USB_DWC3_PCI USB_DWC3_ULPI USB_DYNAMIC_MINORS USB_EG20T USB_EHCI_HCD_PLATFORM USB_EHCI_ROOT_HUB_TT USB_EHSET_TEST_FIXTURE USB_EMI26 USB_EMI62 USB_EPSON2888 USB_EZUSB_FX2 USB_FEW_INIT_RETRIES USB_FOTG210_HCD USB_FOTG210_UDC USB_FTDI_ELAN USB_F_ACM USB_F_ECM USB_F_EEM USB_F_FS USB_F_HID USB_F_MASS_STORAGE USB_F_MIDI USB_F_NCM USB_F_OBEX USB_F_PHONET USB_F_PRINTER USB_F_RNDIS USB_F_SERIAL USB_F_SS_LB USB_F_SUBSET USB_F_TCM USB_F_UAC1 USB_F_UAC1_LEGACY USB_F_UAC2 USB_F_UVC USB_GADGET USB_GADGETFS USB_GADGET_DEBUG_FILES USB_GADGET_DEBUG_FS USB_GL860 USB_GOKU USB_GPIO_VBUS USB_GR_UDC USB_GSPCA USB_GSPCA_BENQ USB_GSPCA_CONEX USB_GSPCA_CPIA1 USB_GSPCA_DTCS033 USB_GSPCA_ETOMS USB_GSPCA_FINEPIX USB_GSPCA_JEILINJ USB_GSPCA_JL2005BCD USB_GSPCA_KINECT USB_GSPCA_KONICA USB_GSPCA_MARS USB_GSPCA_MR97310A USB_GSPCA_NW80X USB_GSPCA_OV519 USB_GSPCA_OV534 USB_GSPCA_OV534_9 USB_GSPCA_PAC207 USB_GSPCA_PAC7302 USB_GSPCA_PAC7311 USB_GSPCA_SE401 USB_GSPCA_SN9C2028 USB_GSPCA_SN9C20X USB_GSPCA_SONIXB USB_GSPCA_SONIXJ USB_GSPCA_SPCA1528 USB_GSPCA_SPCA500 USB_GSPCA_SPCA501 USB_GSPCA_SPCA505 USB_GSPCA_SPCA506 USB_GSPCA_SPCA508 USB_GSPCA_SPCA561 USB_GSPCA_SQ905 USB_GSPCA_SQ905C USB_GSPCA_SQ930X USB_GSPCA_STK014 USB_GSPCA_STK1135 USB_GSPCA_STV0680 USB_GSPCA_SUNPLUS USB_GSPCA_T613 USB_GSPCA_TOPRO USB_GSPCA_TOUPTEK USB_GSPCA_TV8532 USB_GSPCA_VC032X USB_GSPCA_VICAM USB_GSPCA_XIRLINK_CIT USB_GSPCA_ZC3XX USB_HACKRF USB_HCD_BCMA USB_HCD_SSB USB_HSIC_USB3503 USB_HSIC_USB4604 USB_HSO USB_HUB_USB251XB USB_IDMOUSE USB_IOWARRIOR USB_IPHETH USB_ISIGHTFW USB_ISP116X_HCD USB_ISP1301 USB_ISP1760 USB_ISP1760_DUAL_ROLE USB_ISP1760_HCD USB_ISP1761_UDC USB_KAWETH USB_KC2190 USB_KEENE USB_LAN78XX USB_LCD USB_LD USB_LEDS_TRIGGER_USBPORT USB_LED_TRIG USB_LEGOTOWER USB_LIBCOMPOSITE USB_LINK_LAYER_TEST USB_M5602 USB_MA901 USB_MAX3421_HCD USB_MDC800 USB_MICROTEK USB_MR800 USB_MSI2500 USB_MUSB_DUAL_ROLE USB_MUSB_HDRC USB_MV_U3D USB_MV_UDC USB_NET2272 USB_NET2272_DMA USB_NET2280 USB_NET_AX88179_178A USB_NET_AX8817X USB_NET_CDCETHER USB_NET_CDC_EEM USB_NET_CDC_MBIM USB_NET_CDC_NCM USB_NET_CDC_SUBSET USB_NET_CDC_SUBSET_ENABLE USB_NET_CH9200 USB_NET_CX82310_ETH USB_NET_DM9601 USB_NET_GL620A USB_NET_HUAWEI_CDC_NCM USB_NET_INT51X1 USB_NET_KALMIA USB_NET_MCS7830 USB_NET_NET1080 USB_NET_PLUSB USB_NET_QMI_WWAN USB_NET_RNDIS_HOST USB_NET_RNDIS_WLAN USB_NET_SMSC75XX USB_NET_SMSC95XX USB_NET_SR9700 USB_NET_SR9800 USB_NET_ZAURUS USB_OHCI_HCD_PLATFORM USB_OTG USB_OTG_FSM USB_OXU210HP_HCD USB_PEGASUS USB_PULSE8_CEC USB_PWC USB_PWC_INPUT_EVDEV USB_PXA27X USB_R8A66597 USB_R8A66597_HCD USB_RAINSHADOW_CEC USB_RAREMONO USB_RAW_GADGET USB_RTL8150 USB_RTL8152 USB_RTL8153_ECM USB_S2255 USB_SERIAL USB_SERIAL_AIRCABLE USB_SERIAL_ARK3116 USB_SERIAL_BELKIN USB_SERIAL_CH341 USB_SERIAL_CONSOLE USB_SERIAL_CP210X USB_SERIAL_CYBERJACK USB_SERIAL_CYPRESS_M8 USB_SERIAL_DEBUG USB_SERIAL_DIGI_ACCELEPORT USB_SERIAL_EDGEPORT USB_SERIAL_EDGEPORT_TI USB_SERIAL_EMPEG USB_SERIAL_F81232 USB_SERIAL_F8153X USB_SERIAL_FTDI_SIO USB_SERIAL_GARMIN USB_SERIAL_GENERIC USB_SERIAL_IPAQ USB_SERIAL_IPW USB_SERIAL_IR USB_SERIAL_IUU USB_SERIAL_KEYSPAN USB_SERIAL_KEYSPAN_PDA USB_SERIAL_KLSI USB_SERIAL_KOBIL_SCT USB_SERIAL_MCT_U232 USB_SERIAL_METRO USB_SERIAL_MOS7715_PARPORT USB_SERIAL_MOS7720 USB_SERIAL_MOS7840 USB_SERIAL_MXUPORT USB_SERIAL_NAVMAN USB_SERIAL_OMNINET USB_SERIAL_OPTICON USB_SERIAL_OPTION USB_SERIAL_OTI6858 USB_SERIAL_PL2303 USB_SERIAL_QCAUX USB_SERIAL_QT2 USB_SERIAL_QUALCOMM USB_SERIAL_SAFE USB_SERIAL_SIERRAWIRELESS USB_SERIAL_SIMPLE USB_SERIAL_SPCP8X5 USB_SERIAL_SSU100 USB_SERIAL_SYMBOL USB_SERIAL_TI USB_SERIAL_UPD78F0730 USB_SERIAL_VISOR USB_SERIAL_WHITEHEAT USB_SERIAL_WISHBONE USB_SERIAL_WWAN USB_SERIAL_XR USB_SERIAL_XSENS_MT USB_SEVSEG USB_SI470X USB_SI4713 USB_SIERRA_NET USB_SISUSBVGA USB_SL811_CS USB_SL811_HCD USB_SL811_HCD_ISO USB_SNP_CORE USB_SPEEDTOUCH USB_STORAGE_ALAUDA USB_STORAGE_CYPRESS_ATACB USB_STORAGE_DATAFAB USB_STORAGE_ENE_UB6250 USB_STORAGE_FREECOM USB_STORAGE_ISD200 USB_STORAGE_JUMPSHOT USB_STORAGE_KARMA USB_STORAGE_ONETOUCH USB_STORAGE_SDDR09 USB_STORAGE_SDDR55 USB_STORAGE_USBAT USB_STV06XX USB_TEST USB_TMC USB_TRANCEVIBRATOR USB_U132_HCD USB_UAS USB_UEAGLEATM USB_ULPI_BUS USB_USBNET USB_USS720 USB_U_AUDIO USB_U_ETHER USB_U_SERIAL USB_VIDEO_CLASS USB_VIDEO_CLASS_INPUT_EVDEV USB_VL600 USB_WDM USB_XHCI_DBGCAP USB_XHCI_PLATFORM USB_XUSBATM USB_YUREX USERFAULTFD USERIO USERMODE_DRIVER USER_RETURN_NOTIFIER U_SERIAL_CONSOLE V4L2_ASYNC V4L2_FWNODE V4L2_MEM2MEM_DEV V4L_TEST_DRIVERS VALIDATE_FS_PARSER VDPA VDPA_SIM VDPA_SIM_BLOCK VDPA_SIM_NET VDPA_USER VETH VFIO VFIO_IOMMU_TYPE1 VFIO_PCI VFIO_PCI_CORE VFIO_PCI_INTX VFIO_PCI_MMAP VFIO_VIRQFD VGASTATE VHOST VHOST_CROSS_ENDIAN_LEGACY VHOST_IOTLB VHOST_NET VHOST_RING VHOST_VDPA VHOST_VSOCK VIDEOBUF2_CORE VIDEOBUF2_DMA_CONTIG VIDEOBUF2_DMA_SG VIDEOBUF2_MEMOPS VIDEOBUF2_V4L2 VIDEOBUF2_VMALLOC VIDEOMODE_HELPERS VIDEO_AU0828 VIDEO_AU0828_RC VIDEO_AU0828_V4L2 VIDEO_CAMERA_SENSOR VIDEO_CS53L32A VIDEO_CX231XX VIDEO_CX231XX_ALSA VIDEO_CX231XX_DVB VIDEO_CX231XX_RC VIDEO_CX2341X VIDEO_CX25840 VIDEO_DEV VIDEO_EM28XX VIDEO_EM28XX_ALSA VIDEO_EM28XX_DVB VIDEO_EM28XX_RC VIDEO_EM28XX_V4L2 VIDEO_GO7007 VIDEO_GO7007_LOADER VIDEO_GO7007_USB VIDEO_GO7007_USB_S2250_BOARD VIDEO_HDPVR VIDEO_MSP3400 VIDEO_PVRUSB2 VIDEO_PVRUSB2_DVB VIDEO_PVRUSB2_SYSFS VIDEO_SAA711X VIDEO_STK1160 VIDEO_STK1160_COMMON VIDEO_TUNER VIDEO_TVEEPROM VIDEO_USBTV VIDEO_V4L2_I2C VIDEO_V4L2_SUBDEV_API VIDEO_V4L2_TPG VIDEO_VICODEC VIDEO_VIM2M VIDEO_VIMC VIDEO_VIVID VIDEO_VIVID_CEC VIDEO_WM8775 VIPERBOARD_ADC VIRTIO_BALLOON VIRTIO_DMA_SHARED_BUFFER VIRTIO_MEM VIRTIO_MMIO VIRTIO_MMIO_CMDLINE_DEVICES VIRTIO_PMEM VIRTIO_VDPA VIRTIO_VSOCKETS VIRTIO_VSOCKETS_COMMON VIRT_WIFI VLAN_8021Q VLAN_8021Q_GVRP VLAN_8021Q_MVRP VMAP_PFN VMWARE_VMCI VMXNET3 VP_VDPA VSOCKETS VSOCKETS_DIAG VSOCKETS_LOOPBACK VSOCKMON VT_HW_CONSOLE_BINDING VXFS_FS WANT_DEV_COREDUMP WEXT_CORE WEXT_PRIV WEXT_PROC WIREGUARD WIRELESS WIRELESS_EXT WLAN WLAN_VENDOR_ADMTEK WLAN_VENDOR_PURELIFI WLAN_VENDOR_SILABS X86_SGX X86_SGX_KVM X86_X2APIC X86_X32_ABI XARRAY_MULTI XDP_SOCKETS XDP_SOCKETS_DIAG XFRM_ESPINTCP XFRM_INTERFACE XFRM_IPCOMP XFRM_MIGRATE XFRM_OFFLOAD XFRM_STATISTICS XFRM_SUB_POLICY XFRM_USER_COMPAT XFS_FS XFS_POSIX_ACL XFS_QUOTA XFS_RT XOR_BLOCKS YENTA YENTA_ENE_TUNE YENTA_O2 YENTA_RICOH YENTA_TI YENTA_TOSHIBA ZBUD ZEROPLUS_FF ZLIB_DEFLATE ZONEFS_FS ZPOOL ZRAM ZRAM_DEF_COMP_LZORLE ZSMALLOC ZSTD_COMPRESS ZSWAP ZSWAP_COMPRESSOR_DEFAULT_LZO ZSWAP_DEFAULT_ON ZSWAP_ZPOOL_DEFAULT_ZBUD] disabling configs for [LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed determining the merge base between 61adba85cc40287232a539e607164f273260e0fe and fa4b851b4ad632dc673627f38a8a552547568a2c 830b3c68c1fb1e9176028d02ef86f3cf76aa2476/Linux 6.1 is a merge base, check if it has the bug testing commit 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8e9a974907fef0f02ad5f820c5cb86e32c480ec2813af06039d11e378b55a625 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] testing current HEAD fa4b851b4ad632dc673627f38a8a552547568a2c testing commit fa4b851b4ad632dc673627f38a8a552547568a2c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: d53bb868c10de8c4d37a3d46a6c3d45fa8d82327bcfdeda36651e5071a1af27b all runs: OK false negative chance: 0.000 # git bisect start fa4b851b4ad632dc673627f38a8a552547568a2c 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 Bisecting: 56695 revisions left to test after this (roughly 16 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 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 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: 21e1040503ad0025e068d9a6a04dfd21e34360f23cba4fe92c4d3bdece6341e3 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good b775d6c5859affe00527cbe74263de05cfe6b9f9 Bisecting: 28198 revisions left to test after this (roughly 15 steps) [89ed67ef126c4160349c1b96fdb775ea6170ac90] Merge tag 'net-next-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit 89ed67ef126c4160349c1b96fdb775ea6170ac90 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4347128de7d0a32e9b7a5748e95f20b99d6c38b95478fe0a5a050e500873c0f7 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good 89ed67ef126c4160349c1b96fdb775ea6170ac90 Bisecting: 14087 revisions left to test after this (roughly 14 steps) [e54478fbdad20f2c58d0a4f99d01299ed8e7fe9c] Merge tag 'amd-drm-next-6.8-2024-01-05' of https://gitlab.freedesktop.org/agd5f/linux into drm-next determine whether the revision contains the guilty commit revision 830b3c68c1fb1e9176028d02ef86f3cf76aa2476 crashed and is reachable testing commit e54478fbdad20f2c58d0a4f99d01299ed8e7fe9c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2b922d360d6770dc807cc17e1470744822a20726276a6485266e804dd9776f03 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good e54478fbdad20f2c58d0a4f99d01299ed8e7fe9c Bisecting: 7049 revisions left to test after this (roughly 13 steps) [38d20c62903d669693a1869aa68c4dd5674e2544] ksmbd: fix UAF issue in ksmbd_tcp_new_connection() determine whether the revision contains the guilty commit revision 89ed67ef126c4160349c1b96fdb775ea6170ac90 crashed and is reachable testing commit 38d20c62903d669693a1869aa68c4dd5674e2544 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 958015abe2c777826d7e051e73dedf287623f9d5cc5ce0fc8755ef059c2723ef all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good 38d20c62903d669693a1869aa68c4dd5674e2544 Bisecting: 3511 revisions left to test after this (roughly 12 steps) [378de6df19800dc2c18c355c8c2c5528f98e879a] Merge tag 'rtc-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux determine whether the revision contains the guilty commit revision b775d6c5859affe00527cbe74263de05cfe6b9f9 crashed and is reachable testing commit 378de6df19800dc2c18c355c8c2c5528f98e879a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 831f00bfe3a5c94cb4934804bf2c9fd31cbcbb18cb8fb0981d909825031c7771 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good 378de6df19800dc2c18c355c8c2c5528f98e879a Bisecting: 1756 revisions left to test after this (roughly 11 steps) [bdda52cc664caaf030fdaf51dd715ef5d1f14a26] Merge tag 'i2c-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux determine whether the revision contains the guilty commit revision 38d20c62903d669693a1869aa68c4dd5674e2544 crashed and is reachable testing commit bdda52cc664caaf030fdaf51dd715ef5d1f14a26 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c1202ac5f8cbb55b234a0d2dc056e907adb1e32f0582b54e8e649f9a5716833b all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good bdda52cc664caaf030fdaf51dd715ef5d1f14a26 Bisecting: 879 revisions left to test after this (roughly 10 steps) [4ece8fc439c370b1aec26a44b9f94fb214068d42] drm/tests/buddy: fix print format determine whether the revision contains the guilty commit revision 89ed67ef126c4160349c1b96fdb775ea6170ac90 crashed and is reachable testing commit 4ece8fc439c370b1aec26a44b9f94fb214068d42 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9cdde2109ac7b3b458af2c7b37bc613c64d57bff3b9ee234e8d9f7a968fad43e all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good 4ece8fc439c370b1aec26a44b9f94fb214068d42 Bisecting: 400 revisions left to test after this (roughly 9 steps) [87adedeba51a822533649b143232418b9e26d08b] Merge tag 'net-6.8-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net determine whether the revision contains the guilty commit revision bdda52cc664caaf030fdaf51dd715ef5d1f14a26 crashed and is reachable testing commit 87adedeba51a822533649b143232418b9e26d08b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6e43d10343e45f7ba236e1a67f8b412f15328ad411f0801b9cd084f13720106d all runs: OK false negative chance: 0.000 # git bisect bad 87adedeba51a822533649b143232418b9e26d08b Bisecting: 236 revisions left to test after this (roughly 8 steps) [e44baca779686425d0ca02491731b6d688c6711d] Merge tag 'arm-fixes-6.8-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc determine whether the revision contains the guilty commit revision 378de6df19800dc2c18c355c8c2c5528f98e879a crashed and is reachable testing commit e44baca779686425d0ca02491731b6d688c6711d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9c05a425cd694a05932e6b5e1d19e2e5eb6f04dd14b714b2dde21d943ef32bca all runs: OK false negative chance: 0.000 # git bisect bad e44baca779686425d0ca02491731b6d688c6711d Bisecting: 120 revisions left to test after this (roughly 7 steps) [1c892cdd8fe004ed6cef4501a7141594a1616368] Merge tag 'vfs-6.8-rc6.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs determine whether the revision contains the guilty commit revision 89ed67ef126c4160349c1b96fdb775ea6170ac90 crashed and is reachable testing commit 1c892cdd8fe004ed6cef4501a7141594a1616368 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2aa79e6f5b57c09c5630484a6f262228c703cf395fc99cc9521ba6611e10de5c all runs: OK false negative chance: 0.000 # git bisect bad 1c892cdd8fe004ed6cef4501a7141594a1616368 Bisecting: 59 revisions left to test after this (roughly 6 steps) [39a4cd5a3a32fe61716cfcaae1a01f9e5ee4971c] Merge branch 'ioam6-fix-write-to-cloned-skb-s' determine whether the revision contains the guilty commit revision b775d6c5859affe00527cbe74263de05cfe6b9f9 crashed and is reachable testing commit 39a4cd5a3a32fe61716cfcaae1a01f9e5ee4971c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a2e42604e0baa94314e2ff6b168fe71221364fae44966858aabb3db16f0899fe all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good 39a4cd5a3a32fe61716cfcaae1a01f9e5ee4971c Bisecting: 30 revisions left to test after this (roughly 5 steps) [39133352cbed6626956d38ed72012f49b0421e7b] Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm determine whether the revision contains the guilty commit revision 378de6df19800dc2c18c355c8c2c5528f98e879a crashed and is reachable testing commit 39133352cbed6626956d38ed72012f49b0421e7b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b0ea7e47032dcd1e7ade705c217b6acf44d4a21f8a5d009b05d14aae1be3bc2a all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good 39133352cbed6626956d38ed72012f49b0421e7b Bisecting: 16 revisions left to test after this (roughly 4 steps) [fdcd4467ba154465402432888f9ba9ad2122a37a] Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf determine whether the revision contains the guilty commit revision 89ed67ef126c4160349c1b96fdb775ea6170ac90 crashed and is reachable testing commit fdcd4467ba154465402432888f9ba9ad2122a37a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c8fda932d707d24b61f55ed080af6a23014cc8dc68c29facb281e82fbb4b625d all runs: OK false negative chance: 0.000 # git bisect bad fdcd4467ba154465402432888f9ba9ad2122a37a Bisecting: 6 revisions left to test after this (roughly 3 steps) [54d46c9f581d16ac6adad3c3e61766e02bbfcb60] Merge branch 'fix-the-read-of-vsyscall-page-through-bpf' determine whether the revision contains the guilty commit revision b775d6c5859affe00527cbe74263de05cfe6b9f9 crashed and is reachable testing commit 54d46c9f581d16ac6adad3c3e61766e02bbfcb60 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4a536b1e2e2c3f7b52fa7383df901b71f0b300097b7f255f172ff7454e997eee all runs: OK false negative chance: 0.000 # git bisect bad 54d46c9f581d16ac6adad3c3e61766e02bbfcb60 Bisecting: 3 revisions left to test after this (roughly 2 steps) [e37243b65d528a8a9f8b9a57a43885f8e8dfc15c] bpf, scripts: Correct GPL license name determine whether the revision contains the guilty commit revision 89ed67ef126c4160349c1b96fdb775ea6170ac90 crashed and is reachable testing commit e37243b65d528a8a9f8b9a57a43885f8e8dfc15c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 61f9254d440560c261a6e4bce0d776e2393df47311285448b638686a9e5bf16d all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good e37243b65d528a8a9f8b9a57a43885f8e8dfc15c Bisecting: 1 revision left to test after this (roughly 1 step) [32019c659ecfe1d92e3bf9fcdfbb11a7c70acd58] x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault() determine whether the revision contains the guilty commit revision b775d6c5859affe00527cbe74263de05cfe6b9f9 crashed and is reachable testing commit 32019c659ecfe1d92e3bf9fcdfbb11a7c70acd58 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ba0c5e947699f877e904e9a8970ee68367e0d5aed4d1512fb081af24382a74f3 all runs: OK false negative chance: 0.000 # git bisect bad 32019c659ecfe1d92e3bf9fcdfbb11a7c70acd58 Bisecting: 0 revisions left to test after this (roughly 0 steps) [ee0e39a63b78849f8abbef268b13e4838569f646] x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h determine whether the revision contains the guilty commit revision 89ed67ef126c4160349c1b96fdb775ea6170ac90 crashed and is reachable testing commit ee0e39a63b78849f8abbef268b13e4838569f646 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1d13a0bebb85b1606fc821682172d905be76754aa074347c726ce64cabafbfc5 all runs: crashed: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str representative crash: BUG: unable to handle kernel paging request in bpf_probe_read_compat_str, types: [UNKNOWN] # git bisect good ee0e39a63b78849f8abbef268b13e4838569f646 32019c659ecfe1d92e3bf9fcdfbb11a7c70acd58 is the first bad commit commit 32019c659ecfe1d92e3bf9fcdfbb11a7c70acd58 Author: Hou Tao Date: Fri Feb 2 18:39:34 2024 +0800 x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault() When trying to use copy_from_kernel_nofault() to read vsyscall page through a bpf program, the following oops was reported: BUG: unable to handle page fault for address: ffffffffff600000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 3231067 P4D 3231067 PUD 3233067 PMD 3235067 PTE 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 20390 Comm: test_progs ...... 6.7.0+ #58 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) ...... RIP: 0010:copy_from_kernel_nofault+0x6f/0x110 ...... Call Trace: ? copy_from_kernel_nofault+0x6f/0x110 bpf_probe_read_kernel+0x1d/0x50 bpf_prog_2061065e56845f08_do_probe_read+0x51/0x8d trace_call_bpf+0xc5/0x1c0 perf_call_bpf_enter.isra.0+0x69/0xb0 perf_syscall_enter+0x13e/0x200 syscall_trace_enter+0x188/0x1c0 do_syscall_64+0xb5/0xe0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 ...... ---[ end trace 0000000000000000 ]--- The oops is triggered when: 1) A bpf program uses bpf_probe_read_kernel() to read from the vsyscall page and invokes copy_from_kernel_nofault() which in turn calls __get_user_asm(). 2) Because the vsyscall page address is not readable from kernel space, a page fault exception is triggered accordingly. 3) handle_page_fault() considers the vsyscall page address as a user space address instead of a kernel space address. This results in the fix-up setup by bpf not being applied and a page_fault_oops() is invoked due to SMAP. Considering handle_page_fault() has already considered the vsyscall page address as a userspace address, fix the problem by disallowing vsyscall page read for copy_from_kernel_nofault(). Originally-by: Thomas Gleixner Reported-by: syzbot+72aa0161922eba61b50e@syzkaller.appspotmail.com Closes: https://lore.kernel.org/bpf/CAG48ez06TZft=ATH1qh2c5mpS5BT8UakwNkzi6nvK5_djC-4Nw@mail.gmail.com Reported-by: xingwei lee Closes: https://lore.kernel.org/bpf/CABOYnLynjBoFZOf3Z4BhaZkc5hx_kHfsjiW+UWLoB=w33LvScw@mail.gmail.com Signed-off-by: Hou Tao Reviewed-by: Sohil Mehta Acked-by: Thomas Gleixner Link: https://lore.kernel.org/r/20240202103935.3154011-3-houtao@huaweicloud.com Signed-off-by: Alexei Starovoitov arch/x86/mm/maccess.c | 10 ++++++++++ 1 file changed, 10 insertions(+) accumulated error probability: 0.00 culprit signature: ba0c5e947699f877e904e9a8970ee68367e0d5aed4d1512fb081af24382a74f3 parent signature: 1d13a0bebb85b1606fc821682172d905be76754aa074347c726ce64cabafbfc5 revisions tested: 26, total time: 4h1m34.843438563s (build: 1h25m42.561702632s, test: 2h18m38.502914885s) first good commit: 32019c659ecfe1d92e3bf9fcdfbb11a7c70acd58 x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault() recipients (to): ["ast@kernel.org" "houtao1@huawei.com" "sohil.mehta@intel.com" "tglx@linutronix.de"] recipients (cc): []