linux/fs/nfs
NeilBrown 62d98c9354 NFS4: avoid underflow when converting error to pointer.
In nfs4_create_sec_client, 'flavor' can hold a negative error
code (returned from nfs4_negotiate_security), even though it
is an 'enum' and hence unsigned.

The code is careful to cast it to an (int) before testing if it
is negative, however it doesn't cast to an (int) before calling
ERR_PTR.

On a machine where "void*" is larger than "int", this results in
the unsigned equivalent of -1 (e.g. 0xffffffff) being converted
to a pointer.  Subsequent code determines that this is not
negative, and so  dereferences it with predictable results.

So: cast 'flavor' to a (signed) int before passing to ERR_PTR.

cc: Benny Halevy <bhalevy@tonian.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-09-25 10:38:54 -04:00
..
blocklayout pnfsblock: bail out partial page IO 2012-07-30 18:52:06 -04:00
objlayout pnfs-obj: Better IO pattern in case of unaligned offset 2012-08-02 17:42:51 -04:00
cache_lib.c NFS: remove RPC PipeFS mount point references from NFS cache routines 2012-01-31 18:20:26 -05:00
cache_lib.h NFS: DNS resolver PipeFS notifier introduced 2012-01-31 18:20:26 -05:00
callback_proc.c NFSv4: Further clean-ups of delegation stateid validation 2012-03-06 10:32:44 -05:00
callback_xdr.c SUNRPC: service request network namespace helper introduced 2012-07-27 16:49:21 -04:00
callback.c nfs: increase number of permitted callback connections. 2012-07-31 12:33:29 -04:00
callback.h NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
client.c NFS: Fix a regression when loading the NFS v4 module 2012-08-16 16:15:49 -04:00
delegation.c NFS: Create a return_delegation rpc op 2012-06-29 11:46:45 -04:00
delegation.h NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
dir.c NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
direct.c Merge branch 'akpm' (Andrew's patch-bomb) 2012-07-31 19:25:39 -07:00
dns_resolve.c NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
dns_resolve.h NFS: DNS resolver cache per network namespace context introduced 2012-01-31 18:20:26 -05:00
file.c NFS: fsync() must exit with an error if page writeback failed 2012-09-11 15:38:32 -04:00
fscache-index.c NFS: Use the inode->i_version to cache NFSv4 change attribute information 2011-10-18 09:14:34 -07:00
fscache.c NFS: Don't pass mount data to nfs_fscache_get_super_cookie() 2012-05-14 17:30:26 -07:00
fscache.h NFS: Fix a compile issue when CONFIG_NFS_FSCACHE was undefined 2012-05-16 10:24:20 -07:00
getroot.c NFS: Move the v4 getroot code to nfs4getroot.c 2012-07-17 13:33:51 -04:00
idmap.c NFS: return -ENOKEY when the upcall fails to map the name 2012-08-16 17:20:06 -04:00
inode.c NFS: Fix the initialisation of the readdir 'cookieverf' array 2012-09-04 14:52:42 -04:00
internal.h Merge branch 'akpm' (Andrew's patch-bomb) 2012-07-31 19:25:39 -07:00
iostat.h
Kconfig Merge branch 'akpm' (Andrew's patch-bomb) 2012-07-31 19:25:39 -07:00
Makefile NFS: Fix a regression when loading the NFS v4 module 2012-08-16 16:15:49 -04:00
mount_clnt.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
namespace.c NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
netns.h NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
nfs2super.c NFS: Convert v2 into a module 2012-07-30 19:06:41 -04:00
nfs2xdr.c NFS: Let xdr_read_pages() check for buffer overflows 2012-06-28 17:20:43 -04:00
nfs3acl.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
nfs3client.c NFS: Only initialize the ACL client in the v3 case 2012-07-30 19:05:54 -04:00
nfs3proc.c NFS: Fix the initialisation of the readdir 'cookieverf' array 2012-09-04 14:52:42 -04:00
nfs3super.c NFS: Convert v3 into a module 2012-07-30 19:06:46 -04:00
nfs3xdr.c NFS: Cleanup - only store the write verifier in struct nfs_page 2012-06-28 17:20:50 -04:00
nfs4_fs.h NFS: Fix a regression when loading the NFS v4 module 2012-08-16 16:15:49 -04:00
nfs4client.c NFSv4: Ensure that nfs4_alloc_client cleans up on error. 2012-08-20 12:12:29 -04:00
nfs4file.c NFS: fsync() must exit with an error if page writeback failed 2012-09-11 15:38:32 -04:00
nfs4filelayout.c NFSv4.1 don't send LAYOUTCOMMIT if data resent through MDS 2012-07-16 14:37:00 -04:00
nfs4filelayout.h NFSv4.1 resend LAYOUTGET on data server invalid layout errors 2012-05-19 17:55:33 -04:00
nfs4filelayoutdev.c NFSv4.1: Use session max response size for GETDEVICEINFO gdia_maxcount 2012-06-28 17:20:50 -04:00
nfs4getroot.c NFS: Move the v4 getroot code to nfs4getroot.c 2012-07-17 13:33:51 -04:00
nfs4namespace.c NFS4: avoid underflow when converting error to pointer. 2012-09-25 10:38:54 -04:00
nfs4proc.c NFS: fix the return value check by using IS_ERR 2012-09-25 10:36:37 -04:00
nfs4renewd.c NFS: Add NFSDBG_STATE 2012-05-22 16:45:42 -04:00
nfs4state.c NFS: Clean up nfs4_proc_setclientid() and friends 2012-07-16 15:12:16 -04:00
nfs4super.c NFS: Fix a regression when loading the NFS v4 module 2012-08-16 16:15:49 -04:00
nfs4sysctl.c NFS: Initialize v4 sysctls from nfs_init_v4() 2012-07-17 13:33:18 -04:00
nfs4xdr.c NFS: return error from decode_getfh in decode open 2012-09-06 16:01:33 -04:00
nfs.h NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
nfsroot.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
pagelist.c NFS41: add pg_layout_private to nfs_pageio_descriptor 2012-08-02 17:41:18 -04:00
pnfs_dev.c NFS: Fix more NFS debug related build warnings 2012-03-21 09:31:44 -04:00
pnfs.c pnfs: defer release of pages in layoutget 2012-08-02 17:38:54 -04:00
pnfs.h pnfs: nfs4_proc_layoutget returns void 2012-08-02 17:39:06 -04:00
proc.c NFS: Only initialize the ACL client in the v3 case 2012-07-30 19:05:54 -04:00
read.c Merge branch 'akpm' (Andrew's patch-bomb) 2012-07-31 19:25:39 -07:00
super.c NFS: Fix a problem with the legacy binary mount code 2012-09-04 14:52:43 -04:00
symlink.c
sysctl.c NFS: Initialize v4 sysctls from nfs_init_v4() 2012-07-17 13:33:18 -04:00
unlink.c NFS: Create a return_delegation rpc op 2012-06-29 11:46:45 -04:00
write.c nfs: tear down caches in nfs_init_writepagecache when allocation fails 2012-08-02 17:36:07 -04:00