| Summary: | panic on cd .. on the root of a filesystem that is unmounted. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | pantzer <pantzer> | ||||
| Component: | kern | Assignee: | Alfred Perlstein <alfred> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | 4.2-STABLE | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
Hi, this bug should be fixed in -CURRENT (vfs_lookup.c v. 1.41), but the fix has not yet been MFC'ed. - thomas State Changed From-To: open->closed Sort of duplicate of 19572 which got a fix in 23191, which is handled by Alfred. This get to serv a MFC reminder. Alfred, can you please MCF rev 1.41 of src/sys/kern/vfs_lookup.c if this works in -current. Responsible Changed From-To: freebsd-bugs->alfred |
The kernel will panic if a user does cd .. in a shell that was on the mountpoint of a filesystem that has been unmounted with the force flag. #0 dumpsys () at ../../kern/kern_shutdown.c:469 #1 0xc013336f in boot (howto=260) at ../../kern/kern_shutdown.c:309 #2 0xc0133705 in panic (fmt=0xc023fcf4 "from debugger") at ../../kern/kern_shutdown.c:556 #3 0xc011e339 in db_panic (addr=-1072311442, have_addr=0, count=-1, modif=0xc5d10c7c "") at ../../ddb/db_command.c:433 #4 0xc011e2d9 in db_command (last_cmdp=0xc026ab78, cmd_table=0xc026a9d8, aux_cmd_tablep=0xc0284208) at ../../ddb/db_command.c:333 #5 0xc011e39e in db_command_loop () at ../../ddb/db_command.c:455 #6 0xc01204ab in db_trap (type=12, code=0) at ../../ddb/db_trap.c:71 #7 0xc021ca8a in kdb_trap (type=12, code=0, regs=0xc5d10dd0) at ../../i386/i386/db_interface.c:158 #8 0xc022bcc8 in trap_fatal (frame=0xc5d10dd0, eva=16) at ../../i386/i386/trap.c:946 #9 0xc022b9a1 in trap_pfault (frame=0xc5d10dd0, usermode=0, eva=16) at ../../i386/i386/trap.c:844 #10 0xc022b517 in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi = -976154868, tf_esi = -980796414, tf_ebp = -976155060, tf_isp = -976155140, tf_ebx = -975865280, tf_edx = -976154908, tf_ecx = 38, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1072311442, tf_cs = 8, tf_eflags = 582, tf_esp = -975865280, tf_ss = -1064217856}) at ../../i386/i386/trap.c:443 #11 0xc015d36e in lookup (ndp=0xc5d10ee4) at ../../kern/vfs_lookup.c:408 #12 0xc015cef4 in namei (ndp=0xc5d10ee4) at ../../kern/vfs_lookup.c:153 #13 0xc0161705 in change_dir (ndp=0xc5d10ee4, p=0xc58935e0) at ../../kern/vfs_syscalls.c:935 #14 0xc01615b8 in chdir (p=0xc58935e0, uap=0xc5d10f80) at ../../kern/vfs_syscalls.c:836 #15 0xc022bfa1 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 135464784, tf_esi = 0, tf_ebp = -1077954296, tf_isp = -976154668, tf_ebx = 135725184, tf_edx = 135472514, tf_ecx = 135472640, tf_eax = 12, tf_trapno = 22, tf_err = 2, tf_eip = 134802156, tf_cs = 31, tf_eflags = 582, tf_esp = -1077957444, tf_ss = 47}) at ../../i386/i386/trap.c:1150 #16 0xc021d3d5 in Xint0x80_syscall () #17 0x804bb09 in ?? () #18 0x80532e4 in ?? () #19 0x806061a in ?? () #20 0x8060855 in ?? () #21 0x804a7db in ?? () #22 0x8049a07 in ?? () #23 0x8048135 in ?? () Fix: This might not be the "right" fix, but it stops the panic. How-To-Repeat: mount /dev/ad1a /mnt cd /mnt umount -f /mnt cd .. PANIC