linux/fs/nfs
Linus Torvalds cc314eef01 Fix nasty ncpfs symlink handling bug.
This bug could cause oopses and page state corruption, because ncpfs
used the generic page-cache symlink handlign functions.  But those
functions only work if the page cache is guaranteed to be "stable", ie a
page that was installed when the symlink walk was started has to still
be installed in the page cache at the end of the walk.

We could have fixed ncpfs to not use the generic helper routines, but it
is in many ways much cleaner to instead improve on the symlink walking
helper routines so that they don't require that absolute stability.

We do this by allowing "follow_link()" to return a error-pointer as a
cookie, which is fed back to the cleanup "put_link()" routine.  This
also simplifies NFS symlink handling.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-19 18:02:56 -07:00
..
callback_proc.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
callback_xdr.c [PATCH] NFSv4: Fix an Oops in the callback code. 2005-06-22 16:07:29 -04:00
callback.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
callback.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delegation.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
delegation.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dir.c [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
direct.c [PATCH] Remove f_error field from struct file 2005-06-23 09:45:33 -07:00
file.c [PATCH] NFS: split nfsi->flags into two fields 2005-08-18 12:53:56 -07:00
idmap.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
inode.c [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
Makefile [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
mount_clnt.c [PATCH] RPC: Make rpc_create_client() destroy the transport on failure. 2005-06-22 16:07:03 -04:00
nfs2xdr.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfs3acl.c [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
nfs3proc.c [PATCH] NFS: Ensure we always update inode->i_mode when doing O_EXCL creates 2005-08-16 09:30:58 -07:00
nfs3xdr.c [PATCH] fix nfsacl pointer arithmetic and pg_class initialization bugs 2005-06-22 16:07:27 -04:00
nfs4_fs.h [PATCH] NFSv4: Clean up nfs4 lock state accounting 2005-06-22 16:07:42 -04:00
nfs4proc.c [PATCH] NFS: Ensure we always update inode->i_mode when doing O_EXCL creates 2005-08-16 09:30:58 -07:00
nfs4renewd.c [PATCH] NFS: Header file cleanup... 2005-06-22 16:07:06 -04:00
nfs4state.c [PATCH] NFSv4: Clean up nfs4 lock state accounting 2005-06-22 16:07:42 -04:00
nfs4xdr.c [PATCH] NFS: Add debugging code to NFSv4 readdir 2005-06-22 16:07:44 -04:00
nfsroot.c [PATCH] NFS: Add support for NFSv3 ACLs 2005-06-22 16:07:24 -04:00
pagelist.c [PATCH] NFS: Replace nfs_page insertion sort with a radix sort 2005-06-22 16:07:39 -04:00
proc.c [PATCH] NFS: Ensure we always update inode->i_mode when doing O_EXCL creates 2005-08-16 09:30:58 -07:00
read.c [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
symlink.c Fix nasty ncpfs symlink handling bug. 2005-08-19 18:02:56 -07:00
unlink.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
write.c [PATCH] NFS: Replace nfs_page insertion sort with a radix sort 2005-06-22 16:07:39 -04:00