Subject: Something recently broke Coda
To: None <current-users@netbsd.org>
From: Tom Ivar Helbekkmo <tih@eunetnorge.no>
List: current-users
Date: 10/15/2004 09:15:37
I'm running Coda on NetBSD-current, and sometime within the last two
months, something has broken the Coda client kernel code. My laptop
is running a kernel from August 14th, and I am trying to update it to
a current kernel. A short while after boot, it drops into the
debugger, thus:
uvm_fault(0xccb27384, 0, 0, 1) -> 0xe
kernel: page fault trap, code=0
Stopped in pid 1112.1 (venus) at netbsd:set_statvfs_info+0x32a: movl 0x10(%edi),%ebx
Venus is the userland part of the Coda client.
I notice that there has been one single change to the Coda kernel code
recently, thus:
Index: coda_vfsops.c
===================================================================
RCS file: /cvsroot/src/sys/coda/coda_vfsops.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- coda_vfsops.c 25 May 2004 14:54:56 -0000 1.38
+++ coda_vfsops.c 17 Sep 2004 14:11:23 -0000 1.39
@@ -1,4 +1,4 @@
-/* $NetBSD: coda_vfsops.c,v 1.38 2004/05/25 14:54:56 hannken Exp $ */
+/* $NetBSD: coda_vfsops.c,v 1.39 2004/09/17 14:11:23 skrll Exp $ */
/*
*
@@ -45,7 +45,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: coda_vfsops.c,v 1.38 2004/05/25 14:54:56 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: coda_vfsops.c,v 1.39 2004/09/17 14:11:23 skrll Exp $");
#ifdef _LKM
#define NVCODA 4
@@ -269,7 +269,7 @@
MARK_INT_SAT(CODA_MOUNT_STATS);
return set_statvfs_info("/coda", UIO_SYSSPACE, "CODA", UIO_SYSSPACE, vfsp,
- p);
+ NULL);
}
int
Looking at set_statvfs_info(), I notice that it uses that last
parameter as a pointer without checking that it isn't NULL. I would
hazard a guess that this is what causes the observed behaviour. ;-)
The comment accompanying the change says:
There's no need to pass a proc value when using UIO_SYSSPACE with
vn_rdwr(9) and uiomove(9).
-tih
--
Tom Ivar Helbekkmo, Senior System Administrator, EUnet Norway Hosting
www.eunet.no T +47-22092958 M +47-93013940 F +47-22092901 FWD 484145