ci starts bisection 2024-11-18 03:31:45.537582482 +0000 UTC m=+188832.706310914 bisecting cause commit starting from 38f83a57aa8e644f37a88d4771d756303cfa7365 building syzkaller on cfe3a04a188eb9a2c407783d8d6e6f55a4b30886 ensuring issue is reproducible on original commit 38f83a57aa8e644f37a88d4771d756303cfa7365 testing commit 38f83a57aa8e644f37a88d4771d756303cfa7365 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2247cd8e3de450c5f72ff6202fb50771a0ad13a081ee8342d7dd95f33e73d488 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] check whether we can drop unnecessary instrumentation disabling configs for [KASAN ATOMIC_SLEEP HANG LEAK UBSAN BUG], they are not needed testing commit 38f83a57aa8e644f37a88d4771d756303cfa7365 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4c0cc165923e04d4c365e134bdd1d632142e10fd9ea8d641ff098f7507b93463 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] the bug reproduces without the instrumentation disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed kconfig minimization: base=4045 full=8196 leaves diff=2112 split chunks (needed=false): <2112> split chunk #0 of len 2112 into 5 parts testing without sub-chunk 1/5 disabling configs for [LEAK UBSAN BUG KASAN ATOMIC_SLEEP HANG], they are not needed testing commit 38f83a57aa8e644f37a88d4771d756303cfa7365 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3e2d91ceda41d86190f8ebc32d3515d2d8241bb863f7807043375fe23abc00f5 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [UBSAN BUG KASAN ATOMIC_SLEEP HANG LEAK], they are not needed testing commit 38f83a57aa8e644f37a88d4771d756303cfa7365 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4d1d3500b9a0698ef607253b975db5d73cbd81528015a0386d1335edee5ecdf4 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 3/5 disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 38f83a57aa8e644f37a88d4771d756303cfa7365 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9f8d068f0648ca2d559f1eab4f3670b747e0f8aaaa38b6c9a3a65a71caaccaf9 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [HANG LEAK UBSAN BUG KASAN ATOMIC_SLEEP], they are not needed testing commit 38f83a57aa8e644f37a88d4771d756303cfa7365 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 1c0d5b3167c393ccceaa7eea2e107533135761117600a1f0c51d4d59d9b208a5 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [LEAK UBSAN BUG KASAN ATOMIC_SLEEP HANG], they are not needed testing commit 38f83a57aa8e644f37a88d4771d756303cfa7365 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b4b7c9269221dcba39299fda55c65dc64fc746439dbdf49d6be8a24e079d2d88 all runs: OK false negative chance: 0.000 minimized to 420 configs; suspects: [ARCH_ENABLE_MEMORY_HOTREMOVE ATM BCMA BLK_DEV_ZONED BPF_SYSCALL CARDBUS CFG80211 CFG80211_WEXT CMA COMMON_CLK CONTIG_ALLOC 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 NOP_USB_XCEIV 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_CHAOSKEY USB_CHIPIDEA USB_CHIPIDEA_GENERIC USB_CHIPIDEA_HOST USB_CHIPIDEA_MSM USB_CHIPIDEA_NPCM USB_CHIPIDEA_PCI USB_CHIPIDEA_UDC 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_MIDI2 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_CONN_GPIO 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_HAPS USB_DWC3_OF_SIMPLE USB_DWC3_PCI USB_DWC3_ULPI USB_DYNAMIC_MINORS USB_EG20T USB_EHCI_FSL 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_MIDI2 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_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_LGM_PHY USB_LIBCOMPOSITE USB_LINK_LAYER_TEST USB_M5602 USB_MA901 USB_MAX3420_UDC 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_AQC111 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_PCI_RENESAS 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 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_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 XILLYBUS_CLASS XILLYUSB XOR_BLOCKS YENTA YENTA_ENE_TUNE YENTA_O2 YENTA_RICOH YENTA_TI YENTA_TOSHIBA Z3FOLD Z3FOLD_DEPRECATED ZEROPLUS_FF ZLIB_DEFLATE ZONEFS_FS ZPOOL ZRAM ZRAM_BACKEND_FORCE_LZO ZRAM_BACKEND_LZO ZRAM_DEF_COMP_LZO ZSMALLOC ZSTD_COMPRESS ZSWAP ZSWAP_COMPRESSOR_DEFAULT_842 ZSWAP_DEFAULT_ON ZSWAP_SHRINKER_DEFAULT_ON ZSWAP_ZPOOL_DEFAULT_Z3FOLD_DEPRECATED] disabling configs for [ATOMIC_SLEEP HANG LEAK UBSAN BUG KASAN], they are not needed picked [v6.11 v6.10 v6.9 v6.7 v6.5 v6.3 v6.1 v5.19 v5.16 v5.13 v5.10 v5.7 v5.4 v5.1 v4.19] out of 34 release tags testing release v6.11 testing commit 98f7e32f20d28ec452afb208f9cffc08448a2652 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a566d6a202a5ded73b4821e61e5fd9d3e33ffa41ec2ec589ec2b08e4d3a2a6dd all runs: OK false negative chance: 0.000 # git bisect start 38f83a57aa8e644f37a88d4771d756303cfa7365 98f7e32f20d28ec452afb208f9cffc08448a2652 Bisecting: 8002 revisions left to test after this (roughly 13 steps) [1ec6d097897a35dfb55c4c31fc8633cf5be46497] Merge tag 's390-6.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux testing commit 1ec6d097897a35dfb55c4c31fc8633cf5be46497 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6b72953249b9637bc85c5cc5bc00d2065230a6eb0398e923f97656053c59813a all runs: OK false negative chance: 0.000 # git bisect good 1ec6d097897a35dfb55c4c31fc8633cf5be46497 Bisecting: 4011 revisions left to test after this (roughly 12 steps) [9f9a53472452b83d44d5e1d77b6dea6eaa043204] Merge tag 'bcachefs-2024-09-28' of git://evilpiepirate.org/bcachefs testing commit 9f9a53472452b83d44d5e1d77b6dea6eaa043204 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 172794db324395d9c9270ee0ba7937780f7636bc21eff733c79e5a814d33012f all runs: OK false negative chance: 0.000 # git bisect good 9f9a53472452b83d44d5e1d77b6dea6eaa043204 Bisecting: 2005 revisions left to test after this (roughly 11 steps) [5469a8deac05391781bcd27e7c40f2c35121ca09] Merge tag 'thermal-v6.12-rc7' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux testing commit 5469a8deac05391781bcd27e7c40f2c35121ca09 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: fe334d52940f789212f67203f237a0f584769cdfa9a65379c443019568eb2eb8 all runs: OK false negative chance: 0.000 # git bisect good 5469a8deac05391781bcd27e7c40f2c35121ca09 Bisecting: 1002 revisions left to test after this (roughly 10 steps) [8bed89232a8cb7bd4363e010650da7cdc5cc2e7d] dt-bindings: net: snps,dwmac: add support for Arria10 testing commit 8bed89232a8cb7bd4363e010650da7cdc5cc2e7d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8cc7729d05112c5a35542c659fd27fe24efc845fd2eb6c3334d1ffdcf4d6a303 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] # git bisect bad 8bed89232a8cb7bd4363e010650da7cdc5cc2e7d Bisecting: 501 revisions left to test after this (roughly 9 steps) [c9f947769b77c8e8f318bfc8a0777e5d20c44d8d] net: airoha: Reset BQL stopping the netdevice testing commit c9f947769b77c8e8f318bfc8a0777e5d20c44d8d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 590d32edca4ab9086b843720de3b59c38f79a7088b33ae53700f7dcb875f1796 all runs: OK false negative chance: 0.000 # git bisect good c9f947769b77c8e8f318bfc8a0777e5d20c44d8d Bisecting: 312 revisions left to test after this (roughly 8 steps) [ef0ed88af8007f7afa7a6f6bbf2fc4b8b032eeb1] Merge branch 'devlink-minor-cleanup' testing commit ef0ed88af8007f7afa7a6f6bbf2fc4b8b032eeb1 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 01d1493405561df33b18b32bcd764d4efa115dae5a12bdfe8f3f8c92cd381ffa all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] # git bisect bad ef0ed88af8007f7afa7a6f6bbf2fc4b8b032eeb1 Bisecting: 94 revisions left to test after this (roughly 7 steps) [1d2709d6d3902786bfc3e9ede627e7364633cff7] net: pcs: xpcs: use generic register definitions testing commit 1d2709d6d3902786bfc3e9ede627e7364633cff7 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 25d6e1d849ff79754087de0bc10d1036b6fa71e1df13da31b7fee95fe287822e all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] # git bisect bad 1d2709d6d3902786bfc3e9ede627e7364633cff7 Bisecting: 46 revisions left to test after this (roughly 6 steps) [6ab0f866948323724e95cf14d9e47fd77703c192] rtnetlink: Protect struct rtnl_af_ops with SRCU. testing commit 6ab0f866948323724e95cf14d9e47fd77703c192 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5ed8ba7fb9c5711833499d1e335dc8c9200f53f3a5dd9210194ccfb8527ac423 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] # git bisect bad 6ab0f866948323724e95cf14d9e47fd77703c192 Bisecting: 23 revisions left to test after this (roughly 5 steps) [1c25d4388ba69bd67a29b20278f9da46d092dd72] net/mlx5: Introduce node struct and rename group terminology to node testing commit 1c25d4388ba69bd67a29b20278f9da46d092dd72 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9f9268f09142017b4ce1dfea04005f60644eedc8b04afd4387f96d87a9b2722f all runs: OK false negative chance: 0.000 # git bisect good 1c25d4388ba69bd67a29b20278f9da46d092dd72 Bisecting: 11 revisions left to test after this (roughly 4 steps) [a5838cf9b2ee59f2a55b1e486f2250a18a43ee14] rtnetlink: Call validate_linkmsg() in do_setlink(). testing commit a5838cf9b2ee59f2a55b1e486f2250a18a43ee14 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3c3905fc28730c43f6ffec05b50552f7fda1c29791a005209c35925cea05abaf all runs: OK false negative chance: 0.000 # git bisect good a5838cf9b2ee59f2a55b1e486f2250a18a43ee14 Bisecting: 5 revisions left to test after this (roughly 3 steps) [0fef2a1212f1ff68fc3834abd41928b4353f8af6] rtnetlink: Call rtnl_link_get_net_capable() in rtnl_newlink(). testing commit 0fef2a1212f1ff68fc3834abd41928b4353f8af6 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: cb640b0518891a2eae1b3e0bce29ac7d729d0a49bb2cb973b7f1bc9afb019910 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] # git bisect bad 0fef2a1212f1ff68fc3834abd41928b4353f8af6 Bisecting: 2 revisions left to test after this (roughly 2 steps) [331fe31c50ef5ec1d9161986fd06b934f94176a3] rtnetlink: Move rtnl_link_ops_get() and retry to rtnl_newlink(). testing commit 331fe31c50ef5ec1d9161986fd06b934f94176a3 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 9303189cef1a411d45c530232510fadaf5a69caa78d752aade06a097b72a5024 all runs: OK false negative chance: 0.000 # git bisect good 331fe31c50ef5ec1d9161986fd06b934f94176a3 Bisecting: 0 revisions left to test after this (roughly 1 step) [43c7ce69d28e185f62fe2b8be2c681c5cac0bc6b] rtnetlink: Protect struct rtnl_link_ops with SRCU. testing commit 43c7ce69d28e185f62fe2b8be2c681c5cac0bc6b gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7932dc2b70373d85bce063ef02681a82db91bb49eaa0055d1e2037390428d2f1 all runs: crashed: WARNING: lock held when returning to user space in rtnl_link_ops_get representative crash: WARNING: lock held when returning to user space in rtnl_link_ops_get, types: [LOCKDEP] # git bisect bad 43c7ce69d28e185f62fe2b8be2c681c5cac0bc6b Bisecting: 0 revisions left to test after this (roughly 0 steps) [0d3008d1a9aefb89e09e8dd39134512d678e3461] rtnetlink: Move ops->validate to rtnl_newlink(). testing commit 0d3008d1a9aefb89e09e8dd39134512d678e3461 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 790f17bdf76ea5316b609e417827ce1e0bab25ae01f2ac10afb4879739b84651 all runs: OK false negative chance: 0.000 # git bisect good 0d3008d1a9aefb89e09e8dd39134512d678e3461 43c7ce69d28e185f62fe2b8be2c681c5cac0bc6b is the first bad commit commit 43c7ce69d28e185f62fe2b8be2c681c5cac0bc6b Author: Kuniyuki Iwashima Date: Wed Oct 16 11:53:50 2024 -0700 rtnetlink: Protect struct rtnl_link_ops with SRCU. Once RTNL is replaced with rtnl_net_lock(), we need a mechanism to guarantee that rtnl_link_ops is alive during inflight RTM_NEWLINK even when its module is being unloaded. Let's use SRCU to protect ops. rtnl_link_ops_get() now iterates link_ops under RCU and returns SRCU-protected ops pointer. The caller must call rtnl_link_ops_put() to release the pointer after the use. Also, __rtnl_link_unregister() unlinks the ops first and calls synchronize_srcu() to wait for inflight RTM_NEWLINK requests to complete. Note that link_ops needs to be protected by its dedicated lock when RTNL is removed. Suggested-by: Eric Dumazet Signed-off-by: Kuniyuki Iwashima Signed-off-by: Paolo Abeni include/net/rtnetlink.h | 5 ++- net/core/rtnetlink.c | 83 ++++++++++++++++++++++++++++++++++++------------- 2 files changed, 65 insertions(+), 23 deletions(-) accumulated error probability: 0.00 culprit signature: 7932dc2b70373d85bce063ef02681a82db91bb49eaa0055d1e2037390428d2f1 parent signature: 790f17bdf76ea5316b609e417827ce1e0bab25ae01f2ac10afb4879739b84651 revisions tested: 22, total time: 8h11m51.097604348s (build: 5h35m15.201309031s, test: 2h18m45.384903115s) first bad commit: 43c7ce69d28e185f62fe2b8be2c681c5cac0bc6b rtnetlink: Protect struct rtnl_link_ops with SRCU. recipients (to): ["davem@davemloft.net" "edumazet@google.com" "kuba@kernel.org" "kuniyu@amazon.com" "netdev@vger.kernel.org" "pabeni@redhat.com" "pabeni@redhat.com"] recipients (cc): ["linux-kernel@vger.kernel.org"] crash: WARNING: lock held when returning to user space in rtnl_link_ops_get ================================================ WARNING: lock held when returning to user space! 6.12.0-rc3-syzkaller #0 Not tainted ------------------------------------------------ syz.2.15/3845 is leaving the kernel with locks still held! 1 lock held by syz.2.15/3845: #0: ffffffff836ae9f0 (&ops->srcu){.+.+}-{0:0}, at: rcu_lock_acquire include/linux/rcupdate.h:337 [inline] #0: ffffffff836ae9f0 (&ops->srcu){.+.+}-{0:0}, at: rcu_read_lock include/linux/rcupdate.h:849 [inline] #0: ffffffff836ae9f0 (&ops->srcu){.+.+}-{0:0}, at: rtnl_link_ops_get+0x1a/0x150 net/core/rtnetlink.c:464