ci starts bisection 2024-03-23 21:09:15.275075954 +0000 UTC m=+66876.663940788 bisecting cause commit starting from ddb2ffdc474a3000887dc776b971d04bde29decc building syzkaller on 7a239ce75709b01083336e0f2f44aa8a01734543 ensuring issue is reproducible on original commit ddb2ffdc474a3000887dc776b971d04bde29decc testing commit ddb2ffdc474a3000887dc776b971d04bde29decc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e5cbcd4686a5e085cc4c6121756959b5f8d856ead81333ab7d4843e957d54698 all runs: crashed: general protection fault in bpf_check representative crash: general protection fault in bpf_check, 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 ddb2ffdc474a3000887dc776b971d04bde29decc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5c4319160e62e5506afb5313a9cc513fe125c7afe6f62f53ad5a5935f2d09025 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, types: [UNKNOWN] the bug reproduces without the instrumentation disabling configs for [UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed kconfig minimization: base=3937 full=7972 leaves diff=2020 split chunks (needed=false): <2020> split chunk #0 of len 2020 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 ddb2ffdc474a3000887dc776b971d04bde29decc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1c71c1bdfb13edb8b92d1a4b36a3dc0134e0dc24c9123a49abb636815fa02ab5 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed testing commit ddb2ffdc474a3000887dc776b971d04bde29decc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 39527d08ba1703fcdd5631b8080c8a64aa765c2c143b8a5b3312714b630726c6 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit ddb2ffdc474a3000887dc776b971d04bde29decc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e7cd85304898e5f193179fcd05dc4e6bae07b4cc53c03cd1c9fd7d302a22a4b9 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, 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 ddb2ffdc474a3000887dc776b971d04bde29decc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 92cd01c0b1cb05b7941df03db1595e35f16c91d9cc3243d7e06ce3e095c59273 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, 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 ddb2ffdc474a3000887dc776b971d04bde29decc gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3b8634391faeb9a5dae9afbc63bb68b5c3d5bad04b42bce851289edc5541b63a all runs: OK false negative chance: 0.000 minimized to 404 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 IOMMUFD 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_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_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_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_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_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 UVC_COMMON U_SERIAL_CONSOLE V4L2_MEM2MEM_DEV V4L_TEST_DRIVERS VALIDATE_FS_PARSER VDPA VDPA_SIM VDPA_SIM_BLOCK VDPA_SIM_NET VDPA_USER VETH VFIO VFIO_DEVICE_CDEV 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_TASK 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_CMDLINE 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_NOMODESET VIDEO_PVRUSB2 VIDEO_PVRUSB2_DVB VIDEO_PVRUSB2_SYSFS VIDEO_SAA711X VIDEO_STK1160 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_USER_SHADOW_STACK X86_X2APIC X86_X32_ABI 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 ZEROPLUS_FF ZLIB_DEFLATE ZONEFS_FS ZPOOL ZRAM ZRAM_DEF_COMP_LZORLE ZSMALLOC ZSTD_COMPRESS ZSWAP ZSWAP_COMPRESSOR_DEFAULT_LZO ZSWAP_DEFAULT_ON ZSWAP_SHRINKER_DEFAULT_ON ZSWAP_ZPOOL_DEFAULT_ZSMALLOC] disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed picked [v6.8 v6.7 v6.6 v6.4 v6.2 v6.0 v5.18 v5.16 v5.13 v5.10 v5.7 v5.4 v5.1 v4.19] out of 31 release tags testing release v6.8 testing commit e8f897f4afef0031fe618a8e94127a0934896aba gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e0452a013925b8a1b651c8e73944d6cf59b2c2c6e039d9cc871a6ce3675969b0 all runs: OK false negative chance: 0.000 # git bisect start ddb2ffdc474a3000887dc776b971d04bde29decc e8f897f4afef0031fe618a8e94127a0934896aba Bisecting: 2618 revisions left to test after this (roughly 11 steps) [b32273ee89a866b01b316b9a8de407efde01090c] Merge tag 'execve-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux testing commit b32273ee89a866b01b316b9a8de407efde01090c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 34805e0293d5e072b3a7c903a6c97d7c8aba9853d38da8f4d3635f9e0087e114 all runs: OK false negative chance: 0.000 # git bisect good b32273ee89a866b01b316b9a8de407efde01090c Bisecting: 1309 revisions left to test after this (roughly 10 steps) [3eab2034364dc446d3ccd0bee15af681638fcb9d] wifi: iwlwifi: mvm: partially support PHY context version 6 testing commit 3eab2034364dc446d3ccd0bee15af681638fcb9d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a06e36409627690c413c0b57741cd662090a8ca3939fee009fc4456cf43b9316 all runs: OK false negative chance: 0.000 # git bisect good 3eab2034364dc446d3ccd0bee15af681638fcb9d Bisecting: 654 revisions left to test after this (roughly 9 steps) [56d074d26c5828773b00b2185dd7e1d08273b8e8] Bluetooth: hci_qca: don't use IS_ERR_OR_NULL() with gpiod_get_optional() testing commit 56d074d26c5828773b00b2185dd7e1d08273b8e8 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4c007ac50bfb7cba3efe9ec1953d15ad25eebe740f50838547c4dcde15c8ac03 all runs: OK false negative chance: 0.000 # git bisect good 56d074d26c5828773b00b2185dd7e1d08273b8e8 Bisecting: 330 revisions left to test after this (roughly 8 steps) [2f901582f032bed47907a20f77fb44b3532b4762] Merge tag 'for-net-next-2024-03-08' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next testing commit 2f901582f032bed47907a20f77fb44b3532b4762 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: eb3d40860c3f9749d1c13c1b5f63f8579527d8eda0f9e6354a9faa66f1d0aa21 all runs: OK false negative chance: 0.000 # git bisect good 2f901582f032bed47907a20f77fb44b3532b4762 Bisecting: 169 revisions left to test after this (roughly 7 steps) [a318d3d54c44f9916cd77ad272083d4a4d68899b] Merge branch 'nexthop-fix-two-nexthop-group-statistics-issues' testing commit a318d3d54c44f9916cd77ad272083d4a4d68899b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a0d02311ecaf0fb7b2d7d6bdaa0cfb538529b4434ea5968ad5ab13201bff87f0 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, types: [UNKNOWN] # git bisect bad a318d3d54c44f9916cd77ad272083d4a4d68899b Bisecting: 80 revisions left to test after this (roughly 6 steps) [ba980f8dff548ec4558ca9c5f20ac6545920debb] netlink: specs: support generating code for genl socket priv testing commit ba980f8dff548ec4558ca9c5f20ac6545920debb gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f7af03474cce95750e7f97e3bb3e20959015bc40d2d19f9e9ee1e3850b4b093f all runs: OK false negative chance: 0.000 # git bisect good ba980f8dff548ec4558ca9c5f20ac6545920debb Bisecting: 39 revisions left to test after this (roughly 5 steps) [c7d4274e90a1e7aa43d11d2a16066cbbe610070e] Merge branch 'bpf: arena prerequisites' testing commit c7d4274e90a1e7aa43d11d2a16066cbbe610070e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e85b3b8c4ebd36f91223830f64ed38ffeb03e765d22264520e246ae153badebb all runs: OK false negative chance: 0.000 # git bisect good c7d4274e90a1e7aa43d11d2a16066cbbe610070e Bisecting: 19 revisions left to test after this (roughly 4 steps) [9f2c156f90a422b4897a8c2831076a96a31413d1] selftests/bpf: Add bpf_arena_list test. testing commit 9f2c156f90a422b4897a8c2831076a96a31413d1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: d9cc1b698f627a00d92516d486ad18bfa976ef4056b3673a2db34d3dcfb12baa all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, types: [UNKNOWN] # git bisect bad 9f2c156f90a422b4897a8c2831076a96a31413d1 Bisecting: 9 revisions left to test after this (roughly 3 steps) [2fe99eb0ccf2bb73df65ebcbbf2f2ff70e63547b] bpf: Add x86-64 JIT support for PROBE_MEM32 pseudo instructions. testing commit 2fe99eb0ccf2bb73df65ebcbbf2f2ff70e63547b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f80a61dd2ea33d09f792bb2f20d4ea040ab249baa8cb5551a79aaa7329883669 all runs: OK false negative chance: 0.000 # git bisect good 2fe99eb0ccf2bb73df65ebcbbf2f2ff70e63547b Bisecting: 4 revisions left to test after this (roughly 2 steps) [79ff13e99169ddb0e2277e046dbfb112f77dfac5] libbpf: Add support for bpf_arena. testing commit 79ff13e99169ddb0e2277e046dbfb112f77dfac5 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 49932972ae00894848ae3f70c336db153fd53405c0ad6ad85b63c7f730696b84 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, types: [UNKNOWN] # git bisect bad 79ff13e99169ddb0e2277e046dbfb112f77dfac5 Bisecting: 2 revisions left to test after this (roughly 1 step) [6082b6c328b5486da2b356eae94b8b83c98b5565] bpf: Recognize addr_space_cast instruction in the verifier. testing commit 6082b6c328b5486da2b356eae94b8b83c98b5565 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: edf88294c6fb5b5386339f47c02d7adab2a408e81b7a86ac71745bf9a5b2fbed all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in bpf_check representative crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check, types: [UNKNOWN] # git bisect bad 6082b6c328b5486da2b356eae94b8b83c98b5565 Bisecting: 0 revisions left to test after this (roughly 0 steps) [142fd4d2dcf58b1720a6af644f31de1a5551f219] bpf: Add x86-64 JIT support for bpf_addr_space_cast instruction. testing commit 142fd4d2dcf58b1720a6af644f31de1a5551f219 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8b31345333876a652f8311d7e86ad7cc9655592d1ed1f71ae475651c8394ffec all runs: OK false negative chance: 0.000 # git bisect good 142fd4d2dcf58b1720a6af644f31de1a5551f219 6082b6c328b5486da2b356eae94b8b83c98b5565 is the first bad commit commit 6082b6c328b5486da2b356eae94b8b83c98b5565 Author: Alexei Starovoitov Date: Thu Mar 7 17:08:03 2024 -0800 bpf: Recognize addr_space_cast instruction in the verifier. rY = addr_space_cast(rX, 0, 1) tells the verifier that rY->type = PTR_TO_ARENA. Any further operations on PTR_TO_ARENA register have to be in 32-bit domain. The verifier will mark load/store through PTR_TO_ARENA with PROBE_MEM32. JIT will generate them as kern_vm_start + 32bit_addr memory accesses. rY = addr_space_cast(rX, 1, 0) tells the verifier that rY->type = unknown scalar. If arena->map_flags has BPF_F_NO_USER_CONV set then convert cast_user to mov32 as well. Otherwise JIT will convert it to: rY = (u32)rX; if (rY) rY |= arena->user_vm_start & ~(u64)~0U; Signed-off-by: Alexei Starovoitov Signed-off-by: Andrii Nakryiko Link: https://lore.kernel.org/bpf/20240308010812.89848-6-alexei.starovoitov@gmail.com include/linux/bpf.h | 1 + include/linux/bpf_verifier.h | 1 + kernel/bpf/log.c | 3 ++ kernel/bpf/syscall.c | 6 +++ kernel/bpf/verifier.c | 107 +++++++++++++++++++++++++++++++++++++++---- 5 files changed, 109 insertions(+), 9 deletions(-) accumulated error probability: 0.00 culprit signature: edf88294c6fb5b5386339f47c02d7adab2a408e81b7a86ac71745bf9a5b2fbed parent signature: 8b31345333876a652f8311d7e86ad7cc9655592d1ed1f71ae475651c8394ffec revisions tested: 20, total time: 11h27m0.074782366s (build: 7h52m25.30847229s, test: 3h15m0.292149702s) first bad commit: 6082b6c328b5486da2b356eae94b8b83c98b5565 bpf: Recognize addr_space_cast instruction in the verifier. recipients (to): ["andrii@kernel.org" "ast@kernel.org" "ast@kernel.org" "bpf@vger.kernel.org" "daniel@iogearbox.net"] recipients (cc): ["andrii@kernel.org" "haoluo@google.com" "john.fastabend@gmail.com" "jolsa@kernel.org" "kpsingh@kernel.org" "linux-kernel@vger.kernel.org" "martin.lau@linux.dev" "sdf@google.com" "song@kernel.org" "yonghong.song@linux.dev"] crash: BUG: unable to handle kernel NULL pointer dereference in bpf_check BUG: kernel NULL pointer dereference, address: 0000000000000032 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 800000011d4dd067 P4D 800000011d4dd067 PUD 11d47f067 PMD 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 2798 Comm: syz-executor.0 Not tainted 6.8.0-rc6-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024 RIP: 0010:do_misc_fixups kernel/bpf/verifier.c:19586 [inline] RIP: 0010:bpf_check+0x25e0/0x4c90 kernel/bpf/verifier.c:21268 Code: 75 42 41 8b 4e 04 85 c9 74 3a 66 41 83 7e 02 01 75 05 83 f9 01 74 1d 48 8b 44 24 18 48 8b 00 48 8b 40 38 48 8b 80 08 01 00 00 40 32 04 0f 84 66 02 00 00 41 c6 06 bc 66 41 c7 46 02 00 00 e9 RSP: 0018:ffffc900017a3b40 EFLAGS: 00010216 RAX: 0000000000000000 RBX: 0000000000000005 RCX: 0000000000010000 RDX: 0000000000000038 RSI: 0000000000000005 RDI: 0000000000000070 RBP: ffffc900017a3d30 R08: 0000000000000000 R09: ffffc90000139000 R10: 000000000000000b R11: 0000000000000000 R12: 0000000000000004 R13: ffff8881158d8aa0 R14: ffffc90000139070 R15: 0000000000000001 FS: 00007f4f359346c0(0000) GS:ffff888237d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000032 CR3: 000000011262c000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: bpf_prog_load+0x647/0x6f0 kernel/bpf/syscall.c:2895 __sys_bpf+0x351/0x5a0 kernel/bpf/syscall.c:5631 __do_sys_bpf kernel/bpf/syscall.c:5738 [inline] __se_sys_bpf kernel/bpf/syscall.c:5736 [inline] __x64_sys_bpf+0x17/0x20 kernel/bpf/syscall.c:5736 do_syscall_64+0x94/0x1a0 entry_SYSCALL_64_after_hwframe+0x6f/0x77 RIP: 0033:0x7f4f35db2da9 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:00007f4f359340c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 00007f4f35ee0f80 RCX: 00007f4f35db2da9 RDX: 0000000000000090 RSI: 00000000200000c0 RDI: 0000000000000005 RBP: 00007f4f35dff47a R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 000000000000000b R14: 00007f4f35ee0f80 R15: 00007ffd83ef8178 Modules linked in: CR2: 0000000000000032 ---[ end trace 0000000000000000 ]--- RIP: 0010:do_misc_fixups kernel/bpf/verifier.c:19586 [inline] RIP: 0010:bpf_check+0x25e0/0x4c90 kernel/bpf/verifier.c:21268 Code: 75 42 41 8b 4e 04 85 c9 74 3a 66 41 83 7e 02 01 75 05 83 f9 01 74 1d 48 8b 44 24 18 48 8b 00 48 8b 40 38 48 8b 80 08 01 00 00 40 32 04 0f 84 66 02 00 00 41 c6 06 bc 66 41 c7 46 02 00 00 e9 RSP: 0018:ffffc900017a3b40 EFLAGS: 00010216 RAX: 0000000000000000 RBX: 0000000000000005 RCX: 0000000000010000 RDX: 0000000000000038 RSI: 0000000000000005 RDI: 0000000000000070 RBP: ffffc900017a3d30 R08: 0000000000000000 R09: ffffc90000139000 R10: 000000000000000b R11: 0000000000000000 R12: 0000000000000004 R13: ffff8881158d8aa0 R14: ffffc90000139070 R15: 0000000000000001 FS: 00007f4f359346c0(0000) GS:ffff888237d00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000032 CR3: 000000011262c000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 75 42 jne 0x44 2: 41 8b 4e 04 mov 0x4(%r14),%ecx 6: 85 c9 test %ecx,%ecx 8: 74 3a je 0x44 a: 66 41 83 7e 02 01 cmpw $0x1,0x2(%r14) 10: 75 05 jne 0x17 12: 83 f9 01 cmp $0x1,%ecx 15: 74 1d je 0x34 17: 48 8b 44 24 18 mov 0x18(%rsp),%rax 1c: 48 8b 00 mov (%rax),%rax 1f: 48 8b 40 38 mov 0x38(%rax),%rax 23: 48 8b 80 08 01 00 00 mov 0x108(%rax),%rax * 2a: f6 40 32 04 testb $0x4,0x32(%rax) <-- trapping instruction 2e: 0f 84 66 02 00 00 je 0x29a 34: 41 c6 06 bc movb $0xbc,(%r14) 38: 66 41 c7 46 02 00 00 movw $0x0,0x2(%r14) 3f: e9 .byte 0xe9