[patch] [gcc4/cleanup] warning: pointer targets in passing argument * of 'csum*' differ in signedness

From: PaweÅ Sikora
Date: Mon Jan 10 2005 - 18:48:54 EST


Hi,

Attached patch kills tons of gcc4 warnings.

Regards,
PaweÅ.

--
/* Copyright (C) 2003, SCO, Inc. This is valuable Intellectual Property. */

#define say(x) lie(x)
arch/ia64/lib/csum_partial_copy.c | 11 ++++++-----
arch/m32r/lib/csum_partial_copy.c | 7 +++----
arch/m68k/lib/checksum.c | 6 +++---
arch/m68knommu/lib/checksum.c | 5 +++--
arch/parisc/lib/checksum.c | 4 ++--
arch/sh64/lib/c-checksum.c | 8 ++++----
arch/um/include/sysdep-i386/checksum.h | 20 ++++++++++----------
arch/um/kernel/checksum.c | 12 ++++++------
arch/v850/lib/checksum.c | 4 ++--
arch/x86_64/lib/csum-wrappers.c | 6 +++---
include/asm-i386/checksum.h | 16 ++++++++--------
include/asm-mips/checksum.h | 10 +++++-----
include/asm-parisc/checksum.h | 10 ++++++----
include/asm-sh/checksum.h | 12 ++++++------
include/asm-sparc/checksum.h | 8 ++++----
include/asm-sparc64/checksum.h | 12 +++++++-----
include/asm-x86_64/checksum.h | 8 ++++----
include/linux/skbuff.h | 2 +-
include/net/checksum.h | 4 ++--
include/net/sock.h | 2 +-
20 files changed, 86 insertions(+), 81 deletions(-)

--- a/arch/ia64/lib/csum_partial_copy.c 2004-12-24 22:35:00.000000000 +0100
+++ b/arch/ia64/lib/csum_partial_copy.c 2005-01-10 23:55:12.427963464 +0100
@@ -105,8 +105,8 @@
extern unsigned long do_csum(const unsigned char *, long);

static unsigned int
-do_csum_partial_copy_from_user (const char __user *src, char *dst, int len,
- unsigned int psum, int *errp)
+do_csum_partial_copy_from_user (const unsigned char __user *src, unsigned char *dst,
+ int len, unsigned int psum, int *errp)
{
unsigned long result;

@@ -129,8 +129,8 @@
}

unsigned int
-csum_partial_copy_from_user (const char __user *src, char *dst, int len,
- unsigned int sum, int *errp)
+csum_partial_copy_from_user (const unsigned char __user *src, unsigned char *dst,
+ int len, unsigned int sum, int *errp)
{
if (!access_ok(VERIFY_READ, src, len)) {
*errp = -EFAULT;
@@ -142,7 +142,8 @@
}

unsigned int
-csum_partial_copy_nocheck(const char __user *src, char *dst, int len, unsigned int sum)
+csum_partial_copy_nocheck(const unsigned char __user *src, unsigned char *dst,
+ int len, unsigned int sum)
{
return do_csum_partial_copy_from_user(src, dst, len, sum, NULL);
}
--- a/arch/m32r/lib/csum_partial_copy.c 2004-12-24 22:33:48.000000000 +0100
+++ b/arch/m32r/lib/csum_partial_copy.c 2005-01-10 23:55:12.429963160 +0100
@@ -27,7 +27,7 @@
/*
* Copy while checksumming, otherwise like csum_partial
*/
-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, unsigned int sum)
{
sum = csum_partial(src, len, sum);
@@ -41,9 +41,8 @@
* Copy from userspace and compute checksum. If we catch an exception
* then zero the rest of the buffer.
*/
-unsigned int csum_partial_copy_from_user (const char __user *src, char *dst,
- int len, unsigned int sum,
- int *err_ptr)
+unsigned int csum_partial_copy_from_user (const unsigned char __user *src, unsigned char *dst,
+ int len, unsigned int sum, int *err_ptr)
{
int missing;

--- a/arch/m68k/lib/checksum.c 2004-12-24 22:35:40.000000000 +0100
+++ b/arch/m68k/lib/checksum.c 2005-01-10 23:55:12.431962856 +0100
@@ -134,8 +134,8 @@
*/

unsigned int
-csum_partial_copy_from_user(const char *src, char *dst, int len,
- int sum, int *csum_err)
+csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst,
+ int len, int sum, int *csum_err)
{
/*
* GCC doesn't like more than 10 operands for the asm
@@ -326,7 +326,7 @@
*/

unsigned int
-csum_partial_copy_nocheck(const char *src, char *dst, int len, int sum)
+csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst, int len, int sum)
{
unsigned long tmp1, tmp2;
__asm__("movel %2,%4\n\t"
--- a/arch/m68knommu/lib/checksum.c 2004-12-24 22:35:50.000000000 +0100
+++ b/arch/m68knommu/lib/checksum.c 2005-01-10 23:55:12.433962552 +0100
@@ -139,7 +139,8 @@
*/

unsigned int
-csum_partial_copy_from_user(const char *src, char *dst, int len, int sum, int *csum_err)
+csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst,
+ int len, int sum, int *csum_err)
{
if (csum_err) *csum_err = 0;
memcpy(dst, src, len);
@@ -151,7 +152,7 @@
*/

unsigned int
-csum_partial_copy(const char *src, char *dst, int len, int sum)
+csum_partial_copy(const unsigned char *src, unsigned char *dst, int len, int sum)
{
memcpy(dst, src, len);
return csum_partial(dst, len, sum);
--- a/arch/parisc/lib/checksum.c 2004-12-24 22:35:01.000000000 +0100
+++ b/arch/parisc/lib/checksum.c 2005-01-10 23:55:12.435962248 +0100
@@ -113,7 +113,7 @@
/*
* copy while checksumming, otherwise like csum_partial
*/
-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, unsigned int sum)
{
/*
@@ -131,7 +131,7 @@
* Copy from userspace and compute checksum. If we catch an exception
* then zero the rest of the buffer.
*/
-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, unsigned int sum,
int *err_ptr)
{
--- a/arch/sh64/lib/c-checksum.c 2004-12-24 22:34:58.000000000 +0100
+++ b/arch/sh64/lib/c-checksum.c 2005-01-10 23:55:12.437961944 +0100
@@ -136,7 +136,7 @@

/* Copy while checksumming, otherwise like csum_partial. */
unsigned int
-csum_partial_copy(const char *src, char *dst, int len, unsigned int sum)
+csum_partial_copy(const unsigned char *src, unsigned char *dst, int len, unsigned int sum)
{
sum = csum_partial(src, len, sum);
memcpy(dst, src, len);
@@ -147,7 +147,7 @@
/* Copy from userspace and compute checksum. If we catch an exception
then zero the rest of the buffer. */
unsigned int
-csum_partial_copy_from_user(const char *src, char *dst, int len,
+csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst, int len,
unsigned int sum, int *err_ptr)
{
int missing;
@@ -168,7 +168,7 @@

/* Copy to userspace and compute checksum. */
unsigned int
-csum_partial_copy_to_user(const char *src, char *dst, int len,
+csum_partial_copy_to_user(const unsigned char *src, unsigned char *dst, int len,
unsigned int sum, int *err_ptr)
{
sum = csum_partial(src, len, sum);
@@ -221,7 +221,7 @@

// Post SIM:
unsigned int
-csum_partial_copy_nocheck(const char *src, char *dst, int len, unsigned int sum)
+csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst, int len, unsigned int sum)
{
// unsigned dummy;
pr_debug("csum_partial_copy_nocheck src %p dst %p len %d\n", src, dst,
--- a/arch/um/include/sysdep-i386/checksum.h 2004-12-24 22:35:50.000000000 +0100
+++ b/arch/um/include/sysdep-i386/checksum.h 2005-01-10 23:55:12.439961640 +0100
@@ -31,10 +31,10 @@
* 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
@@ -45,7 +45,7 @@
*/

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);
@@ -53,7 +53,7 @@
}

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);
@@ -67,7 +67,7 @@
*/

#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,
@@ -192,9 +192,9 @@
* 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));
--- a/arch/um/kernel/checksum.c 2004-12-24 22:35:01.000000000 +0100
+++ b/arch/um/kernel/checksum.c 2005-01-10 23:55:12.441961336 +0100
@@ -2,17 +2,17 @@
#include "linux/errno.h"
#include "linux/module.h"

-extern unsigned int arch_csum_partial(const char *buff, int len, int sum);
+extern unsigned int arch_csum_partial(const unsigned char *buff, int len, int sum);

-extern unsigned int csum_partial(char *buff, int len, int sum)
+extern unsigned int csum_partial(unsigned char *buff, int len, int sum)
{
return(arch_csum_partial(buff, len, sum));
}

EXPORT_SYMBOL(csum_partial);

-unsigned int csum_partial_copy_to(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)
{
if(copy_to_user(dst, src, len)){
*err_ptr = -EFAULT;
@@ -22,8 +22,8 @@
return(arch_csum_partial(src, len, sum));
}

-unsigned int csum_partial_copy_from(const char *src, 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)
{
if(copy_from_user(dst, src, len)){
*err_ptr = -EFAULT;
--- a/arch/v850/lib/checksum.c 2004-12-24 22:35:28.000000000 +0100
+++ b/arch/v850/lib/checksum.c 2005-01-10 23:55:12.443961032 +0100
@@ -121,7 +121,7 @@
/*
* copy while checksumming, otherwise like csum_partial
*/
-unsigned int csum_partial_copy(const char *src, char *dst,
+unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst,
int len, unsigned int sum)
{
/*
@@ -138,7 +138,7 @@
* Copy from userspace and compute checksum. If we catch an exception
* then zero the rest of the buffer.
*/
-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, unsigned int sum,
int *err_ptr)
{
--- a/arch/x86_64/lib/csum-wrappers.c 2004-12-24 22:33:48.000000000 +0100
+++ b/arch/x86_64/lib/csum-wrappers.c 2005-01-10 23:55:12.424963920 +0100
@@ -19,7 +19,7 @@
* src and dst are best aligned to 64bits.
*/
unsigned int
-csum_partial_copy_from_user(const char __user *src, char *dst,
+csum_partial_copy_from_user(const unsigned char __user *src, unsigned char *dst,
int len, unsigned int isum, int *errp)
{
might_sleep();
@@ -67,7 +67,7 @@
* src and dst are best aligned to 64bits.
*/
unsigned int
-csum_partial_copy_to_user(const char *src, char __user *dst,
+csum_partial_copy_to_user(unsigned const char *src, unsigned char __user *dst,
int len, unsigned int isum, int *errp)
{
might_sleep();
@@ -105,7 +105,7 @@
* Returns an 32bit unfolded checksum of the buffer.
*/
unsigned int
-csum_partial_copy_nocheck(const char *src, char *dst, int len, unsigned int sum)
+csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst, int len, unsigned int sum)
{
return csum_partial_copy_generic(src,dst,len,sum,NULL,NULL);
}
--- a/include/asm-i386/checksum.h 2004-12-24 22:35:59.000000000 +0100
+++ b/include/asm-i386/checksum.h 2005-01-10 23:55:51.009098240 +0100
@@ -25,8 +25,8 @@
* better 64-bit) boundary
*/

-asmlinkage unsigned int csum_partial_copy_generic( const char *src, char *dst, int len, int sum,
- int *src_err_ptr, int *dst_err_ptr);
+asmlinkage unsigned int csum_partial_copy_generic(const unsigned char *src, unsigned char *dst,
+ int len, int sum, int *src_err_ptr, int *dst_err_ptr);

/*
* Note: when you get a NULL pointer exception here this means someone
@@ -36,18 +36,18 @@
* verify_area().
*/
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)
{
return csum_partial_copy_generic ( src, dst, len, sum, NULL, NULL);
}

static __inline__
-unsigned int csum_partial_copy_from_user(const char __user *src, char *dst,
+unsigned int csum_partial_copy_from_user(const unsigned char __user *src, unsigned char *dst,
int len, int sum, int *err_ptr)
{
might_sleep();
- return csum_partial_copy_generic((__force char *)src, dst,
+ return csum_partial_copy_generic((__force unsigned char *)src, dst,
len, sum, err_ptr, NULL);
}

@@ -174,14 +174,14 @@
* Copy and checksum to user
*/
#define HAVE_CSUM_COPY_USER
-static __inline__ unsigned int csum_and_copy_to_user(const char *src,
- char __user *dst,
+static __inline__ unsigned int csum_and_copy_to_user(const unsigned char *src,
+ unsigned char __user *dst,
int len, int sum,
int *err_ptr)
{
might_sleep();
if (access_ok(VERIFY_WRITE, dst, len))
- return csum_partial_copy_generic(src, (__force char *)dst, len, sum, NULL, err_ptr);
+ return csum_partial_copy_generic(src, (__force unsigned char *)dst, len, sum, NULL, err_ptr);

if (len)
*err_ptr = -EFAULT;
--- a/include/asm-mips/checksum.h 2004-12-24 22:33:51.000000000 +0100
+++ b/include/asm-mips/checksum.h 2005-01-10 23:55:12.409966200 +0100
@@ -34,15 +34,15 @@
* this is a new version of the above that records errors it finds in *errp,
* but continues and zeros the rest of the buffer.
*/
-unsigned int csum_partial_copy_from_user(const char *src, char *dst, int len,
+unsigned int csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst, int len,
unsigned int sum, int *errp);

/*
* Copy and checksum to user
*/
#define HAVE_CSUM_COPY_USER
-static inline unsigned int csum_and_copy_to_user (const char *src,
- char __user *dst,
+static inline unsigned int csum_and_copy_to_user (const unsigned char *src,
+ unsigned char __user *dst,
int len, int sum,
int *err_ptr)
{
@@ -61,8 +61,8 @@
* the same as csum_partial, but copies from user space (but on MIPS
* we have just one address space, so this is identical to the above)
*/
-unsigned int csum_partial_copy_nocheck(const char *src, char *dst, int len,
- unsigned int sum);
+unsigned int csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst,
+ int len, unsigned int sum);

/*
* Fold a partial checksum without adding pseudo headers
--- a/include/asm-parisc/checksum.h 2004-12-24 22:34:00.000000000 +0100
+++ b/include/asm-parisc/checksum.h 2005-01-10 23:55:12.412965744 +0100
@@ -23,13 +23,15 @@
* Here even more important to align src and dst on a 32-bit (or even
* better 64-bit) boundary
*/
-extern unsigned int csum_partial_copy_nocheck(const char *, char *, int, unsigned int);
+extern unsigned int csum_partial_copy_nocheck(const unsigned char *, unsigned char *,
+ int, unsigned int);

/*
* this is a new version of the above that records errors it finds in *errp,
* but continues and zeros the rest of the buffer.
*/
-extern unsigned int csum_partial_copy_from_user(const char *src, char *dst, int len, unsigned int sum, int *errp);
+extern unsigned int csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst,
+ int len, unsigned int sum, int *errp);

/*
* Optimized for IP headers, which always checksum on 4 octet boundaries.
@@ -191,8 +193,8 @@
* Copy and checksum to user
*/
#define HAVE_CSUM_COPY_USER
-static __inline__ unsigned int csum_and_copy_to_user (const char *src,
- char __user *dst,
+static __inline__ unsigned int csum_and_copy_to_user (const unsigned char *src,
+ unsigned char __user *dst,
int len, int sum,
int *err_ptr)
{
--- a/include/asm-sh/checksum.h 2004-12-24 22:34:01.000000000 +0100
+++ b/include/asm-sh/checksum.h 2005-01-10 23:55:12.414965440 +0100
@@ -34,8 +34,8 @@
* better 64-bit) boundary
*/

-asmlinkage unsigned int csum_partial_copy_generic( const char *src, char *dst, int len, int sum,
- int *src_err_ptr, int *dst_err_ptr);
+asmlinkage unsigned int csum_partial_copy_generic(const unsigned char *src, unsigned char *dst,
+ int len, int sum, int *src_err_ptr, int *dst_err_ptr);

/*
* Note: when you get a NULL pointer exception here this means someone
@@ -45,14 +45,14 @@
* verify_area().
*/
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)
{
return csum_partial_copy_generic ( src, dst, len, sum, NULL, NULL);
}

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_generic ( src, dst, len, sum, err_ptr, NULL);
@@ -200,8 +200,8 @@
* Copy and checksum to user
*/
#define HAVE_CSUM_COPY_USER
-static __inline__ unsigned int csum_and_copy_to_user (const char *src,
- char __user *dst,
+static __inline__ unsigned int csum_and_copy_to_user (const unsigned char *src,
+ unsigned char __user *dst,
int len, int sum,
int *err_ptr)
{
--- a/include/asm-sparc/checksum.h 2004-12-24 22:33:47.000000000 +0100
+++ b/include/asm-sparc/checksum.h 2005-01-10 23:55:12.416965136 +0100
@@ -39,10 +39,10 @@
* better 64-bit) boundary
*/

-extern unsigned int __csum_partial_copy_sparc_generic (const char *, char *);
+extern unsigned int __csum_partial_copy_sparc_generic (const unsigned char *, unsigned char *);

static inline unsigned int
-csum_partial_copy_nocheck (const char *src, char *dst, int len,
+csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst, int len,
unsigned int sum)
{
register unsigned int ret asm("o0") = (unsigned int)src;
@@ -61,7 +61,7 @@
}

static inline unsigned int
-csum_partial_copy_from_user(const char *src, char *dst, int len,
+csum_partial_copy_from_user(const unsigned char *src, unsigned char *dst, int len,
unsigned int sum, int *err)
{
if (!access_ok (VERIFY_READ, src, len)) {
@@ -91,7 +91,7 @@
}

static inline unsigned int
-csum_partial_copy_to_user(const char *src, char __user *dst, int len,
+csum_partial_copy_to_user(const unsigned char *src, unsigned char __user *dst, int len,
unsigned int sum, int *err)
{
if (!access_ok (VERIFY_WRITE, dst, len)) {
--- a/include/asm-sparc64/checksum.h 2004-12-24 22:34:30.000000000 +0100
+++ b/include/asm-sparc64/checksum.h 2005-01-10 23:55:12.418964832 +0100
@@ -38,10 +38,11 @@
* here even more important to align src and dst on a 32-bit (or even
* better 64-bit) boundary
*/
-extern unsigned int csum_partial_copy_sparc64(const char *src, char *dst, int len, unsigned int sum);
+extern unsigned int csum_partial_copy_sparc64(const unsigned char *src, unsigned char *dst,
+ int len, unsigned int sum);

static inline unsigned int
-csum_partial_copy_nocheck (const char *src, char *dst, int len,
+csum_partial_copy_nocheck (const unsigned char *src, unsigned char *dst, int len,
unsigned int sum)
{
int ret;
@@ -53,7 +54,7 @@
}

static inline unsigned int
-csum_partial_copy_from_user(const char __user *src, char *dst, int len,
+csum_partial_copy_from_user(const unsigned char __user *src, unsigned char *dst, int len,
unsigned int sum, int *err)
{
__asm__ __volatile__ ("stx %0, [%%sp + 0x7ff + 128]"
@@ -66,10 +67,11 @@
* Copy and checksum to user
*/
#define HAVE_CSUM_COPY_USER
-extern unsigned int csum_partial_copy_user_sparc64(const char *src, char __user *dst, int len, unsigned int sum);
+extern unsigned int csum_partial_copy_user_sparc64(const unsigned char *src, unsigned char __user *dst,
+ int len, unsigned int sum);

static inline unsigned int
-csum_and_copy_to_user(const char *src, char __user *dst, int len,
+csum_and_copy_to_user(const unsigned char *src, unsigned char __user *dst, int len,
unsigned int sum, int *err)
{
__asm__ __volatile__ ("stx %0, [%%sp + 0x7ff + 128]"
--- a/include/asm-x86_64/checksum.h 2004-12-24 22:35:23.000000000 +0100
+++ b/include/asm-x86_64/checksum.h 2005-01-10 23:55:12.420964528 +0100
@@ -133,17 +133,17 @@


/* Do not call this directly. Use the wrappers below */
-extern unsigned long csum_partial_copy_generic(const char *src, const char *dst,
+extern unsigned long csum_partial_copy_generic(const unsigned char *src, const unsigned char *dst,
unsigned len,
unsigned sum,
int *src_err_ptr, int *dst_err_ptr);


-extern unsigned int csum_partial_copy_from_user(const char __user *src, char *dst,
+extern unsigned int csum_partial_copy_from_user(const unsigned char __user *src, unsigned char *dst,
int len, unsigned int isum, int *errp);
-extern unsigned int csum_partial_copy_to_user(const char *src, char __user *dst,
+extern unsigned int csum_partial_copy_to_user(const unsigned char *src, unsigned char __user *dst,
int len, unsigned int isum, int *errp);
-extern unsigned int csum_partial_copy_nocheck(const char *src, char *dst, int len,
+extern unsigned int csum_partial_copy_nocheck(const unsigned char *src, unsigned char *dst, int len,
unsigned int sum);

/* Old names. To be removed. */
--- a/include/linux/skbuff.h 2004-12-24 22:35:50.000000000 +0100
+++ b/include/linux/skbuff.h 2005-01-10 23:55:51.013097632 +0100
@@ -1006,7 +1006,7 @@
}

static inline int skb_add_data(struct sk_buff *skb,
- char __user *from, int copy)
+ unsigned char __user *from, int copy)
{
const int off = skb->len;

--- a/include/net/checksum.h 2004-12-24 22:34:26.000000000 +0100
+++ b/include/net/checksum.h 2005-01-10 23:55:12.422964224 +0100
@@ -27,7 +27,7 @@

#ifndef _HAVE_ARCH_COPY_AND_CSUM_FROM_USER
static inline
-unsigned int csum_and_copy_from_user (const char __user *src, char *dst,
+unsigned int csum_and_copy_from_user (const unsigned char __user *src, unsigned char *dst,
int len, int sum, int *err_ptr)
{
if (verify_area(VERIFY_READ, src, len) == 0)
@@ -42,7 +42,7 @@

#ifndef HAVE_CSUM_COPY_USER
static __inline__ unsigned int csum_and_copy_to_user
-(const char *src, char __user *dst, int len, unsigned int sum, int *err_ptr)
+(const unsigned char *src, unsigned char __user *dst, int len, unsigned int sum, int *err_ptr)
{
sum = csum_partial(src, len, sum);

--- a/include/net/sock.h 2004-12-24 22:35:23.000000000 +0100
+++ b/include/net/sock.h 2005-01-10 23:55:51.019096720 +0100
@@ -1015,7 +1015,7 @@
sk->sk_forward_alloc -= skb->truesize;
}

-static inline int skb_copy_to_page(struct sock *sk, char __user *from,
+static inline int skb_copy_to_page(struct sock *sk, unsigned char __user *from,
struct sk_buff *skb, struct page *page,
int off, int copy)
{