Commit 44bb9363 authored by Al Viro's avatar Al Viro Committed by David S. Miller

[NET]: Annotate csum_partial() callers in net/*

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 868c86bc
...@@ -293,7 +293,7 @@ extern int memcpy_fromiovecend(unsigned char *kdata, struct iovec *iov, ...@@ -293,7 +293,7 @@ extern int memcpy_fromiovecend(unsigned char *kdata, struct iovec *iov,
extern int csum_partial_copy_fromiovecend(unsigned char *kdata, extern int csum_partial_copy_fromiovecend(unsigned char *kdata,
struct iovec *iov, struct iovec *iov,
int offset, int offset,
unsigned int len, int *csump); unsigned int len, __wsum *csump);
extern int verify_iovec(struct msghdr *m, struct iovec *iov, char *address, int mode); extern int verify_iovec(struct msghdr *m, struct iovec *iov, char *address, int mode);
extern int memcpy_toiovec(struct iovec *v, unsigned char *kdata, int len); extern int memcpy_toiovec(struct iovec *v, unsigned char *kdata, int len);
......
...@@ -151,7 +151,7 @@ typedef struct { ...@@ -151,7 +151,7 @@ typedef struct {
struct sk_buff *skb; struct sk_buff *skb;
unsigned int offset; unsigned int offset;
size_t count; size_t count;
unsigned int csum; __wsum csum;
} skb_reader_t; } skb_reader_t;
typedef size_t (*skb_read_actor_t)(skb_reader_t *desc, void *to, size_t len); typedef size_t (*skb_read_actor_t)(skb_reader_t *desc, void *to, size_t len);
......
...@@ -158,9 +158,9 @@ int memcpy_fromiovecend(unsigned char *kdata, struct iovec *iov, int offset, ...@@ -158,9 +158,9 @@ int memcpy_fromiovecend(unsigned char *kdata, struct iovec *iov, int offset,
* call to this function will be unaligned also. * call to this function will be unaligned also.
*/ */
int csum_partial_copy_fromiovecend(unsigned char *kdata, struct iovec *iov, int csum_partial_copy_fromiovecend(unsigned char *kdata, struct iovec *iov,
int offset, unsigned int len, int *csump) int offset, unsigned int len, __wsum *csump)
{ {
int csum = *csump; __wsum csum = *csump;
int partial_cnt = 0, err = 0; int partial_cnt = 0, err = 0;
/* Skip over the finished iovecs */ /* Skip over the finished iovecs */
......
...@@ -1265,7 +1265,7 @@ unsigned int skb_checksum(const struct sk_buff *skb, int offset, ...@@ -1265,7 +1265,7 @@ unsigned int skb_checksum(const struct sk_buff *skb, int offset,
end = start + skb_shinfo(skb)->frags[i].size; end = start + skb_shinfo(skb)->frags[i].size;
if ((copy = end - offset) > 0) { if ((copy = end - offset) > 0) {
unsigned int csum2; __wsum csum2;
u8 *vaddr; u8 *vaddr;
skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
......
...@@ -682,7 +682,7 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk ...@@ -682,7 +682,7 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk
if (memcpy_fromiovecend(to, iov, offset, len) < 0) if (memcpy_fromiovecend(to, iov, offset, len) < 0)
return -EFAULT; return -EFAULT;
} else { } else {
unsigned int csum = 0; __wsum csum = 0;
if (csum_partial_copy_fromiovecend(to, iov, offset, len, &csum) < 0) if (csum_partial_copy_fromiovecend(to, iov, offset, len, &csum) < 0)
return -EFAULT; return -EFAULT;
skb->csum = csum_block_add(skb->csum, csum, odd); skb->csum = csum_block_add(skb->csum, csum, odd);
...@@ -690,11 +690,11 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk ...@@ -690,11 +690,11 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk
return 0; return 0;
} }
static inline unsigned int static inline __wsum
csum_page(struct page *page, int offset, int copy) csum_page(struct page *page, int offset, int copy)
{ {
char *kaddr; char *kaddr;
unsigned int csum; __wsum csum;
kaddr = kmap(page); kaddr = kmap(page);
csum = csum_partial(kaddr + offset, copy, 0); csum = csum_partial(kaddr + offset, copy, 0);
kunmap(page); kunmap(page);
...@@ -1166,7 +1166,7 @@ ssize_t ip_append_page(struct sock *sk, struct page *page, ...@@ -1166,7 +1166,7 @@ ssize_t ip_append_page(struct sock *sk, struct page *page,
} }
if (skb->ip_summed == CHECKSUM_NONE) { if (skb->ip_summed == CHECKSUM_NONE) {
unsigned int csum; __wsum csum;
csum = csum_page(page, offset, len); csum = csum_page(page, offset, len);
skb->csum = csum_block_add(skb->csum, csum, skb->len); skb->csum = csum_block_add(skb->csum, csum, skb->len);
} }
......
...@@ -151,8 +151,9 @@ static inline void unix_set_secdata(struct scm_cookie *scm, struct sk_buff *skb) ...@@ -151,8 +151,9 @@ static inline void unix_set_secdata(struct scm_cookie *scm, struct sk_buff *skb)
* each socket state is protected by separate rwlock. * each socket state is protected by separate rwlock.
*/ */
static inline unsigned unix_hash_fold(unsigned hash) static inline unsigned unix_hash_fold(__wsum n)
{ {
unsigned hash = (__force unsigned)n;
hash ^= hash>>16; hash ^= hash>>16;
hash ^= hash>>8; hash ^= hash>>8;
return hash&(UNIX_HASH_SIZE-1); return hash&(UNIX_HASH_SIZE-1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment