diff options
| author | Al Viro <viro@zeniv.linux.org.uk> | 2006-11-14 21:17:56 -0800 | 
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-02 21:23:08 -0800 | 
| commit | 59ed05a7e891d694a43df96ac613f7e8e164eb95 (patch) | |
| tree | 90132f4879dcbec3cdd8b04c10fd16b2bce40422 /arch/m68knommu | |
| parent | 2061acaaae0e165f0104ec9d327a02addbcabd62 (diff) | |
| download | linux-59ed05a7e891d694a43df96ac613f7e8e164eb95.tar.bz2 | |
[NET]: M68Knommu checksum annotations and cleanups.
* sanitize prototypes, annotated
* collapsed csum_partial_copy()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/m68knommu')
| -rw-r--r-- | arch/m68knommu/kernel/m68k_ksyms.c | 2 | ||||
| -rw-r--r-- | arch/m68knommu/lib/checksum.c | 28 | 
2 files changed, 15 insertions, 15 deletions
| diff --git a/arch/m68knommu/kernel/m68k_ksyms.c b/arch/m68knommu/kernel/m68k_ksyms.c index 1e62150f3588..25327c9eadd7 100644 --- a/arch/m68knommu/kernel/m68k_ksyms.c +++ b/arch/m68knommu/kernel/m68k_ksyms.c @@ -38,7 +38,7 @@ EXPORT_SYMBOL(ip_fast_csum);  EXPORT_SYMBOL(kernel_thread);  /* Networking helper routines. */ -EXPORT_SYMBOL(csum_partial_copy); +EXPORT_SYMBOL(csum_partial_copy_nocheck);  /* The following are special because they're not called     explicitly (the C compiler generates them).  Fortunately, diff --git a/arch/m68knommu/lib/checksum.c b/arch/m68knommu/lib/checksum.c index 7bec6fdee34b..269d83bfbbe1 100644 --- a/arch/m68knommu/lib/checksum.c +++ b/arch/m68knommu/lib/checksum.c @@ -96,9 +96,9 @@ out:   *	This is a version of ip_compute_csum() optimized for IP headers,   *	which always checksum on 4 octet boundaries.   */ -unsigned short ip_fast_csum(unsigned char * iph, unsigned int ihl) +__sum16 ip_fast_csum(const void *iph, unsigned int ihl)  { -	return ~do_csum(iph,ihl*4); +	return (__force __sum16)~do_csum(iph,ihl*4);  }  /* @@ -113,15 +113,15 @@ unsigned short ip_fast_csum(unsigned char * iph, unsigned int ihl)   *   * it's best to have buff aligned on a 32-bit boundary   */ -unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum) +__wsum csum_partial(const void *buff, int len, __wsum sum)  {  	unsigned int result = do_csum(buff, len);  	/* add in old sum, and carry.. */ -	result += sum; -	if (sum > result) +	result += (__force u32)sum; +	if ((__force u32)sum > result)  		result += 1; -	return result; +	return (__force __wsum)result;  }  EXPORT_SYMBOL(csum_partial); @@ -130,21 +130,21 @@ EXPORT_SYMBOL(csum_partial);   * this routine is used for miscellaneous IP-like checksums, mainly   * in icmp.c   */ -unsigned short ip_compute_csum(const unsigned char * buff, int len) +__sum16 ip_compute_csum(const void *buff, int len)  { -	return ~do_csum(buff,len); +	return (__force __sum16)~do_csum(buff,len);  }  /*   * copy from fs while checksumming, otherwise like csum_partial   */ -unsigned int -csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst, -			    int len, int sum, int *csum_err) +__wsum +csum_partial_copy_from_user(const void __user *src, void *dst, +			    int len, __wsum sum, int *csum_err)  {  	if (csum_err) *csum_err = 0; -	memcpy(dst, src, len); +	memcpy(dst, (__force const void *)src, len);  	return csum_partial(dst, len, sum);  } @@ -152,8 +152,8 @@ csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst,   * copy from ds while checksumming, otherwise like csum_partial   */ -unsigned int -csum_partial_copy(const unsigned char *src, unsigned char *dst, int len, int sum) +__wsum +csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)  {  	memcpy(dst, src, len);  	return csum_partial(dst, len, sum); |