SUNRPC: Fix use of copy_to_user() in gss_pipe_upcall()
authorChuck Lever <chuck.lever@oracle.com>
Thu, 20 Dec 2007 19:54:27 +0000 (14:54 -0500)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Wed, 30 Jan 2008 07:06:00 +0000 (02:06 -0500)
commit7df089952fca41cb336733e1167c0a25e5a025d8
tree8258f098e1b43cc15fa4c6299d77b6d69a7f45ff
parent59dca3b28cb915745019d4f4c27d97b6b6ab12c6
SUNRPC: Fix use of copy_to_user() in gss_pipe_upcall()

The gss_pipe_upcall() function expects the copy_to_user() function to
return a negative error value if the call fails, but copy_to_user()
returns an unsigned long number of bytes that couldn't be copied.

Can rpc_pipefs actually retry a partially completed upcall read?  If
not, then gss_pipe_upcall() should punt any partial read, just like the
upcall logic in net/sunrpc/cache.c.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
net/sunrpc/auth_gss/auth_gss.c