ci2 starts bisection 2023-12-25 19:26:31.555918596 +0000 UTC m=+272194.879804158 bisecting fixing commit since 61cfd264993d07540f60a5c53d77a14c818e54a9 building syzkaller on d80eec66c939240cfc674221138f637197659116 ensuring issue is reproducible on original commit 61cfd264993d07540f60a5c53d77a14c818e54a9 testing commit 61cfd264993d07540f60a5c53d77a14c818e54a9 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: a31da6a4219a96b81c800ed01285dd0e47122ca7c73b282ce8c3fbc1efc35491 all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] check whether we can drop unnecessary instrumentation disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed testing commit 61cfd264993d07540f60a5c53d77a14c818e54a9 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: e4cc88afa131f81cb19dd1a77f05d93f671bc76fd9dcbc6520cd7e62e692dce6 all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the bug reproduces without the instrumentation disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP HANG], they are not needed kconfig minimization: base=4920 full=6161 leaves diff=241 split chunks (needed=false): <241> split chunk #0 of len 241 into 5 parts testing without sub-chunk 1/5 disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP HANG], they are not needed testing commit 61cfd264993d07540f60a5c53d77a14c818e54a9 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 94d2b12a9d402746329b789df8d590b6892eda22d5bc05cdce7939af8c8d2486 all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the chunk can be dropped testing without sub-chunk 2/5 disabling configs for [KASAN LOCKDEP HANG LEAK UBSAN BUG], they are not needed testing commit 61cfd264993d07540f60a5c53d77a14c818e54a9 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 64b8f3ff94742c316532640bc533d66937b24d95868bea8aba1f7061e26118ce run #0: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] testing without sub-chunk 3/5 disabling configs for [BUG KASAN LOCKDEP HANG LEAK UBSAN], they are not needed testing commit 61cfd264993d07540f60a5c53d77a14c818e54a9 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 92a56e985250f8d1dc7b0d83effeed1980187cf6a2f58c419dfac0084ed303bc all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the chunk can be dropped testing without sub-chunk 4/5 disabling configs for [HANG LEAK UBSAN BUG KASAN LOCKDEP], they are not needed testing commit 61cfd264993d07540f60a5c53d77a14c818e54a9 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: bae10d9df9ae312feb638c411d843dbf48780db02dbe5661ff5eba3bcaed5b2b all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] the chunk can be dropped testing without sub-chunk 5/5 disabling configs for [LEAK UBSAN BUG KASAN LOCKDEP HANG], they are not needed testing commit 61cfd264993d07540f60a5c53d77a14c818e54a9 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 failed building 61cfd264993d07540f60a5c53d77a14c818e54a9: net/socket.c:1189: undefined reference to `wext_handle_ioctl' net/socket.c:3383: undefined reference to `compat_wext_handle_ioctl' net/core/net-procfs.c:343: undefined reference to `wext_proc_exit' net/core/net-procfs.c:327: undefined reference to `wext_proc_init' minimized to 94 configs; suspects: [FB HID_HOLTEK HID_ORTEK HID_PANTHERLORD HID_PENMOUNT HID_PETALYNX HID_PICOLCD_FB HID_PICOLCD_LEDS HID_PID HID_PRIMAX HID_PRODIKEYS HID_RMI HID_SAITEK HID_SAMSUNG HID_SENSOR_CUSTOM_SENSOR HID_SENSOR_HUB HID_SPEEDLINK HID_STEELSERIES HID_SUNPLUS HID_THINGM HID_TIVO HID_TOPSEED HID_TWINHAN HID_WALTOP HID_XINMO HID_ZEROPLUS HID_ZYDACRON HOLTEK_FF HOTPLUG_PCI HWMON HW_CONSOLE I2C_MUX INPUT_JOYSTICK INPUT_LEDS INPUT_MOUSE INPUT_TOUCHSCREEN INTEGRITY INTEGRITY_AUDIT JOYSTICK_XPAD JOYSTICK_XPAD_FF JOYSTICK_XPAD_LEDS KCOV KCOV_ENABLE_COMPARISONS KCOV_INSTRUMENT_ALL LCD_CLASS_DEVICE LOGIG940_FF LOGIRUMBLEPAD2_FF LOGITECH_FF LOGIWHEELS_FF MEDIA_ANALOG_TV_SUPPORT MEDIA_ATTACH MEDIA_DIGITAL_TV_SUPPORT MEDIA_RADIO_SUPPORT MEDIA_TUNER MFD_CORE NET_DEVLINK NOP_USB_XCEIV PANTHERLORD_FF RADIO_ADAPTERS REGMAP_SPI RESET_CONTROLLER SND SOUND USB_NET_MCS7830 USB_NET_NET1080 USB_NET_PLUSB USB_NET_RNDIS_HOST USB_NET_SMSC75XX USB_NET_SMSC95XX USB_NET_SR9700 USB_NET_SR9800 USB_NET_ZAURUS USB_OHCI_HCD USB_OHCI_HCD_PCI USB_OHCI_HCD_PLATFORM USB_OTG USB_OTG_FSM USB_PRINTER USB_SERIAL USB_SERIAL_FTDI_SIO USB_SERIAL_GENERIC USB_SERIAL_PL2303 USB_STORAGE_ALAUDA USB_STORAGE_CYPRESS_ATACB USB_STORAGE_DATAFAB 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_TRANCEVIBRATOR USB_U_AUDIO USB_U_ETHER USB_U_SERIAL USB_WDM VT WLAN WLAN_VENDOR_ATH WLAN_VENDOR_ATMEL WLAN_VENDOR_BROADCOM WLAN_VENDOR_INTERSIL WLAN_VENDOR_MARVELL WLAN_VENDOR_MEDIATEK WLAN_VENDOR_MICROCHIP WLAN_VENDOR_RALINK WLAN_VENDOR_REALTEK WLAN_VENDOR_RSI WLAN_VENDOR_ZYDAS X86_X32 ZEROPLUS_FF] disabling configs for [UBSAN BUG KASAN LOCKDEP HANG LEAK], they are not needed testing current HEAD 28e3f5851a993d680ac5a14fd70cce739e78375d testing commit 28e3f5851a993d680ac5a14fd70cce739e78375d gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 12f5811ff0e907410d36436060515faea84b860c439caffe5dda956076798a4c all runs: OK false negative chance: 0.000 # git bisect start 28e3f5851a993d680ac5a14fd70cce739e78375d 61cfd264993d07540f60a5c53d77a14c818e54a9 Bisecting: 449 revisions left to test after this (roughly 9 steps) [670b3e902f62191b9a36d1d246989be3e1b7291a] wifi: iwlwifi: Use FW rate for non-data frames determine whether the revision contains the guilty commit checking the merge base 12952a23a5da6459aaaaa3ae4bc8ce8fef952ef5 no existing result, test the revision testing commit 12952a23a5da6459aaaaa3ae4bc8ce8fef952ef5 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f529369ee8244a624cda0a0ee50970eb0f4a6753230be263c253655a83b733e3 run #0: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #1: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #2: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #3: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #4: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #5: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #6: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #7: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #8: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #9: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #10: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #11: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #12: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #13: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #14: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #15: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #16: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #17: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #18: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #19: OK representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] testing commit 670b3e902f62191b9a36d1d246989be3e1b7291a gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 5a035d06eb28f56a84d9cfbf6cd2b058d45fdc04b468fd7f278f52bbe44d3ad6 all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 670b3e902f62191b9a36d1d246989be3e1b7291a Bisecting: 224 revisions left to test after this (roughly 8 steps) [e949dbc28cd52d94561bd12b09c56b65cd185a46] amd-xgbe: handle corner-case during sfp hotplug determine whether the revision contains the guilty commit revision 12952a23a5da6459aaaaa3ae4bc8ce8fef952ef5 crashed and is reachable testing commit e949dbc28cd52d94561bd12b09c56b65cd185a46 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 45af9dc7617f489c4bc1690cc2db26e5dbca960b5f81fe795e3293af24a997d8 run #0: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #1: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #2: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #3: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #4: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #5: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #6: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #7: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #8: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #9: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #10: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #11: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #12: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #13: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #14: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #15: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #16: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #17: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page run #18: OK run #19: OK representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good e949dbc28cd52d94561bd12b09c56b65cd185a46 Bisecting: 112 revisions left to test after this (roughly 7 steps) [b153f0c5b29b2d087b8543749f55a3e1bae0613b] UPSTREAM: usb: gadget: function: Remove unused declarations determine whether the revision contains the guilty commit checking the merge base 83c56fbab45dea6eb88e5e61fbfa390dfd2e0db7 no existing result, test the revision testing commit 83c56fbab45dea6eb88e5e61fbfa390dfd2e0db7 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 7915487a29487525eb93d6a6e6fba855fb4dffda03836ff43990dc24c5156b2f all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] testing commit b153f0c5b29b2d087b8543749f55a3e1bae0613b gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: c755ddf3ff11892f9a1131c8301200395ca940091d126fbc92a87d8e756068a1 all runs: OK false negative chance: 0.000 # git bisect bad b153f0c5b29b2d087b8543749f55a3e1bae0613b Bisecting: 55 revisions left to test after this (roughly 6 steps) [09f3b2441a6730cffd45c8f84c46397eed86e035] ANDROID: vendor_hooks: Add hooks for oem percpu-rwsem optimaton determine whether the revision contains the guilty commit checking the merge base 07610c78efc466811b0982c96b07f45fbcda7044 no existing result, test the revision testing commit 07610c78efc466811b0982c96b07f45fbcda7044 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 2440b5d77fc628993c4ebb495c9d3c721863c8849bbb927c7d3356ec809a2d06 all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] testing commit 09f3b2441a6730cffd45c8f84c46397eed86e035 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: de13fc3ff21a52abd8b3b2f01025f54812cb56b0a5edc6925010f5e6562511f9 all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 09f3b2441a6730cffd45c8f84c46397eed86e035 Bisecting: 27 revisions left to test after this (roughly 5 steps) [c148d63e31ad9d14ef0b2eab4212a8bfaff18c7c] BACKPORT: f2fs: introduce F2FS_IOC_START_ATOMIC_REPLACE determine whether the revision contains the guilty commit revision 83c56fbab45dea6eb88e5e61fbfa390dfd2e0db7 crashed and is reachable testing commit c148d63e31ad9d14ef0b2eab4212a8bfaff18c7c gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: ee1655190b33a8fb29644b39a7be857d19d977028d23fda4a8d571e7d3f0a010 all runs: OK false negative chance: 0.000 # git bisect bad c148d63e31ad9d14ef0b2eab4212a8bfaff18c7c Bisecting: 13 revisions left to test after this (roughly 4 steps) [5ccdde76b139dfcb00267015ec09ebae99a3ce1a] UPSTREAM: net/sched: Retire rsvp classifier determine whether the revision contains the guilty commit revision 83c56fbab45dea6eb88e5e61fbfa390dfd2e0db7 crashed and is reachable testing commit 5ccdde76b139dfcb00267015ec09ebae99a3ce1a gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: b79fd51c6e1d059407bc4b87cc68f9aa8dff1a7e9ee2e847ab8931360e30d12d all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 5ccdde76b139dfcb00267015ec09ebae99a3ce1a Bisecting: 6 revisions left to test after this (roughly 3 steps) [255af4c3ea75b0a9b40fbcf1695a46a9850ff7b7] BACKPORT: f2fs: add a sysfs entry to show zone capacity determine whether the revision contains the guilty commit revision 09f3b2441a6730cffd45c8f84c46397eed86e035 crashed and is reachable testing commit 255af4c3ea75b0a9b40fbcf1695a46a9850ff7b7 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: f7841b8b752106c8cf603b3b5aafb3c67374b338fc96f2b41f22697d870abd27 all runs: OK false negative chance: 0.000 # git bisect bad 255af4c3ea75b0a9b40fbcf1695a46a9850ff7b7 Bisecting: 3 revisions left to test after this (roughly 2 steps) [76ca4a07659a31cc62977664bcf638d6a24af068] BACKPORT: f2fs: change the current atomic write way determine whether the revision contains the guilty commit revision 5ccdde76b139dfcb00267015ec09ebae99a3ce1a crashed and is reachable testing commit 76ca4a07659a31cc62977664bcf638d6a24af068 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: fa9d3a779be9ce84f340992d4c9a2c1dee101f004df93655a2da8d541513fefa all runs: OK false negative chance: 0.000 # git bisect bad 76ca4a07659a31cc62977664bcf638d6a24af068 Bisecting: 0 revisions left to test after this (roughly 1 step) [048853c59052bc2b877f0341b285130600dc5423] UPSTREAM: netfilter: xt_u32: validate user space input determine whether the revision contains the guilty commit revision 09f3b2441a6730cffd45c8f84c46397eed86e035 crashed and is reachable testing commit 048853c59052bc2b877f0341b285130600dc5423 gcc compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.40 kernel signature: 518995d7105abd38dc05cdd9388ad99bab24f33c40597b7cc9050bccc520b927 all runs: crashed: BUG: scheduling while atomic in f2fs_register_inmem_page representative crash: BUG: scheduling while atomic in f2fs_register_inmem_page, types: [ATOMIC_SLEEP] # git bisect good 048853c59052bc2b877f0341b285130600dc5423 76ca4a07659a31cc62977664bcf638d6a24af068 is the first bad commit commit 76ca4a07659a31cc62977664bcf638d6a24af068 Author: Daeho Jeong Date: Thu Apr 28 11:18:09 2022 -0700 BACKPORT: 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. Bug: 298879042 Change-Id: Iee588d6d54d23f778258292263d6fe58ab29d116 Signed-off-by: Daeho Jeong Signed-off-by: Jaegeuk Kim (cherry picked from commit 77c0800191374e45230484de20a7a3b6953e7134) [zhoudan8: Resolved minor conflict in fs/f2fs/gc.c) Signed-off-by: zhoudan8 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 | 384 +++++++++++++++----------------------------- fs/f2fs/segment.h | 4 +- fs/f2fs/super.c | 6 +- include/trace/events/f2fs.h | 22 --- 13 files changed, 303 insertions(+), 450 deletions(-) accumulated error probability: 0.00 culprit signature: fa9d3a779be9ce84f340992d4c9a2c1dee101f004df93655a2da8d541513fefa parent signature: 518995d7105abd38dc05cdd9388ad99bab24f33c40597b7cc9050bccc520b927 reproducer is flaky (0.95 repro chance estimate) revisions tested: 19, total time: 3h15m59.05834682s (build: 47m18.835732347s, test: 2h23m57.456375502s) first good commit: 76ca4a07659a31cc62977664bcf638d6a24af068 BACKPORT: f2fs: change the current atomic write way recipients (to): ["daehojeong@google.com" "jaegeuk@kernel.org" "zhoudan8@xiaomi.com"] recipients (cc): []