summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@fys.uio.no>2002-06-02 22:12:03 -0700
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-06-02 22:12:03 -0700
commit0ed9bc096d1ea407cbeab6a13fadcee7e95d7f2a (patch)
treec3851f94e00fee0e7c176abedba5364e26267692 /net
parent8e9c3ec4788046a5b8d128b974d4ce5fd47045d3 (diff)
[PATCH] Fix Oops due to use of incorrect km_type in RPC socket code...
The following has been vetted with davem w.r.t. the change to KM_SKB_DATA. Apologies for the bug... include/asm-*/kmap_types.h: Replace the unused km_type slot KM_SKB_DATA with KM_SKB_SUNRPC_DATA. net/sunrpc/xdr.c: Replace the use of KM_USER0 with KM_SKB_SUNRPC_DATA for copying data from an skb into the page cache when in the sk->data_ready() callback.
Diffstat (limited to 'net')
-rw-r--r--net/sunrpc/xdr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sunrpc/xdr.c b/net/sunrpc/xdr.c
index 069495179e3c..ad9d45174d4b 100644
--- a/net/sunrpc/xdr.c
+++ b/net/sunrpc/xdr.c
@@ -290,7 +290,7 @@ xdr_partial_copy_from_skb(struct xdr_buf *xdr, unsigned int base,
char *kaddr;
len = PAGE_CACHE_SIZE;
- kaddr = kmap_atomic(*ppage, KM_USER0);
+ kaddr = kmap_atomic(*ppage, KM_SKB_SUNRPC_DATA);
if (base) {
len -= base;
if (pglen < len)
@@ -302,7 +302,7 @@ xdr_partial_copy_from_skb(struct xdr_buf *xdr, unsigned int base,
len = pglen;
ret = copy_actor(desc, kaddr, len);
}
- kunmap_atomic(kaddr, KM_USER0);
+ kunmap_atomic(kaddr, KM_SKB_SUNRPC_DATA);
if (ret != len || !desc->count)
return;
ppage++;