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