ci2 starts bisection 2023-09-17 18:39:23.247587339 +0000 UTC m=+382895.276761452 bisecting fixing commit since 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 building syzkaller on f325deb023e4e2fb9197004be1b3da738680429c ensuring issue is reproducible on original commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 testing commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0d0361806a289685f359d0950642d59f765bd0369a4e583e48f20a6d28e5ae78 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] check whether we can drop unnecessary instrumentation disabling configs for [UBSAN BUG KASAN LOCKDEP HANG LEAK], they are not needed testing commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 0cd041edf41b17f5e4ef131894f02f77d5fbce8f437a04c06309a112271c8475 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the bug reproduces without the instrumentation disabling configs for [LOCKDEP HANG LEAK UBSAN BUG KASAN], they are not needed kconfig minimization: base=3703 full=7269 leaves diff=1979 split chunks (needed=false): <1979> split chunk #0 of len 1979 into 5 parts testing without sub-chunk 1/5 disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed testing commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 671e477615a82d89a30fa278f6d8be41657feb39d476539a9ae6c8f02e6f0724 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [LOCKDEP HANG LEAK UBSAN BUG KASAN], they are not needed testing commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: fbc819e7e7cec73fe3f9d827265b423a0e89de5ec76afbd5b5eb356be2b0c248 all runs: OK false negative chance: 0.000 testing without sub-chunk 3/5 disabling configs for [UBSAN BUG KASAN LOCKDEP HANG LEAK], they are not needed testing commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 93f3af20a7ef945b67eac63efb67534684c01e1857e77ddacd5821c9ad8fea00 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [UBSAN BUG KASAN LOCKDEP HANG LEAK], they are not needed testing commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b94523d5012f01046531c9ada4de3f6ae7c66276c0a4cb61ab7f53458939a4c6 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed testing commit 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 86122ac04ededaac63ba8595e88df5c5f55554f32eefa14e489e4af739261de3 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the chunk can be dropped minimized to 396 configs; suspects: [6LOWPAN ACPI_WMI ARCH_ENABLE_MEMORY_HOTREMOVE ASUS_WMI CMA DAX_DRIVER DLM DRM DRM_BRIDGE DRM_FBDEV_EMULATION DRM_MIPI_DSI DRM_PANEL DRM_PANEL_BRIDGE DRM_PANEL_ORIENTATION_QUIRKS DRM_SIMPLEDRM DRM_TTM DRM_TTM_HELPER DRM_UDL DRM_VGEM DRM_VIRTIO_GPU DRM_VKMS DRM_VMWGFX DRM_VMWGFX_FBCON DRM_VRAM_HELPER DUMMY DVB_AF9013 DVB_AF9033 DVB_AS102 DVB_AS102_FE DVB_B2C2_FLEXCOP DVB_B2C2_FLEXCOP_USB DVB_CORE DVB_DIB3000MB DVB_DIB3000MC DVB_EC100 DVB_GP8PSK_FE DVB_RTL2830 DVB_RTL2832 DVB_RTL2832_SDR DVB_TEST_DRIVERS DVB_TTUSB_BUDGET DVB_TTUSB_DEC DVB_USB DVB_USB_A800 DVB_USB_AF9005 DVB_USB_AF9005_REMOTE DVB_USB_AF9015 DVB_USB_AF9035 DVB_USB_ANYSEE DVB_USB_AU6610 DVB_USB_AZ6007 DVB_USB_AZ6027 DVB_USB_CE6230 DVB_USB_CINERGY_T2 DVB_USB_CXUSB DVB_USB_DIB0700 DVB_USB_DIB3000MC DVB_USB_DIBUSB_MB DVB_USB_DIBUSB_MC DVB_USB_DIGITV DVB_USB_DTT200U DVB_USB_DTV5100 DVB_USB_DVBSKY DVB_USB_DW2102 DVB_USB_EC168 DVB_USB_GL861 DVB_USB_GP8PSK DVB_USB_LME2510 DVB_USB_M920X DVB_USB_MXL111SF DVB_USB_NOVA_T_USB2 DVB_USB_OPERA1 DVB_USB_PCTV452E DVB_USB_RTL28XXU DVB_USB_TECHNISAT_USB2 DVB_USB_TTUSB2 DVB_USB_UMT_010 DVB_USB_V2 DVB_USB_VP702X DVB_USB_VP7045 DVB_USB_ZD1301 DVB_VIDTV DVB_ZL10353 ECRYPT_FS ECRYPT_FS_MESSAGING EDAC EEPROM_93CX6 EFS_FS ENCRYPTED_KEYS EQUALIZER EROFS_FS EROFS_FS_POSIX_ACL EROFS_FS_SECURITY EROFS_FS_XATTR EROFS_FS_ZIP EVM EVM_ADD_XATTRS EVM_ATTR_FSUUID EXFAT_FS EXPORTFS_BLOCK_OPS EXT3_FS EXT3_FS_POSIX_ACL EXT3_FS_SECURITY F2FS_CHECK_FS F2FS_FAULT_INJECTION F2FS_FS F2FS_FS_COMPRESSION F2FS_FS_LZ4 F2FS_FS_LZ4HC F2FS_FS_LZO F2FS_FS_LZORLE F2FS_FS_POSIX_ACL F2FS_FS_SECURITY F2FS_FS_XATTR F2FS_FS_ZSTD F2FS_STAT_FS FANOTIFY FANOTIFY_ACCESS_PERMISSIONS FB FB_BOOT_VESA_SUPPORT FB_CFB_COPYAREA FB_CFB_FILLRECT FB_CFB_IMAGEBLIT FB_CMDLINE FB_DEFERRED_IO FB_NOTIFY FB_SYS_COPYAREA FB_SYS_FILLRECT FB_SYS_FOPS FB_SYS_IMAGEBLIT FB_TILEBLITTING FB_VESA FB_VGA16 FB_VIRTUAL FDDI FIREWIRE FIREWIRE_NET FIREWIRE_OHCI FIREWIRE_SBP2 FONT_8x16 FONT_8x8 FONT_SUPPORT FRAMEBUFFER_CONSOLE FRAMEBUFFER_CONSOLE_DETECT_PRIMARY FRAMEBUFFER_CONSOLE_ROTATION FS_DAX FS_DAX_PMD FS_ENCRYPTION FS_ENCRYPTION_ALGS FS_VERITY FS_VERITY_BUILTIN_SIGNATURES FTL FUSE_DAX FUSE_FS FW_LOADER_COMPRESS FW_LOADER_PAGED_BUF FW_LOADER_USER_HELPER FW_LOADER_USER_HELPER_FALLBACK GACT_PROB GARP GENERIC_PHY GFS2_FS GFS2_FS_LOCKING_DLM GOOGLE_COREBOOT_TABLE GOOGLE_FIRMWARE GOOGLE_MEMCONSOLE GOOGLE_MEMCONSOLE_COREBOOT GOOGLE_VPD GPIOLIB GPIOLIB_IRQCHIP GPIO_ACPI GPIO_DLN2 GPIO_VIPERBOARD GREENASIA_FF GREYBUS GREYBUS_BRIDGED_PHY GREYBUS_ES2 GREYBUS_HID GREYBUS_USB GTP GVE HAVE_ARCH_USERFAULTFD_MINOR HAVE_ARCH_USERFAULTFD_WP HAVE_BOOTMEM_INFO_NODE HAVE_KVM_CPU_RELAX_INTERCEPT HAVE_KVM_EVENTFD HAVE_KVM_IRQCHIP HAVE_KVM_IRQFD HAVE_KVM_IRQ_BYPASS HAVE_KVM_IRQ_ROUTING HAVE_KVM_MSI HAVE_KVM_NO_POLL HAVE_KVM_PM_NOTIFIER HAVE_SCHED_AVG_IRQ HDLC HDLC_CISCO HDLC_FR HDLC_PPP HDLC_RAW HDLC_RAW_ETH HDLC_X25 HDMI HFSPLUS_FS HFS_FS HID_ACCUTOUCH HID_ACRUX HID_ACRUX_FF HID_ALPS HID_APPLEIR HID_ASUS HID_AUREAL HID_BATTERY_STRENGTH HID_BETOP_FF HID_CMEDIA HID_CORSAIR HID_CP2112 HID_ELECOM HID_ELO HID_EMS_FF HID_GEMBIRD HID_GFRM HID_GREENASIA HID_GT683R HID_HOLTEK HID_ICADE HID_KEYTOUCH HID_KYE HID_LCPOWER HID_LED HID_LENOVO HID_LOGITECH_DJ HID_LOGITECH_HIDPP HID_MAGICMOUSE HID_MAYFLASH HID_MULTITOUCH HID_NTI HID_ORTEK HID_PENMOUNT HID_PICOLCD HID_PICOLCD_BACKLIGHT HID_PICOLCD_CIR HID_PICOLCD_FB HID_PICOLCD_LCD HID_PICOLCD_LEDS HID_PLANTRONICS HID_PRIMAX HID_PRODIKEYS HID_RETRODE HID_RMI HID_ROCCAT HID_SAITEK HID_SENSOR_ACCEL_3D HID_SENSOR_ALS HID_SENSOR_CUSTOM_SENSOR HID_SENSOR_DEVICE_ROTATION HID_SENSOR_GYRO_3D HID_SENSOR_HUB HID_SENSOR_HUMIDITY HID_SENSOR_IIO_COMMON HID_SENSOR_IIO_TRIGGER HID_SENSOR_INCLINOMETER_3D HID_SENSOR_MAGNETOMETER_3D HID_SENSOR_PRESS HID_SENSOR_PROX HID_SENSOR_TEMP HID_SPEEDLINK HID_STEELSERIES HID_THINGM HID_TIVO HID_TWINHAN HID_UCLOGIC HID_UDRAW_PS3 HID_WACOM HID_WALTOP HID_WIIMOTE HID_XINMO HID_ZYDACRON HMM_MIRROR HOLTEK_FF HOTPLUG_PCI_PCIE HPET_MMAP HPET_MMAP_DEFAULT HPFS_FS I2C_ALGOBIT I2C_CHARDEV I2C_DIOLAN_U2C I2C_DLN2 I2C_MUX I2C_MUX_REG I2C_ROBOTFUZZ_OSIF I2C_SI4713 I2C_SLAVE I2C_SLAVE_EEPROM I2C_TINY_USB I2C_VIPERBOARD IEEE802154 IEEE802154_6LOWPAN IEEE802154_ATUSB IEEE802154_DRIVERS IEEE802154_HWSIM IEEE802154_NL802154_EXPERIMENTAL IEEE802154_SOCKET IFB IIO IIO_BUFFER IIO_KFIFO_BUF IIO_TRIGGER IIO_TRIGGERED_BUFFER IKCONFIG IKCONFIG_PROC IMA IMA_APPRAISE IMA_APPRAISE_MODSIG IMA_DEFAULT_HASH_SHA256 IMA_LSM_RULES IMA_MEASURE_ASYMMETRIC_KEYS IMA_NG_TEMPLATE IMA_QUEUE_EARLY_BOOT_KEYS IMA_READ_POLICY IMA_WRITE_POLICY INET6_ESPINTCP INET6_ESP_OFFLOAD INET6_IPCOMP INET6_TUNNEL INET6_XFRM_TUNNEL INET_AH INET_DCCP_DIAG INET_DIAG INET_DIAG_DESTROY INET_ESP INET_ESPINTCP INET_ESP_OFFLOAD INET_IPCOMP INET_MPTCP_DIAG INET_RAW_DIAG INET_SCTP_DIAG INET_TCP_DIAG INET_UDP_DIAG INET_XFRM_TUNNEL INFINIBAND INFINIBAND_ADDR_TRANS INFINIBAND_ADDR_TRANS_CONFIGFS INFINIBAND_IPOIB INFINIBAND_IPOIB_CM INFINIBAND_IPOIB_DEBUG INFINIBAND_ISER INFINIBAND_ON_DEMAND_PAGING INFINIBAND_RTRS INFINIBAND_SRP INFINIBAND_USER_ACCESS INFINIBAND_USER_MAD INFINIBAND_USER_MEM INPUT_ATI_REMOTE2 INPUT_CM109 INPUT_IMS_PCU INPUT_JOYDEV INPUT_KEYSPAN_REMOTE INPUT_LEDS INPUT_MOUSEDEV INPUT_MOUSEDEV_PSAUX INPUT_POWERMATE INPUT_UINPUT INPUT_YEALINK INTEGRITY INTEGRITY_ASYMMETRIC_KEYS INTEGRITY_AUDIT INTEGRITY_SIGNATURE INTEGRITY_TRUSTED_KEYRING INTERVAL_TREE IP6_NF_MATCH_AH IP6_NF_MATCH_EUI64 IP6_NF_MATCH_FRAG IP6_NF_MATCH_HL IP6_NF_MATCH_MH IP6_NF_MATCH_OPTS IP6_NF_MATCH_RPFILTER IP6_NF_MATCH_RT IP6_NF_MATCH_SRH IP6_NF_NAT IP6_NF_RAW IP6_NF_SECURITY IP6_NF_TARGET_HL IP6_NF_TARGET_MASQUERADE IP6_NF_TARGET_NPT IP6_NF_TARGET_SYNPROXY IPV6_FOU IPV6_FOU_TUNNEL IPV6_GRE IPV6_ILA IPV6_MIP6 IPV6_MROUTE IPV6_MROUTE_MULTIPLE_TABLES IPV6_MULTIPLE_TABLES IPV6_OPTIMISTIC_DAD IPV6_PIMSM_V2 IPV6_ROUTER_PREF IPV6_ROUTE_INFO IPV6_RPL_LWTUNNEL IPV6_SEG6_BPF IPV6_SEG6_HMAC IPV6_SEG6_LWTUNNEL IPV6_SIT_6RD IPV6_SUBTREES IPV6_TUNNEL IPV6_VTI IPVLAN IPVLAN_L3S IPVTAP IP_DCCP IP_DCCP_CCID3 IP_DCCP_TFRC_LIB IP_FIB_TRIE_STATS IP_MROUTE_MULTIPLE_TABLES IP_NF_ARPFILTER IP_NF_ARPTABLES IP_NF_ARP_MANGLE IP_NF_MATCH_AH IP_NF_MATCH_ECN IP_NF_MATCH_RPFILTER IP_NF_MATCH_TTL IP_NF_RAW IP_NF_SECURITY IP_NF_TARGET_CLUSTERIP IP_NF_TARGET_ECN IP_NF_TARGET_NETMAP IP_NF_TARGET_REDIRECT IP_NF_TARGET_SYNPROXY IP_NF_TARGET_TTL IP_ROUTE_CLASSID IP_SCTP IP_SET IP_SET_BITMAP_IP IP_SET_BITMAP_IPMAC IP_SET_BITMAP_PORT IP_SET_HASH_IP IP_SET_HASH_IPMAC IP_SET_HASH_IPMARK IP_SET_HASH_IPPORT IP_SET_HASH_IPPORTIP IP_SET_HASH_IPPORTNET IP_SET_HASH_MAC IP_SET_HASH_NET IP_SET_HASH_NETIFACE IP_SET_HASH_NETNET IP_SET_HASH_NETPORT IP_SET_HASH_NETPORTNET IP_SET_LIST_SET IP_VS IP_VS_DH IP_VS_FO IP_VS_FTP IP_VS_IPV6 IP_VS_LBLC IP_VS_LBLCR IP_VS_LC IP_VS_MH IP_VS_NFCT IP_VS_NQ IP_VS_OVF IP_VS_PE_SIP IP_VS_PROTO_AH IP_VS_PROTO_AH_ESP IP_VS_PROTO_ESP IP_VS_PROTO_SCTP IP_VS_PROTO_TCP IP_VS_PROTO_UDP IP_VS_RR IP_VS_SED IP_VS_SH IP_VS_TWOS IP_VS_WLC IP_VS_WRR IRQ_BYPASS_MANAGER IRQ_POLL IRQ_TIME_ACCOUNTING IR_IGORPLUGUSB IR_IGUANA IR_IMON IR_MCEUSB IR_REDRAT3 IR_STREAMZAP IR_TTUSBIR ISDN ISDN_CAPI_MIDDLEWARE JFFS2_CMODE_PRIORITY JFFS2_COMPRESSION_OPTIONS JFFS2_FS JFFS2_FS_POSIX_ACL JFFS2_FS_XATTR LAPB LCD_CLASS_DEVICE MAC802154 MEDIA_DIGITAL_TV_SUPPORT MEDIA_RADIO_SUPPORT MEDIA_SDR_SUPPORT MEDIA_SUPPORT MEDIA_TEST_SUPPORT MEDIA_USB_SUPPORT MEMORY_HOTPLUG MEMORY_HOTREMOVE MFD_DLN2 MFD_VIPERBOARD MPTCP MTD NETFILTER_ADVANCED NET_ACT_GACT NET_ACT_MIRRED NET_IPGRE_DEMUX NFT_FWD_NETDEV NF_TABLES NF_TABLES_NETDEV RADIO_ADAPTERS RADIO_SI4713 RAS RC_CORE RC_DEVICES RFKILL SND SOUND STAGING TRANSPARENT_HUGEPAGE VIDEO_DEV VIDEO_V4L2 VIRTIO_FS WAN ZONE_DEVICE] disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed determining the merge base between 8a7f2a5c5aa1648edb4f2029c6ec33870afb7a95 and e789286468a9ea7acb5aae09a11bdfc7d46874ec 8bb7eca972ad531c9b149c0a51ab43a417385813/Linux 5.15 is a merge base, check if it has the bug testing commit 8bb7eca972ad531c9b149c0a51ab43a417385813 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c301b06d6fe62542ff34313fdfd562a33227dea0d534f2e8e2723ec25744d4a6 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] testing current HEAD e789286468a9ea7acb5aae09a11bdfc7d46874ec testing commit e789286468a9ea7acb5aae09a11bdfc7d46874ec gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 6375f54b9c4157a801a3f4ec9647dc4cfd23ee6b40b9c7e9919d49470a5d0cb2 all runs: OK false negative chance: 0.000 # git bisect start e789286468a9ea7acb5aae09a11bdfc7d46874ec 8bb7eca972ad531c9b149c0a51ab43a417385813 Bisecting: 85284 revisions left to test after this (roughly 16 steps) [76e45035348c247a70ed50eb29a9906657e4444f] Merge tag 'for-6.1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 76e45035348c247a70ed50eb29a9906657e4444f gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ed89dffd9c64e93f4fa40f15cd9faf9da51f5e273db96efa0a46930a0573761a all runs: OK false negative chance: 0.000 # git bisect bad 76e45035348c247a70ed50eb29a9906657e4444f Bisecting: 42570 revisions left to test after this (roughly 15 steps) [965181d7ef7e1a863477536dc328c23a7ebc8a1d] Merge tag 'nfs-for-5.18-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 965181d7ef7e1a863477536dc328c23a7ebc8a1d gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5126cd86df773cb3f4fe4dd7a54c236316eac1d3c902dc5d19a018c24b0aac94 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #1: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #2: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #3: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #4: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #5: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #6: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #7: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #8: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #9: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM unable to determine the verdict: 0 good runs (wanted 5), for bad wanted 5 in total, got 0 # git bisect skip 965181d7ef7e1a863477536dc328c23a7ebc8a1d Bisecting: 42570 revisions left to test after this (roughly 15 steps) [99d6a2acb8955f12489bfba04f2db22bc0b57726] rcutorture: Suppress debugging grace period delays during flooding determine whether the revision contains the guilty commit revision 965181d7ef7e1a863477536dc328c23a7ebc8a1d crashed and is reachable testing commit 99d6a2acb8955f12489bfba04f2db22bc0b57726 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: da2b9c46c9d8ebd3b7d9b743ba39604e31adc91856cdec01694b863bbef5720e all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 99d6a2acb8955f12489bfba04f2db22bc0b57726 Bisecting: 20763 revisions left to test after this (roughly 14 steps) [42df1cbf6a4726934cc5dac12bf263aa73c49fa3] Merge tag 'for-5.20/io_uring-zerocopy-send-2022-07-29' of git://git.kernel.dk/linux-block determine whether the revision contains the guilty commit revision 965181d7ef7e1a863477536dc328c23a7ebc8a1d crashed and is reachable testing commit 42df1cbf6a4726934cc5dac12bf263aa73c49fa3 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b0be91c9d0f2bd84c63f573cbc37ead1e50b6b8765bf091511839f9c4441a2b6 all runs: OK false negative chance: 0.000 # git bisect bad 42df1cbf6a4726934cc5dac12bf263aa73c49fa3 Bisecting: 10729 revisions left to test after this (roughly 13 steps) [c011dd537ffe47462051930413fed07dbdc80313] Merge tag 'arm-soc-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit c011dd537ffe47462051930413fed07dbdc80313 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: cb442d758a4eab5b90526976f0c345adb5531d294ec192adbc565fbe73bbcef6 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good c011dd537ffe47462051930413fed07dbdc80313 Bisecting: 5496 revisions left to test after this (roughly 12 steps) [54c2cc79194c961a213c1d375fe3aa4165664cc4] Merge tag 'usb-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb determine whether the revision contains the guilty commit revision 99d6a2acb8955f12489bfba04f2db22bc0b57726 crashed and is reachable testing commit 54c2cc79194c961a213c1d375fe3aa4165664cc4 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 8bb814787162020d1c0d02e5b67f575915f755b4712213118f95800cca0345ea all runs: OK false negative chance: 0.000 # git bisect bad 54c2cc79194c961a213c1d375fe3aa4165664cc4 Bisecting: 2664 revisions left to test after this (roughly 11 steps) [e2e530867245d051dc7800b0d07193b3e581f5b9] blk-mq: remove the done argument to blk_execute_rq_nowait determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit e2e530867245d051dc7800b0d07193b3e581f5b9 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 3dbedef79aaaa8430c021099c86af967ab969f41902db17746a973be46242055 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good e2e530867245d051dc7800b0d07193b3e581f5b9 Bisecting: 1325 revisions left to test after this (roughly 10 steps) [e5b0208713326cdd3f0a83540e31f9b6f280da38] Merge tag '5.19-rc-ksmbd-server-fixes' of git://git.samba.org/ksmbd determine whether the revision contains the guilty commit revision c011dd537ffe47462051930413fed07dbdc80313 crashed and is reachable testing commit e5b0208713326cdd3f0a83540e31f9b6f280da38 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 21de3965b58b27669df36a965df0e5698c5ab7d87df66336ccb0611ec3675b74 all runs: OK false negative chance: 0.000 # git bisect bad e5b0208713326cdd3f0a83540e31f9b6f280da38 Bisecting: 689 revisions left to test after this (roughly 9 steps) [09f73a1ab8207481d1d6bd91ab7d0125c6722005] Merge tag 'perf-tools-for-v5.19-2022-05-28' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 09f73a1ab8207481d1d6bd91ab7d0125c6722005 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f43cc4621cce5a486365ae231407a76cef5427e931a2532526ef7928b2249293 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 09f73a1ab8207481d1d6bd91ab7d0125c6722005 Bisecting: 362 revisions left to test after this (roughly 9 steps) [3335d5550256210c9b213f67240221633d8f7b53] Merge tag 'microblaze-v5.19' of git://git.monstr.eu/linux-2.6-microblaze determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 3335d5550256210c9b213f67240221633d8f7b53 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 752a4691e988e6e87f1781d1a8b3002c1fde7660881c45ff57b6900d4bb8124f all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 3335d5550256210c9b213f67240221633d8f7b53 Bisecting: 178 revisions left to test after this (roughly 8 steps) [f8a52af9d00d59fd887d8ad1fa0c2c88a5d775b9] Merge tag 'i2c-for-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux determine whether the revision contains the guilty commit revision 99d6a2acb8955f12489bfba04f2db22bc0b57726 crashed and is reachable testing commit f8a52af9d00d59fd887d8ad1fa0c2c88a5d775b9 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: bb9d8e851ed279024a441a5f96af3a9e6031dfc8e3188e929dd8c0a590089974 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good f8a52af9d00d59fd887d8ad1fa0c2c88a5d775b9 Bisecting: 89 revisions left to test after this (roughly 7 steps) [129bdb30fb054875f2068ccce376b865076d9934] Merge tag 'spi-fix-v5.19-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi determine whether the revision contains the guilty commit revision 09f73a1ab8207481d1d6bd91ab7d0125c6722005 crashed and is reachable testing commit 129bdb30fb054875f2068ccce376b865076d9934 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 71d03b930d2102e9efa03cef1a92eb2c7ee2649a8818069e0c788435cca66f53 all runs: OK false negative chance: 0.000 # git bisect bad 129bdb30fb054875f2068ccce376b865076d9934 Bisecting: 48 revisions left to test after this (roughly 6 steps) [2d1fe8a86bf5e0663866fd0da83c2af1e1b0e362] f2fs: fix to tag gcing flag on page during file defragment determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 2d1fe8a86bf5e0663866fd0da83c2af1e1b0e362 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a706e85525fa2292828dbca04c40b2040364a9ea3e45a90e2bfb4e0a42ada4a2 all runs: OK false negative chance: 0.000 # git bisect bad 2d1fe8a86bf5e0663866fd0da83c2af1e1b0e362 Bisecting: 19 revisions left to test after this (roughly 4 steps) [6b8beca0edd32075a769bfe4178ca00c0dcd22a9] f2fs: fix to do sanity check on total_data_blocks determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 6b8beca0edd32075a769bfe4178ca00c0dcd22a9 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f3f52170fa28ff63d0282cad0a0aff65cffb41da74e4a2b6b13fcab7d22e0145 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 6b8beca0edd32075a769bfe4178ca00c0dcd22a9 Bisecting: 9 revisions left to test after this (roughly 3 steps) [c81d5bae404abc6b257667e84d39b9b50c7063d4] f2fs: do not stop GC when requiring a free section determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit c81d5bae404abc6b257667e84d39b9b50c7063d4 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c284e030d855f6cd0c8a1a2a88c29135cd6012f6503f6a100542c90e9a01cb81 all runs: OK false negative chance: 0.000 # git bisect bad c81d5bae404abc6b257667e84d39b9b50c7063d4 Bisecting: 4 revisions left to test after this (roughly 2 steps) [3db1de0e582c358dd013f3703cd55b5fe4076436] f2fs: change the current atomic write way determine whether the revision contains the guilty commit revision 6b8beca0edd32075a769bfe4178ca00c0dcd22a9 crashed and is reachable testing commit 3db1de0e582c358dd013f3703cd55b5fe4076436 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 4ebd95f5acca365bf89b74d7629c7a7997a3880772679586476aeb888ec3bf3b all runs: OK false negative chance: 0.000 # git bisect bad 3db1de0e582c358dd013f3703cd55b5fe4076436 Bisecting: 2 revisions left to test after this (roughly 1 step) [2880f47b949f1f49e2d861ffbba91d57416be7d9] f2fs: skip GC if possible when checkpoint disabling determine whether the revision contains the guilty commit revision 8bb7eca972ad531c9b149c0a51ab43a417385813 crashed and is reachable testing commit 2880f47b949f1f49e2d861ffbba91d57416be7d9 gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e3569e3c4b26f9438ee5a77265263d4c6bface82ff4f380a98400d8797858aa9 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 2880f47b949f1f49e2d861ffbba91d57416be7d9 Bisecting: 1 revision left to test after this (roughly 1 step) [2e42b7f817acd6e8d78226445eb6fe44fe79c12a] f2fs: stop allocating pinned sections if EAGAIN happens determine whether the revision contains the guilty commit revision 6b8beca0edd32075a769bfe4178ca00c0dcd22a9 crashed and is reachable testing commit 2e42b7f817acd6e8d78226445eb6fe44fe79c12a gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 02d185bdf0365bec7a5cd9ab5dc2f52b4bf2ae72d1a9a97272072b9567e7cebb all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 2e42b7f817acd6e8d78226445eb6fe44fe79c12a Bisecting: 0 revisions left to test after this (roughly 0 steps) [6213f5d4d23c50d393a31dc8e351e63a1fd10dbe] f2fs: don't need inode lock for system hidden quota determine whether the revision contains the guilty commit revision 2e42b7f817acd6e8d78226445eb6fe44fe79c12a crashed and is reachable testing commit 6213f5d4d23c50d393a31dc8e351e63a1fd10dbe gcc compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5f4b57ffcc162427765f04c1844c308f78eb1334cf6960085cad842ed994d117 all runs: crashed: BUG: sleeping function called from invalid context in f2fs_register_inmem_page representative crash: BUG: sleeping function called from invalid context in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 6213f5d4d23c50d393a31dc8e351e63a1fd10dbe 3db1de0e582c358dd013f3703cd55b5fe4076436 is the first bad commit commit 3db1de0e582c358dd013f3703cd55b5fe4076436 Author: Daeho Jeong Date: Thu Apr 28 11:18:09 2022 -0700 f2fs: change the current atomic write way Current atomic write has three major issues like below. - keeps the updates in non-reclaimable memory space and they are even hard to be migrated, which is not good for contiguous memory allocation. - disk spaces used for atomic files cannot be garbage collected, so this makes it difficult for the filesystem to be defragmented. - If atomic write operations hit the threshold of either memory usage or garbage collection failure count, All the atomic write operations will fail immediately. To resolve the issues, I will keep a COW inode internally for all the updates to be flushed from memory, when we need to flush them out in a situation like high memory pressure. These COW inodes will be tagged as orphan inodes to be reclaimed in case of sudden power-cut or system failure during atomic writes. Signed-off-by: Daeho Jeong Signed-off-by: Jaegeuk Kim fs/f2fs/data.c | 180 +++++++++++++-------- fs/f2fs/debug.c | 12 +- fs/f2fs/f2fs.h | 33 +--- fs/f2fs/file.c | 49 +++--- fs/f2fs/gc.c | 27 +--- fs/f2fs/inode.c | 3 +- fs/f2fs/namei.c | 28 ++-- fs/f2fs/node.c | 4 - fs/f2fs/node.h | 1 - fs/f2fs/segment.c | 380 +++++++++++++++----------------------------- fs/f2fs/segment.h | 4 +- fs/f2fs/super.c | 6 +- include/trace/events/f2fs.h | 22 --- 13 files changed, 303 insertions(+), 446 deletions(-) accumulated error probability: 0.00 culprit signature: 4ebd95f5acca365bf89b74d7629c7a7997a3880772679586476aeb888ec3bf3b parent signature: 5f4b57ffcc162427765f04c1844c308f78eb1334cf6960085cad842ed994d117 revisions tested: 28, total time: 5h29m36.904312833s (build: 2h12m54.409867144s, test: 3h3m53.834776807s) first good commit: 3db1de0e582c358dd013f3703cd55b5fe4076436 f2fs: change the current atomic write way recipients (to): ["daehojeong@google.com" "jaegeuk@kernel.org"] recipients (cc): []