From: Marc Dionne Date: Wed, 5 Dec 2012 23:23:34 +0000 (-0500) Subject: cache bypass: fix afs_bypass_copy_page memcpy oops X-Git-Tag: upstream/1.6.2_pre2^2~44 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=026f73a0328acb3eda7d4f11a5dba1eeef8d6990;p=packages%2Fo%2Fopenafs.git cache bypass: fix afs_bypass_copy_page memcpy oops The two memory copy cases were inverted when the code was refactored, causing an oops when cache bypass is enabled. Reviewed-on: http://gerrit.openafs.org/8617 Tested-by: BuildBot Reviewed-by: Stephan Wiesand Tested-by: Stephan Wiesand Reviewed-by: Derrick Brashear (cherry picked from commit 5b2cc290f8e991b152411168cabd1c9e7f31deb4) Change-Id: Ia5eb577046895a2b38a6be5c4794db9a65893530 Reviewed-on: http://gerrit.openafs.org/8715 Reviewed-by: Stephan Wiesand Tested-by: Stephan Wiesand Tested-by: BuildBot Reviewed-by: Paul Smeddle --- diff --git a/src/afs/afs_bypasscache.c b/src/afs/afs_bypasscache.c index 4dca01cf7..c8f3f7eec 100644 --- a/src/afs/afs_bypasscache.c +++ b/src/afs/afs_bypasscache.c @@ -320,9 +320,9 @@ afs_bypass_copy_page(bypass_page_t pp, int pageoff, struct iovec *rxiov, int dolen; if (partial) - dolen = rxiov[iovno].iov_len - iovoff; - else dolen = auio->uio_iov[curiov].iov_len - pageoff; + else + dolen = rxiov[iovno].iov_len - iovoff; #if !defined(UKERNEL) # if defined(KMAP_ATOMIC_TAKES_NO_KM_TYPE)