[lkml]   [2001]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Patch in this message
SubjectRe: [PATCH] NFSv3 symlink bug
>>>>> " " == David Chow <> writes:

> Not just that. the call to vfs_symlink on an NFS v3 mounted
> filesystem, the dentry that passed to vfs_symlink did not
> result with an inode member it remains null. This also lead to
> problem in the dcache and didn't have a d_instantiate() and
> d_add() in the nfs_symlink() . I have proved this is a bug. in

Wrong. Look again... We do instantiate NFSv3 symlinks.

> kernel version 2.4.0 up to 2.4.10 . Not tested with 2.4.12 and
> 2.4.11 . This will not affect most of the process context

The only bug I can see is if nfs_fhget() fails to allocate a new
inode. In that case we should drop the dentry. That should be a pretty
rare bug though and would only happen under extremely low memory


--- linux-2.4.12/fs/nfs/dir.c.orig Tue Jun 12 20:15:08 2001
+++ linux-2.4.12/fs/nfs/dir.c Sat Oct 13 21:07:26 2001
@@ -928,6 +928,8 @@
&attr, &sym_fh, &sym_attr);
if (!error && sym_fh.size != 0 && (sym_attr.valid & NFS_ATTR_FATTR)) {
error = nfs_instantiate(dentry, &sym_fh, &sym_attr);
+ if (error)
+ d_drop(dentry);
} else {
if (error == -EEXIST)
printk("nfs_proc_symlink: %s/%s already exists??\n",
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:08    [W:0.054 / U:7.844 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site