Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kernel panic during umount #16

Open
tohosys opened this issue Jan 13, 2020 · 1 comment
Open

kernel panic during umount #16

tohosys opened this issue Jan 13, 2020 · 1 comment

Comments

@tohosys
Copy link

tohosys commented Jan 13, 2020

Dear @slavaim,

Could you please give me some help?
There is kernel panic if umount without deleting path.

test step:

  1. insmod roflt
  2. rfsctl -f roflt -i /test1
  3. mount /dev/sdxx /test1
  4. umount /dev/sdxx

dump stack:
#0 [ffff98e3f2ccfac0] machine_kexec at ffffffffaf063674
#1 [ffff98e3f2ccfb20] __crash_kexec at ffffffffaf11cf32
#2 [ffff98e3f2ccfbf0] crash_kexec at ffffffffaf11d020
#3 [ffff98e3f2ccfc08] oops_end at ffffffffaf76d758
#4 [ffff98e3f2ccfc30] die at ffffffffaf02f95b
#5 [ffff98e3f2ccfc60] do_trap at ffffffffaf76cea0
#6 [ffff98e3f2ccfcb0] do_invalid_op at ffffffffaf02c2a4
#7 [ffff98e3f2ccfd60] invalid_op at ffffffffaf77912e
[exception RIP: shrink_dcache_for_umount_subtree+460]
RIP: ffffffffaf25a9bc RSP: ffff98e3f2ccfe10 RFLAGS: 00010246
RAX: 000000000000004d RBX: ffff98e354797680 RCX: 0000000000000000
RDX: 0000000000000000 RSI: ffff98e49f013898 RDI: ffff98e49f013898
RBP: ffff98e3f2ccfe30 R8: 6e6544203a475542 R9: 66207972746e6544
R10: 0000000000000833 R11: 3533653839666666 R12: ffff98e354797680
R13: 00000000000003f3 R14: ffffffffb00e65b0 R15: ffff98e3e1a85910
ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018
#8 [ffff98e3f2ccfe38] shrink_dcache_for_umount at ffffffffaf25c2ef
#9 [ffff98e3f2ccfe50] generic_shutdown_super at ffffffffaf24416f
#10 [ffff98e3f2ccfe70] kill_block_super at ffffffffaf244627
#11 [ffff98e3f2ccfe90] deactivate_locked_super at ffffffffaf24496e
#12 [ffff98e3f2ccfeb0] deactivate_super at ffffffffaf2450f6
#13 [ffff98e3f2ccfec8] cleanup_mnt at ffffffffaf26366f
#14 [ffff98e3f2ccfee0] __cleanup_mnt at ffffffffaf263702
#15 [ffff98e3f2ccfef0] task_work_run at ffffffffaf0be7db
#16 [ffff98e3f2ccff30] do_notify_resume at ffffffffaf02bc65
#17 [ffff98e3f2ccff50] int_signal at ffffffffaf776124

Notes:

  1. If i delete path by "rfsctl -f roflt -c" before umount then no problem.
  2. If i hold some mounted file like "tail -f /test1/locktest" and umount by "umount -l /dev/sdxx" wirh lazy option then no problem.
  3. OS is CentOS 7.

thanks.

@tohosys
Copy link
Author

tohosys commented Feb 11, 2020

workaround:

  • hook and hold umount system call
  • clear redirfs filter's paths
  • re-run umount system call

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant