Panic when trying to mount cd9660 as udf
Maxime Henrion
mux at freebsd.org
Sun Nov 23 04:39:28 PST 2003
Christian Laursen wrote:
> By accident, I tried to mount a CD as UDF, and got the follwoing panic:
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 0; apic id = 00
> fault virtual address = 0x0
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xc06c2f6c
> stack pointer = 0x10:0xcda4bac0
> frame pointer = 0x10:0xcda4bacc
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 530 (mount_udf)
>
> This seems to be easily reproducable. First I got it on my workstation
> running 5.2-BETA, and I then reproduced it on my test machine which runs
> -CURRENT from 4 days ago:
[...]
Can you try the attached patch and tell me if it fixes your problem?
Thanks,
Maxime
-------------- next part --------------
Index: vfs_mount.c
===================================================================
RCS file: /space2/ncvs/src/sys/kern/vfs_mount.c,v
retrieving revision 1.115
diff -u -p -r1.115 vfs_mount.c
--- vfs_mount.c 14 Nov 2003 05:27:41 -0000 1.115
+++ vfs_mount.c 23 Nov 2003 12:35:29 -0000
@@ -841,7 +841,8 @@ update:
* Check if the fs implements the type VFS_[N]MOUNT()
* function we are looking for.
*/
- if ((compat == 0) == (mp->mnt_op->vfs_mount != NULL)) {
+ if ((compat && mp->mnt_op->vfs_mount == NULL) ||
+ (!compat && mp->mnt_op->vfs_nmount == NULL)) {
printf("%s doesn't support the %s mount syscall\n",
mp->mnt_vfc->vfc_name, compat? "old" : "new");
VI_LOCK(vp);
More information about the freebsd-current
mailing list