[NET]: Annotate csum_partial() callers in net/*
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
868c86bcb5
commit
44bb93633f
@ -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 {
|
|||||||
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,
|
|||||||
* 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,
|
|||||||
|
|
||||||
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
|
|||||||
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
|
|||||||
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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
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)
|
|||||||
* 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);
|
||||||
|
Loading…
Reference in New Issue
Block a user