Trond Myklebust
347e2233b7
SUNRPC: Fix memory corruption issue on 32-bit highmem systems
...
Some architectures, such as ARM-32 do not return the same base address
when you call kmap_atomic() twice on the same page.
This causes problems for the memmove() call in the XDR helper routine
"_shift_data_right_pages()", since it defeats the detection of
overlapping memory ranges, and has been seen to corrupt memory.
The fix is to distinguish between the case where we're doing an
inter-page copy or not. In the former case of we know that the memory
ranges cannot possibly overlap, so we can additionally micro-optimise
by replacing memmove() with memcpy().
Reported-by: Mark Young <[email protected] >
Reported-by: Matt Craighead <[email protected] >
Cc: Bruce Fields <[email protected] >
Cc: [email protected]
Signed-off-by: Trond Myklebust <[email protected] >
Tested-by: Matt Craighead <[email protected] >
2013-08-28 15:43:43 -04:00
..
auth_gss
svcrpc: set cr_gss_mech from gss-proxy as well as legacy upcall
2013-08-01 08:42:01 -04:00
xprtrdma
Merge branch 'for-3.11' of git://linux-nfs.org/~bfields/linux
2013-07-17 13:43:55 -07:00
addr.c
sunrpc: move address copy/cmp/convert routines and prototypes from clnt.h to addr.h
2013-02-05 09:41:14 -05:00
auth.c
SUNRPC: Don't recognize RPC_AUTH_MAXFLAVOR
2013-04-04 17:01:00 -04:00
auth_generic.c
sunrpc: Convert kuids and kgids to uids and gids for printing
2013-02-13 06:15:19 -08:00
auth_null.c
auth_unix.c
sunrpc: Properly encode kuids and kgids in RPC_AUTH_UNIX credentials
2013-02-13 06:15:24 -08:00
backchannel_rqst.c
SUNRPC: remove two BUG_ON asserts
2012-11-04 14:43:41 -05:00
bc_svc.c
SUNRPC: remove BUG_ON from bc_send
2012-11-04 14:43:41 -05:00
cache.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-07-14 11:42:26 -07:00
clnt.c
SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister
2013-08-07 17:07:18 -04:00
Kconfig
Merge branch 'rpcsec_gss-from_cel' into linux-next
2013-04-23 15:40:40 -04:00
Makefile
netns.h
SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister
2013-08-07 17:07:18 -04:00
rpc_pipe.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-07-14 11:42:26 -07:00
rpcb_clnt.c
SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister
2013-08-07 17:07:18 -04:00
sched.c
NFS client updates for Linux 3.11
2013-07-09 12:09:43 -07:00
socklib.c
stats.c
procfs: new helper - PDE_DATA(inode)
2013-04-09 14:13:32 -04:00
sunrpc.h
sunrpc_syms.c
svc.c
drivers: avoid parsing names as kthread_run() format strings
2013-07-03 16:07:41 -07:00
svc_xprt.c
svcrpc: fix rpc server shutdown races
2013-02-17 10:53:51 -05:00
svcauth.c
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
svcauth_unix.c
svcrpc: fix failures to handle -1 uid's
2013-07-08 17:27:23 -04:00
svcsock.c
NFSD/sunrpc: avoid deadlock on TCP connection due to memory pressure.
2013-08-01 08:39:16 -04:00
sysctl.c
net: Convert uses of typedef ctl_table to struct ctl_table
2013-06-13 02:36:09 -07:00
timer.c
xdr.c
SUNRPC: Fix memory corruption issue on 32-bit highmem systems
2013-08-28 15:43:43 -04:00
xprt.c
SUNRPC: allow disabling idle timeout
2013-04-26 11:41:26 -04:00
xprtsock.c
Merge branch 'for-3.11' of git://linux-nfs.org/~bfields/linux
2013-07-11 10:17:13 -07:00