On Wed, 2012-08-15 at 13:57 +0200, Richard Ems wrote: > On 08/14/2012 09:11 PM, Jeff Layton wrote: > > One way to determine this would be to follow the instructions here, > > substituting nfs.ko for cifs.ko: > > > > http://wiki.samba.org/index.php/LinuxCIFS_troubleshooting#Oopses > > Hi all, thanks for your responses. I first tried Jeff's proposal, here are the results: > > c5n12:~ # gdb /lib/modules/3.5.1-2-default/kernel/fs/nfs/nfs.ko > > GNU gdb (GDB) SUSE (7.3-41.1.2) > Copyright (C) 2011 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show copying" > and "show warranty" for details. > This GDB was configured as "x86_64-suse-linux". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from /lib/modules/3.5.1-2-default/kernel/fs/nfs/nfs.ko...Reading symbols from /usr/lib/debug/lib/modules/3.5.1-2-default/kernel/fs/nfs/nfs.ko.debug...done. > done. > > (gdb) list *(nfs_lookup_revalidate+0x2d) > 0x59cd is in nfs_lookup_revalidate (/usr/src/debug/kernel-default-3.5.1/linux-3.5/fs/nfs/dir.c:1129). > 1124 struct dentry *parent; > 1125 struct nfs_fh *fhandle = NULL; > 1126 struct nfs_fattr *fattr = NULL; > 1127 int error; > 1128 > 1129 if (nd->flags & LOOKUP_RCU) Bummer... We check if 'nd' is NULL everywhere except here... OK. Changing the above line to if (nd && (nd->flags & LOOKUP_RCU)) will fix the problem. -- Trond Myklebust Linux NFS client maintainer NetApp Trond.Myklebust@xxxxxxxxxx www.netapp.com ��.n��������+%������w��{.n�����{��w���jg��������ݢj����G�������j:+v���w�m������w�������h�����٥