ci2 starts bisection 2024-01-20 08:40:46.645265965 +0000 UTC m=+63748.180702604 bisecting fixing commit since 4aa6747d935281df8a1888feeb6e22e0097d0b86 building syzkaller on de21eb89f42553d17116092f8b962759bf2633f7 ensuring issue is reproducible on original commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 testing commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 207c99edefcff814add9481fb0acebfac5a11d5de7da574352faf62bc6ae8900 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] check whether we can drop unnecessary instrumentation disabling configs for [LEAK BUG KASAN LOCKDEP ATOMIC_SLEEP HANG], they are not needed testing commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 85b097b6b0419ba656bdd3a9f8bbcc6fc94ba5e7cd5489feaef89318d4488b8d all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] the bug reproduces without the instrumentation disabling configs for [BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed kconfig minimization: base=3820 full=7526 leaves diff=1996 split chunks (needed=false): <1996> split chunk #0 of len 1996 into 5 parts testing without sub-chunk 1/5 disabling configs for [BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: d6197b8d6b2933aca2420d8dbf23fdb95ab18281f2ea98263a7988d05c3584b2 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8f6f9e1487e65ceb795f34abcc8716bc20cb5ad5c27d536afc29e0ed64aeb81d all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [BUG KASAN LOCKDEP ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 30f5e1e17e50290820fa30682802b2335647477583488d17ab45cbd433cc03c5 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [HANG LEAK BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0f953d66450459835c090544280ab8c82776610655ddacc191e2efeea9593acf all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [LOCKDEP ATOMIC_SLEEP HANG LEAK BUG KASAN], they are not needed testing commit 4aa6747d935281df8a1888feeb6e22e0097d0b86 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6dd0153aa904ffc9939d3c076e85e3d61f0046f68f9b5801939987cfb4e3e544 all runs: OK false negative chance: 0.000 minimized to 396 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 TUN USB_AMD5536UDC USB_ATM USB_CONFIGFS 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 [HANG LEAK BUG KASAN LOCKDEP ATOMIC_SLEEP], they are not needed testing current HEAD fec3b1451d5febbc9e04250f879c10f8952e6bed testing commit fec3b1451d5febbc9e04250f879c10f8952e6bed gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0a5a0b80cd2d0c5554563301c28faa2de6d4e99c7f61794d03f23ddb2c6088f9 all runs: OK false negative chance: 0.000 # git bisect start fec3b1451d5febbc9e04250f879c10f8952e6bed 4aa6747d935281df8a1888feeb6e22e0097d0b86 Bisecting: 185 revisions left to test after this (roughly 8 steps) [04b8e04f8f89f255ae3fec250b149e3ffd724a7c] ksmbd: avoid duplicate opinfo_put() call on error of smb21_lease_break_ack() determine whether the revision contains the guilty commit revision 4aa6747d935281df8a1888feeb6e22e0097d0b86 crashed and is reachable testing commit 04b8e04f8f89f255ae3fec250b149e3ffd724a7c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: def1cf2d61244e75c7ef987df1fbba9ae19f1bffb48389850c1c66688b1c2461 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] # git bisect good 04b8e04f8f89f255ae3fec250b149e3ffd724a7c Bisecting: 92 revisions left to test after this (roughly 7 steps) [6bcc79a4e76072b89541a62eeb41e22b281a365f] net: Declare MSG_SPLICE_PAGES internal sendmsg() flag determine whether the revision contains the guilty commit revision 4aa6747d935281df8a1888feeb6e22e0097d0b86 crashed and is reachable testing commit 6bcc79a4e76072b89541a62eeb41e22b281a365f gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e37a8b8a47cd67533367fcc3649936d6b2735e054371354018303d3d82aef2d9 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] # git bisect good 6bcc79a4e76072b89541a62eeb41e22b281a365f Bisecting: 46 revisions left to test after this (roughly 6 steps) [90d1f74c3cf68e6a987c370a50d30a66ef39f5c2] bpf, sockmap: af_unix stream sockets need to hold ref for pair sock determine whether the revision contains the guilty commit revision 4aa6747d935281df8a1888feeb6e22e0097d0b86 crashed and is reachable testing commit 90d1f74c3cf68e6a987c370a50d30a66ef39f5c2 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c65ff83a44d08e17fe6a455cf95568babb8bbfef81353912d88d6930fb476903 all runs: OK false negative chance: 0.000 # git bisect bad 90d1f74c3cf68e6a987c370a50d30a66ef39f5c2 Bisecting: 22 revisions left to test after this (roughly 5 steps) [b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9] blk-mq: make sure active queue usage is held for bio_integrity_prep() determine whether the revision contains the guilty commit revision 4aa6747d935281df8a1888feeb6e22e0097d0b86 crashed and is reachable testing commit b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9d74c36313ab0251aacc26bea52e819b0cff0862924a0eb704e61bd1b51464b0 all runs: OK false negative chance: 0.000 # git bisect bad b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9 Bisecting: 11 revisions left to test after this (roughly 4 steps) [343bb27e31528a2f928f6d6ca1b835c058e1394c] wifi: iwlwifi: yoyo: swap cdb and jacket bits values determine whether the revision contains the guilty commit revision 6bcc79a4e76072b89541a62eeb41e22b281a365f crashed and is reachable testing commit 343bb27e31528a2f928f6d6ca1b835c058e1394c gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8a3d2407e45ed763b53a98c9c37e64407ad693accac6f64ab6c31b66e88ac3d4 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] # git bisect good 343bb27e31528a2f928f6d6ca1b835c058e1394c Bisecting: 5 revisions left to test after this (roughly 3 steps) [8266c47d04b2c36260043583498dbd40d51652d0] bpf: remove unnecessary prune and jump points determine whether the revision contains the guilty commit revision 6bcc79a4e76072b89541a62eeb41e22b281a365f crashed and is reachable testing commit 8266c47d04b2c36260043583498dbd40d51652d0 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9d49fd6f270bfaccb9ec077089808c8cba5ba99efcbc371a0e65378d950c0c43 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] # git bisect good 8266c47d04b2c36260043583498dbd40d51652d0 Bisecting: 2 revisions left to test after this (roughly 2 steps) [2c795ce09042c9c84f97907b5a95e09895c69686] bpf: Support new 32bit offset jmp instruction determine whether the revision contains the guilty commit revision 6bcc79a4e76072b89541a62eeb41e22b281a365f crashed and is reachable testing commit 2c795ce09042c9c84f97907b5a95e09895c69686 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2a6449f4207122a9708d01178cf21832ab3eb620d5e0b382d28fa4618be02825 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] # git bisect good 2c795ce09042c9c84f97907b5a95e09895c69686 Bisecting: 0 revisions left to test after this (roughly 1 step) [803fb6109fcfa939d78907ad34161a720b37848d] bpf: fix precision backtracking instruction iteration determine whether the revision contains the guilty commit revision 8266c47d04b2c36260043583498dbd40d51652d0 crashed and is reachable testing commit 803fb6109fcfa939d78907ad34161a720b37848d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6d937a778184fa46bf3da3ac1b0ce316bd191057b352011ce6e4b20482915bbe all runs: OK false negative chance: 0.000 # git bisect bad 803fb6109fcfa939d78907ad34161a720b37848d Bisecting: 0 revisions left to test after this (roughly 0 steps) [b08acd5c4602365e6443226a65c9ed2809cd85b0] bpf: handle ldimm64 properly in check_cfg() determine whether the revision contains the guilty commit revision 343bb27e31528a2f928f6d6ca1b835c058e1394c crashed and is reachable testing commit b08acd5c4602365e6443226a65c9ed2809cd85b0 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e9f505cefa2d3b48ecbbb7180ce64b66a687a6cdbf79a80f65a18bcd40b7f340 all runs: crashed: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh representative crash: UBSAN: shift-out-of-bounds in scalar32_min_max_arsh, types: [UBSAN] # git bisect good b08acd5c4602365e6443226a65c9ed2809cd85b0 803fb6109fcfa939d78907ad34161a720b37848d is the first bad commit commit 803fb6109fcfa939d78907ad34161a720b37848d Author: Andrii Nakryiko Date: Thu Nov 9 16:26:37 2023 -0800 bpf: fix precision backtracking instruction iteration [ Upstream commit 4bb7ea946a370707315ab774432963ce47291946 ] Fix an edge case in __mark_chain_precision() which prematurely stops backtracking instructions in a state if it happens that state's first and last instruction indexes are the same. This situations doesn't necessarily mean that there were no instructions simulated in a state, but rather that we starting from the instruction, jumped around a bit, and then ended up at the same instruction before checkpointing or marking precision. To distinguish between these two possible situations, we need to consult jump history. If it's empty or contain a single record "bridging" parent state and first instruction of processed state, then we indeed backtracked all instructions in this state. But if history is not empty, we are definitely not done yet. Move this logic inside get_prev_insn_idx() to contain it more nicely. Use -ENOENT return code to denote "we are out of instructions" situation. This bug was exposed by verifier_loop1.c's bounded_recursion subtest, once the next fix in this patch set is applied. Acked-by: Eduard Zingerman Fixes: b5dc0163d8fd ("bpf: precise scalar_value tracking") Signed-off-by: Andrii Nakryiko Link: https://lore.kernel.org/r/20231110002638.4168352-3-andrii@kernel.org Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin kernel/bpf/verifier.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) accumulated error probability: 0.00 culprit signature: 6d937a778184fa46bf3da3ac1b0ce316bd191057b352011ce6e4b20482915bbe parent signature: e9f505cefa2d3b48ecbbb7180ce64b66a687a6cdbf79a80f65a18bcd40b7f340 revisions tested: 17, total time: 2h12m56.684671199s (build: 50m34.958733733s, test: 1h17m2.187233s) first good commit: 803fb6109fcfa939d78907ad34161a720b37848d bpf: fix precision backtracking instruction iteration recipients (to): ["andrii@kernel.org" "ast@kernel.org" "eddyz87@gmail.com" "sashal@kernel.org"] recipients (cc): []