Bug 215935 - kernel hangs when invoking system calls
Summary: kernel hangs when invoking system calls
Status: NEEDINFO
Alias: None
Product: File System
Classification: Unclassified
Component: f2fs (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Default virtual assignee for f2fs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-03 05:08 UTC by bughunter
Modified: 2022-05-05 03:45 UTC (History)
1 user (show)

See Also:
Kernel Version: 5.18.0-rc2
Subsystem:
Regression: No
Bisected commit-id:


Attachments
case.c (4.89 KB, text/x-csrc)
2022-05-03 05:08 UTC, bughunter
Details

Description bughunter 2022-05-03 05:08:12 UTC
Created attachment 300870 [details]
case.c

I'd mounted a F2FS image with several mount options. When I was invoking file operations on the mount point, the kernel hangs, and the process cannot be killed.

The file operations are in case.c, and the image is provided at (https://drive.google.com/file/d/1YchwhB5R5ToURLSFy20rQc0wDOvRCltP/view?usp=sharing).

This issue can be reproduced by running the following commands:
losetup /dev/loop0 case.img
mount -o "disable_roll_forward,nouser_xattr,noacl,active_logs=6,disable_ext_identify,inline_dentry,flush_merge,nobarrier,fastboot,data_flush,alloc_mode=reuse,fsync_mode=posix,test_dummy_encryption" /dev/loop0 /mnt/test/
gcc -o case case.c
./case
Comment 1 Chao Yu 2022-05-03 16:41:26 UTC
I can't reproduce this bug...

Can you please test on below branch which includes recent fixing patches?

https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/log/?h=bugzilla

And is there any callstack when kernel hangs?

Thanks,
Comment 2 bughunter 2022-05-05 03:45:55 UTC
I have tried the latest branch, while it is weird that this issue still exists.
A long list of kernel logs are printed like:

4,4716,31237186595,-; <TASK>
4,4717,31237186597,-; dump_stack_lvl+0x34/0x44
4,4718,31237186601,-; f2fs_is_valid_blkaddr.cold+0x2a/0x47
4,4719,31237186607,-; f2fs_do_write_data_page+0x30a/0x1ff0
4,4720,31237186610,-; ? f2fs_should_update_outplace+0x530/0x530
4,4721,31237186613,-; ? percpu_counter_add_batch+0x79/0x130
4,4722,31237186618,-; ? unwind_get_return_address+0xa0/0xa0
4,4723,31237186620,-; ? percpu_counter_add_batch+0x79/0x130
4,4724,31237186625,-; f2fs_write_single_data_page+0x1408/0x1c60
4,4725,31237186629,-; ? f2fs_do_write_data_page+0x1ff0/0x1ff0
4,4726,31237186634,-; ? invalid_folio_referenced_vma+0x10/0x10
4,4727,31237186638,-; ? percpu_counter_add_batch+0x79/0x130
4,4728,31237186643,-; f2fs_write_cache_pages+0x4ae/0xeb0
4,4729,31237186647,-; ? f2fs_write_single_data_page+0x1c60/0x1c60
4,4730,31237186649,-; ? unwind_next_frame+0x1301/0x1c60
4,4731,31237186653,-; ? entry_SYSCALL_64_after_hwframe+0x44/0xae
4,4732,31237186656,-; ? unwind_get_return_address+0xa0/0xa0
4,4733,31237186660,-; ? _raw_spin_lock+0x82/0xd0
4,4734,31237186663,-; ? _raw_spin_lock_irqsave+0xe0/0xe0
4,4735,31237186666,-; ? blk_start_plug_nr_ios+0x270/0x270
4,4736,31237186669,-; ? __kernel_text_address+0x9/0x30
4,4737,31237186674,-; ? f2fs_remove_dirty_inode+0x112/0x4d0
4,4738,31237186677,-; f2fs_write_data_pages+0x3cb/0xde0
4,4739,31237186682,-; ? f2fs_write_cache_pages+0xeb0/0xeb0
4,4740,31237186685,-; ? load_balance+0x20d0/0x20d0
4,4741,31237186688,-; ? find_get_pages_range_tag+0x329/0x530
4,4742,31237186693,-; do_writepages+0x168/0x550
4,4743,31237186696,-; ? page_writeback_cpu_online+0x10/0x10
4,4744,31237186699,-; ? attach_entity_load_avg+0x5b4/0x7f0
4,4745,31237186703,-; ? pagevec_lookup_range_tag+0x23/0x60
4,4746,31237186706,-; ? f2fs_flush_inline_data+0xfb/0x910
4,4747,31237186711,-; filemap_fdatawrite+0xa5/0xe0
4,4748,31237186714,-; ? folio_unlock+0x30/0x30
4,4749,31237186716,-; ? _raw_spin_lock+0x82/0xd0
4,4750,31237186721,-; ? _raw_spin_unlock+0x34/0x60
4,4751,31237186724,-; f2fs_sync_dirty_inodes+0x1c4/0x760
4,4752,31237186730,-; f2fs_write_checkpoint+0x55c/0x6000
4,4753,31237186734,-; ? _raw_spin_lock_irqsave+0x88/0xe0
4,4754,31237186737,-; ? _raw_read_lock_bh+0x40/0x40
4,4755,31237186741,-; ? _raw_spin_unlock_irqrestore+0x3d/0x70
4,4756,31237186745,-; ? f2fs_get_sectors_written+0x370/0x370
4,4757,31237186750,-; ? down_write_killable+0x120/0x120
4,4758,31237186753,-; ? trace_raw_output_jbd2_checkpoint_stats+0x1f0/0x1f0
4,4759,31237186759,-; ? _raw_write_lock+0x82/0xd0
4,4760,31237186761,-; ? __ia32_sys_fdatasync+0x40/0x40
4,4761,31237186764,-; f2fs_issue_checkpoint+0x27b/0x3a0
4,4762,31237186769,-; ? f2fs_destroy_checkpoint_caches+0x20/0x20
4,4763,31237186773,-; ? down_read+0x121/0x200
4,4764,31237186778,-; ? rwsem_down_read_slowpath+0x880/0x880
4,4765,31237186781,-; ? _raw_spin_lock+0x82/0xd0
4,4766,31237186784,-; ? _raw_spin_lock_irqsave+0xe0/0xe0
4,4767,31237186788,-; ? __ia32_sys_fdatasync+0x40/0x40
4,4768,31237186791,-; iterate_supers+0x10c/0x190
4,4769,31237186794,-; ksys_sync+0xa3/0x130
4,4770,31237186798,-; ? __x64_sys_syncfs+0x110/0x110
4,4771,31237186801,-; ? exit_to_user_mode_prepare+0x36/0x120
4,4772,31237186806,-; __do_sys_sync+0x5/0x10
4,4773,31237186809,-; do_syscall_64+0x3b/0x90
4,4774,31237186814,-; entry_SYSCALL_64_after_hwframe+0x44/0xae
4,4775,31237186817,-;RIP: 0033:0x7fbd00f1476d
4,4776,31237186819,-;Code: 00 c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f3 36 0d 00 f7 d8 64 89 01 48
4,4777,31237186822,-;RSP: 002b:00007ffea57d8538 EFLAGS: 00000217 ORIG_RAX: 00000000000000a2
4,4778,31237186826,-;RAX: ffffffffffffffda RBX: 000055595cb04ee0 RCX: 00007fbd00f1476d
4,4779,31237186828,-;RDX: 00007fbd00f1476d RSI: ffffffffffffff80 RDI: 00007ffea57d8700
4,4780,31237186830,-;RBP: 00007ffea5bd88b0 R08: 00007ffea5bd89a8 R09: 00007ffea5bd89a8
4,4781,31237186833,-;R10: 00007ffea5bd89a8 R11: 0000000000000217 R12: 000055595cb040a0
4,4782,31237186836,-;R13: 00007ffea5bd89a0 R14: 0000000000000000 R15: 0000000000000000
4,4783,31237186838,-; </TASK>

Note You need to log in before you can comment on or make changes to this bug.