Re: Panic when mounting ntfs

From: Poul-Henning Kamp <phk_at_phk.freebsd.dk>
Date: Sun, 12 Dec 2004 11:58:19 +0100
Can you try this patch ?


==== //depot/user/phk/phk_bufwork/sys/fs/ntfs/ntfs_vnops.c#8 - /bang/p4/phk/phk_bufwork/sys/fs/ntfs/ntfs_vnops.c ====
_at__at_ -97,9 +97,14 _at__at_
 		int *a_runb;
 	} */ *ap;
 {
+	struct vnode *vp = ap->a_vp;
+	struct fnode *fp = VTOF(vp);
+	struct ntnode *ip = FTONT(fp);
+	struct ntfsmount *ntmp = ip->i_mp;
+
 	dprintf(("ntfs_bmap: vn: %p, blk: %d\n", ap->a_vp,(u_int32_t)ap->a_bn));
 	if (ap->a_bop != NULL)
-		*ap->a_bop = &ap->a_vp->v_bufobj;
+		*ap->a_bop = &ntmp->ntm_devvp->v_bufobj;
 	if (ap->a_bnp != NULL)
 		*ap->a_bnp = ap->a_bn;
 	if (ap->a_runp != NULL)
In message <20041211233649.GA69017_at_ns1.kolbu.ws>, =?iso-8859-1?Q?=D8yvind?= Kol
bu writes:
>Tried to mount my ntfs drive after an upgrade to todays current, running
>a GENERIC kernel. Kernel and userland in sync, this happens every time I
>try to mount the drive.
>
>Fatal trap 12: page fault while in kernel mode
>cpuid = 0; apic id = 00
>fault virtual address	= 0x0
>fault code		= supervisor read
>instruction pointer	= 0x8:0xc205596c
>stack pointer		= 0x10:0xe6655830
>frame pointer		= 0x10:0xe665584c
>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		= 507 (mount_ntfs)
>[thread pid 507 100077 ]
>Stopped at	ntfs_u28_init+0x7c:	movzwl	0(%edx,%edi,2),%eax
>db> trace
>Tracing pid 507 tid 100077 td 0xc1d56a80
>ntfs_u28_init(c1fe7e00,0,0,0,0) at ntfs_u28_init+0x7c
>ntfs_mount(c1c18400,c1d56a80,e6655abc,2c3,0) at ntfs_mount+0x65c
>vfs_donmount(e6655be4,c0944360,c1fe7d00,18,e6655d14) at vfs_donmount+0x9ba
>kernel_mount(c1c0f320,0,c2056271,1ed,bfdfee07) at kernel_mount+0x5c
>ntfs_cmount(c1c0f320,bfdfec50,0,c1d56a80,0) at ntfs_cmount+0x13d
>mount(c1d56a80,e6655d14,10,377,4) at mount+0x175
>syscall(2f,2f,2f,0,bfbfe7f0) at syscall+0x137
>Xint0x80_syscall() at Xint0x80_syscall+0x17
>--- syscall (21, FreeBSD ELF32, mount), eip = 0x280ca41f,
>esp=0xbfbfe7ac, ebp = 0xbfbfecf8 ---
>db>
>
>-- 
>Øyvind Kolbu
>_______________________________________________
>freebsd-current_at_freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-current
>To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk_at_FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.
Received on Sun Dec 12 2004 - 09:58:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:24 UTC