X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fum%2Finclude%2Fsysdep-i386%2Fchecksum.h;h=28032d6cd7a9f08e103baf83ef158f44c725b0b2;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=d1ca652a7a3fef78a87e7ea0bf9fcbd3fecfa253;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/um/include/sysdep-i386/checksum.h b/arch/um/include/sysdep-i386/checksum.h index d1ca652a7..28032d6cd 100644 --- a/arch/um/include/sysdep-i386/checksum.h +++ b/arch/um/include/sysdep-i386/checksum.h @@ -5,6 +5,7 @@ #ifndef __UM_SYSDEP_CHECKSUM_H #define __UM_SYSDEP_CHECKSUM_H +#include "linux/in6.h" #include "linux/string.h" /* @@ -30,10 +31,10 @@ unsigned int csum_partial(const unsigned char * buff, int len, * better 64-bit) boundary */ -unsigned int csum_partial_copy_to(const char *src, char *dst, int len, - int sum, int *err_ptr); -unsigned int csum_partial_copy_from(const char *src, char *dst, int len, - int sum, int *err_ptr); +unsigned int csum_partial_copy_to(const unsigned char *src, unsigned char *dst, + int len, int sum, int *err_ptr); +unsigned int csum_partial_copy_from(const unsigned char *src, unsigned char *dst, + int len, int sum, int *err_ptr); /* * Note: when you get a NULL pointer exception here this means someone @@ -44,7 +45,7 @@ unsigned int csum_partial_copy_from(const char *src, char *dst, int len, */ static __inline__ -unsigned int csum_partial_copy_nocheck(const char *src, char *dst, +unsigned int csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst, int len, int sum) { memcpy(dst, src, len); @@ -52,7 +53,7 @@ unsigned int csum_partial_copy_nocheck(const char *src, char *dst, } static __inline__ -unsigned int csum_partial_copy_from_user(const char *src, char *dst, +unsigned int csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst, int len, int sum, int *err_ptr) { return csum_partial_copy_from(src, dst, len, sum, err_ptr); @@ -66,7 +67,7 @@ unsigned int csum_partial_copy_from_user(const char *src, char *dst, */ #define csum_partial_copy_fromuser csum_partial_copy_from_user -unsigned int csum_partial_copy( const char *src, char *dst, int len, int sum); +unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst, int len, int sum); /* * This is a version of ip_compute_csum() optimized for IP headers, @@ -102,7 +103,8 @@ static inline unsigned short ip_fast_csum(unsigned char * iph, are modified, we must also specify them as outputs, or gcc will assume they contain their original values. */ : "=r" (sum), "=r" (iph), "=r" (ihl) - : "1" (iph), "2" (ihl)); + : "1" (iph), "2" (ihl) + : "memory"); return(sum); } @@ -190,9 +192,9 @@ static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr, * Copy and checksum to user */ #define HAVE_CSUM_COPY_USER -static __inline__ unsigned int csum_and_copy_to_user(const char *src, - char *dst, int len, - int sum, int *err_ptr) +static __inline__ unsigned int csum_and_copy_to_user(const unsigned char *src, + unsigned char *dst, + int len, int sum, int *err_ptr) { if (access_ok(VERIFY_WRITE, dst, len)) return(csum_partial_copy_to(src, dst, len, sum, err_ptr));