diff options
| author | Trond Myklebust <trond.myklebust@fys.uio.no> | 2002-06-02 22:12:03 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-06-02 22:12:03 -0700 |
| commit | 0ed9bc096d1ea407cbeab6a13fadcee7e95d7f2a (patch) | |
| tree | c3851f94e00fee0e7c176abedba5364e26267692 | |
| parent | 8e9c3ec4788046a5b8d128b974d4ce5fd47045d3 (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.
| -rw-r--r-- | include/asm-i386/kmap_types.h | 2 | ||||
| -rw-r--r-- | include/asm-ppc/kmap_types.h | 2 | ||||
| -rw-r--r-- | include/asm-sparc/kmap_types.h | 2 | ||||
| -rw-r--r-- | include/asm-x86_64/kmap_types.h | 2 | ||||
| -rw-r--r-- | net/sunrpc/xdr.c | 4 |
5 files changed, 6 insertions, 6 deletions
diff --git a/include/asm-i386/kmap_types.h b/include/asm-i386/kmap_types.h index deada0ad2493..9a12267d3a4f 100644 --- a/include/asm-i386/kmap_types.h +++ b/include/asm-i386/kmap_types.h @@ -11,7 +11,7 @@ enum km_type { D(0) KM_BOUNCE_READ, -D(1) KM_SKB_DATA, +D(1) KM_SKB_SUNRPC_DATA, D(2) KM_SKB_DATA_SOFTIRQ, D(3) KM_USER0, D(4) KM_USER1, diff --git a/include/asm-ppc/kmap_types.h b/include/asm-ppc/kmap_types.h index 60b5507a51af..99fec407abf5 100644 --- a/include/asm-ppc/kmap_types.h +++ b/include/asm-ppc/kmap_types.h @@ -7,7 +7,7 @@ enum km_type { KM_BOUNCE_READ, - KM_SKB_DATA, + KM_SKB_SUNRPC_DATA, KM_SKB_DATA_SOFTIRQ, KM_USER0, KM_USER1, diff --git a/include/asm-sparc/kmap_types.h b/include/asm-sparc/kmap_types.h index af85f6354684..7e9a5661c698 100644 --- a/include/asm-sparc/kmap_types.h +++ b/include/asm-sparc/kmap_types.h @@ -3,7 +3,7 @@ enum km_type { KM_BOUNCE_READ, - KM_SKB_DATA, + KM_SKB_SUNRPC_DATA, KM_SKB_DATA_SOFTIRQ, KM_USER0, KM_USER1, diff --git a/include/asm-x86_64/kmap_types.h b/include/asm-x86_64/kmap_types.h index af85f6354684..7e9a5661c698 100644 --- a/include/asm-x86_64/kmap_types.h +++ b/include/asm-x86_64/kmap_types.h @@ -3,7 +3,7 @@ enum km_type { KM_BOUNCE_READ, - KM_SKB_DATA, + KM_SKB_SUNRPC_DATA, KM_SKB_DATA_SOFTIRQ, KM_USER0, KM_USER1, 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++; |
