ci starts bisection 2024-08-31 15:08:47.483203849 +0000 UTC m=+39186.144913667 bisecting fixing commit since 36534d3c54537bf098224a32dc31397793d4594d building syzkaller on edc5149ad2ab7a38db6b3bcb1b594e0264a92163 ensuring issue is reproducible on original commit 36534d3c54537bf098224a32dc31397793d4594d testing commit 36534d3c54537bf098224a32dc31397793d4594d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 592275592eb59b7fbfff3d6c9d1d78f9d2197680da8af7334b21b401295e5e3d run #0: crashed: general protection fault in dev_map_enqueue run #1: crashed: general protection fault in dev_map_enqueue run #2: crashed: general protection fault in dev_map_enqueue run #3: crashed: general protection fault in dev_map_enqueue run #4: crashed: general protection fault in dev_map_enqueue run #5: crashed: general protection fault in dev_map_enqueue run #6: crashed: general protection fault in dev_map_enqueue run #7: crashed: general protection fault in dev_map_enqueue run #8: crashed: general protection fault in dev_map_enqueue run #9: crashed: general protection fault in dev_map_enqueue run #10: crashed: general protection fault in dev_map_enqueue run #11: crashed: general protection fault in dev_map_enqueue run #12: crashed: general protection fault in dev_map_enqueue run #13: crashed: general protection fault in dev_map_enqueue run #14: crashed: general protection fault in dev_map_enqueue run #15: crashed: general protection fault in dev_map_enqueue run #16: crashed: general protection fault in dev_map_enqueue run #17: crashed: general protection fault in dev_map_enqueue run #18: crashed: general protection fault in dev_map_enqueue run #19: crashed: no output from test machine representative crash: general protection fault in dev_map_enqueue, 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 36534d3c54537bf098224a32dc31397793d4594d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7efb5ef605432b04dbde851324663ed53e5b7758cefd8fc09c76be2022c14407 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] the bug reproduces without the instrumentation disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed kconfig minimization: base=4045 full=8044 leaves diff=2003 split chunks (needed=false): <2003> split chunk #0 of len 2003 into 5 parts testing without sub-chunk 1/5 disabling configs for [LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 36534d3c54537bf098224a32dc31397793d4594d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: d712df446a8728ff724e4745f69069dd74383d3e58ba9a953eb324ff08e0c204 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed testing commit 36534d3c54537bf098224a32dc31397793d4594d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1c6083d159f11e3fb2cd48dfdc2367c1c19f57c07d88c9d7fa41a5b1e11087ea all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed testing commit 36534d3c54537bf098224a32dc31397793d4594d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5ad78a0b0957595ebbb10f561e146588899ad0ea53deb8f9bcd6779a046250e2 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN], they are not needed testing commit 36534d3c54537bf098224a32dc31397793d4594d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 64e8c8cabdc1f23604ff47aeb316ac3c6109b8d4fa921d9e4ae5a1aa5f511772 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit 36534d3c54537bf098224a32dc31397793d4594d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c2d8dc0d59999ba6059ede04c3c92744629a174229dbb17e53a555c5e6fe7444 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_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_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 VIDEO 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_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_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 [KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed testing current HEAD b408473ea01b2e499d23503e2bf898416da9d7ac testing commit b408473ea01b2e499d23503e2bf898416da9d7ac gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ab837037123326537645be58f655f683385e31ebbdaf7c0baad54eaa03a11914 all runs: OK false negative chance: 0.000 # git bisect start b408473ea01b2e499d23503e2bf898416da9d7ac 36534d3c54537bf098224a32dc31397793d4594d Bisecting: 8501 revisions left to test after this (roughly 13 steps) [280e36f0d5b997173d014c07484c03a7f7750668] nsfs: use cleanup guard determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit 280e36f0d5b997173d014c07484c03a7f7750668 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 41e27f5db1f0374b5ecc25d787911050d07ef9c713e5276f9602073441c73a68 all runs: OK false negative chance: 0.000 # git bisect bad 280e36f0d5b997173d014c07484c03a7f7750668 Bisecting: 3767 revisions left to test after this (roughly 12 steps) [77ae5e5b00720372af2860efdc4bc652ac682696] eth: fbnic: Fix spelling mistake "tiggerring" -> "triggering" determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit 77ae5e5b00720372af2860efdc4bc652ac682696 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ba89075c70d99f3848682787f13e1c1a745757715220ec1896eb50768ec58635 all runs: OK false negative chance: 0.000 # git bisect bad 77ae5e5b00720372af2860efdc4bc652ac682696 Bisecting: 1643 revisions left to test after this (roughly 11 steps) [193b9b200224dab4eaec407eb2955303a521f5b6] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit 193b9b200224dab4eaec407eb2955303a521f5b6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 30291f79290695ae313008f29fc0e6a288d3ae16f422cdc5454d1a0f28cb312c all runs: OK false negative chance: 0.000 # git bisect bad 193b9b200224dab4eaec407eb2955303a521f5b6 Bisecting: 844 revisions left to test after this (roughly 10 steps) [777b8afb8179155353ec14b1d8153122410aba29] net: phy: introduce core support for phy-mode = "10g-qxgmii" determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit 777b8afb8179155353ec14b1d8153122410aba29 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b540c0894fbdac52359dd8e9e51cfb15bfe8be9c6f1000c35d51dae7f408e09f all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good 777b8afb8179155353ec14b1d8153122410aba29 Bisecting: 422 revisions left to test after this (roughly 9 steps) [e9212f9dd1fb903c24c9258bcee5f0cd93de782c] Merge tag 'linux-can-next-for-6.11-20240621' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit e9212f9dd1fb903c24c9258bcee5f0cd93de782c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: dab09ec268a5f4da624f0e345625f42adbc530e1bd7609e099cdf6f994489659 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good e9212f9dd1fb903c24c9258bcee5f0cd93de782c Bisecting: 215 revisions left to test after this (roughly 8 steps) [24ca36a562d63f1bff04c3f11236f52969c67717] Merge tag 'wq-for-6.10-rc5-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit 24ca36a562d63f1bff04c3f11236f52969c67717 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 777216fb962810a6a8a8d8229b01c31b1ab43e3cf9d837e96305c0cb8a761fe9 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good 24ca36a562d63f1bff04c3f11236f52969c67717 Bisecting: 86 revisions left to test after this (roughly 7 steps) [fd19d4a492af77b1e8fb0439781a3048d1d1f554] Merge tag 'net-6.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit fd19d4a492af77b1e8fb0439781a3048d1d1f554 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6089367befd2ad1826f6196860bb67eb50f106c5226b6d41bc5cae924785b41a all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good fd19d4a492af77b1e8fb0439781a3048d1d1f554 Bisecting: 43 revisions left to test after this (roughly 6 steps) [c4532232fa2a4f8d9b9a88135a666545157f3d13] selftests: net: remove unneeded IP_GRE config determine whether the revision contains the guilty commit revision 777b8afb8179155353ec14b1d8153122410aba29 crashed and is reachable testing commit c4532232fa2a4f8d9b9a88135a666545157f3d13 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: d9158aaba025f80dfe41c5e93bb91caeb33fa6b540c55d5202a1471d6c5bafc6 all runs: OK false negative chance: 0.000 # git bisect bad c4532232fa2a4f8d9b9a88135a666545157f3d13 Bisecting: 21 revisions left to test after this (roughly 5 steps) [401cb7dae8130fd34eb84648e02ab4c506df7d5e] net: Reference bpf_redirect_info via task_struct on PREEMPT_RT. determine whether the revision contains the guilty commit revision 36534d3c54537bf098224a32dc31397793d4594d crashed and is reachable testing commit 401cb7dae8130fd34eb84648e02ab4c506df7d5e gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 27d3227356ef6b3cd05154ebaa60484f86c133896eec2c193633ae2c79a4e41c all runs: OK false negative chance: 0.000 # git bisect bad 401cb7dae8130fd34eb84648e02ab4c506df7d5e Bisecting: 10 revisions left to test after this (roughly 3 steps) [43d7ca2907cb0e8a23d73934a5cf000e24b0aa22] net: Use __napi_alloc_frag_align() instead of open coding it. determine whether the revision contains the guilty commit revision 777b8afb8179155353ec14b1d8153122410aba29 crashed and is reachable testing commit 43d7ca2907cb0e8a23d73934a5cf000e24b0aa22 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a92030d432d41929fc045b1a7d67023f28988ff70fa7f477a8b68f9110cd0b68 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good 43d7ca2907cb0e8a23d73934a5cf000e24b0aa22 Bisecting: 5 revisions left to test after this (roughly 3 steps) [ecefbc09e8ee768ae85b7bb7a1de8c8287397d68] net: softnet_data: Make xmit per task. determine whether the revision contains the guilty commit revision e9212f9dd1fb903c24c9258bcee5f0cd93de782c crashed and is reachable testing commit ecefbc09e8ee768ae85b7bb7a1de8c8287397d68 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5096c71800d6e69383d5228e1a725a74dfdff3bd181c189f88a967780fc44ea8 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good ecefbc09e8ee768ae85b7bb7a1de8c8287397d68 Bisecting: 2 revisions left to test after this (roughly 2 steps) [3414adbd6a6ad3702d0bdc49081ee7c9e9e1c600] lwt: Don't disable migration prio invoking BPF. determine whether the revision contains the guilty commit revision 777b8afb8179155353ec14b1d8153122410aba29 crashed and is reachable testing commit 3414adbd6a6ad3702d0bdc49081ee7c9e9e1c600 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5e69876c9d3b6d1c85b47bfba8efe2c77ee8e69066112e54421fb7398caea2c6 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good 3414adbd6a6ad3702d0bdc49081ee7c9e9e1c600 Bisecting: 0 revisions left to test after this (roughly 1 step) [78f520b7bbe579438dfc202226b3dac5607d8c7f] net: Use nested-BH locking for bpf_scratchpad. determine whether the revision contains the guilty commit revision ecefbc09e8ee768ae85b7bb7a1de8c8287397d68 crashed and is reachable testing commit 78f520b7bbe579438dfc202226b3dac5607d8c7f gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 61b850499a93ac7d4799e3c4610788348a0e83c7eb382aa87e3d60b23d5b0564 all runs: crashed: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue representative crash: BUG: unable to handle kernel NULL pointer dereference in dev_map_enqueue, types: [UNKNOWN] # git bisect good 78f520b7bbe579438dfc202226b3dac5607d8c7f 401cb7dae8130fd34eb84648e02ab4c506df7d5e is the first bad commit commit 401cb7dae8130fd34eb84648e02ab4c506df7d5e Author: Sebastian Andrzej Siewior Date: Thu Jun 20 15:22:04 2024 +0200 net: Reference bpf_redirect_info via task_struct on PREEMPT_RT. The XDP redirect process is two staged: - bpf_prog_run_xdp() is invoked to run a eBPF program which inspects the packet and makes decisions. While doing that, the per-CPU variable bpf_redirect_info is used. - Afterwards xdp_do_redirect() is invoked and accesses bpf_redirect_info and it may also access other per-CPU variables like xskmap_flush_list. At the very end of the NAPI callback, xdp_do_flush() is invoked which does not access bpf_redirect_info but will touch the individual per-CPU lists. The per-CPU variables are only used in the NAPI callback hence disabling bottom halves is the only protection mechanism. Users from preemptible context (like cpu_map_kthread_run()) explicitly disable bottom halves for protections reasons. Without locking in local_bh_disable() on PREEMPT_RT this data structure requires explicit locking. PREEMPT_RT has forced-threaded interrupts enabled and every NAPI-callback runs in a thread. If each thread has its own data structure then locking can be avoided. Create a struct bpf_net_context which contains struct bpf_redirect_info. Define the variable on stack, use bpf_net_ctx_set() to save a pointer to it, bpf_net_ctx_clear() removes it again. The bpf_net_ctx_set() may nest. For instance a function can be used from within NET_RX_SOFTIRQ/ net_rx_action which uses bpf_net_ctx_set() and NET_TX_SOFTIRQ which does not. Therefore only the first invocations updates the pointer. Use bpf_net_ctx_get_ri() as a wrapper to retrieve the current struct bpf_redirect_info. The returned data structure is zero initialized to ensure nothing is leaked from stack. This is done on first usage of the struct. bpf_net_ctx_set() sets bpf_redirect_info::kern_flags to 0 to note that initialisation is required. First invocation of bpf_net_ctx_get_ri() will memset() the data structure and update bpf_redirect_info::kern_flags. bpf_redirect_info::nh is excluded from memset because it is only used once BPF_F_NEIGH is set which also sets the nh member. The kern_flags is moved past nh to exclude it from memset. The pointer to bpf_net_context is saved task's task_struct. Using always the bpf_net_context approach has the advantage that there is almost zero differences between PREEMPT_RT and non-PREEMPT_RT builds. Cc: Andrii Nakryiko Cc: Eduard Zingerman Cc: Hao Luo Cc: Jiri Olsa Cc: John Fastabend Cc: KP Singh Cc: Martin KaFai Lau Cc: Song Liu Cc: Stanislav Fomichev Cc: Yonghong Song Acked-by: Alexei Starovoitov Acked-by: Jesper Dangaard Brouer Reviewed-by: Toke Høiland-Jørgensen Signed-off-by: Sebastian Andrzej Siewior Link: https://patch.msgid.link/20240620132727.660738-15-bigeasy@linutronix.de Signed-off-by: Jakub Kicinski include/linux/filter.h | 56 +++++++++++++++++++++++++++++++++++++++++--------- include/linux/sched.h | 3 +++ kernel/bpf/cpumap.c | 3 +++ kernel/bpf/devmap.c | 9 +++++++- kernel/fork.c | 1 + net/bpf/test_run.c | 11 +++++++++- net/core/dev.c | 29 +++++++++++++++++++++++++- net/core/filter.c | 44 +++++++++++---------------------------- net/core/lwt_bpf.c | 3 +++ 9 files changed, 114 insertions(+), 45 deletions(-) accumulated error probability: 0.00 culprit signature: 27d3227356ef6b3cd05154ebaa60484f86c133896eec2c193633ae2c79a4e41c parent signature: 61b850499a93ac7d4799e3c4610788348a0e83c7eb382aa87e3d60b23d5b0564 revisions tested: 21, total time: 5h45m54.444204409s (build: 3h10m18.254267156s, test: 2h22m7.583610903s) first good commit: 401cb7dae8130fd34eb84648e02ab4c506df7d5e net: Reference bpf_redirect_info via task_struct on PREEMPT_RT. recipients (to): ["ast@kernel.org" "bigeasy@linutronix.de" "hawk@kernel.org" "kuba@kernel.org" "toke@redhat.com"] recipients (cc): []