From: Jeff Dike This makes a bunch of 64-bit cleanups exposed by x86_64. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton --- 25-akpm/arch/um/drivers/cow.h | 5 +++-- 25-akpm/arch/um/drivers/cow_sys.h | 4 ++-- 25-akpm/arch/um/drivers/cow_user.c | 6 +++--- 25-akpm/arch/um/drivers/mconsole_kern.c | 9 ++++++--- 25-akpm/arch/um/drivers/ubd_user.c | 2 +- 25-akpm/arch/um/include/um_uaccess.h | 2 +- 6 files changed, 16 insertions(+), 12 deletions(-) diff -puN arch/um/drivers/cow.h~uml-64-bit-cleanups arch/um/drivers/cow.h --- 25/arch/um/drivers/cow.h~uml-64-bit-cleanups 2005-01-09 23:44:19.113257832 -0800 +++ 25-akpm/arch/um/drivers/cow.h 2005-01-09 23:44:19.123256312 -0800 @@ -21,11 +21,12 @@ extern int file_reader(__u64 offset, cha extern int read_cow_header(int (*reader)(__u64, char *, int, void *), void *arg, __u32 *version_out, char **backing_file_out, time_t *mtime_out, - __u64 *size_out, int *sectorsize_out, + unsigned long long *size_out, int *sectorsize_out, __u32 *align_out, int *bitmap_offset_out); extern int write_cow_header(char *cow_file, int fd, char *backing_file, - int sectorsize, int alignment, long long *size); + int sectorsize, int alignment, + unsigned long long *size); extern void cow_sizes(int version, __u64 size, int sectorsize, int align, int bitmap_offset, unsigned long *bitmap_len_out, diff -puN arch/um/drivers/cow_sys.h~uml-64-bit-cleanups arch/um/drivers/cow_sys.h --- 25/arch/um/drivers/cow_sys.h~uml-64-bit-cleanups 2005-01-09 23:44:19.114257680 -0800 +++ 25-akpm/arch/um/drivers/cow_sys.h 2005-01-09 23:44:19.124256160 -0800 @@ -23,12 +23,12 @@ static inline char *cow_strdup(char *str return(uml_strdup(str)); } -static inline int cow_seek_file(int fd, __u64 offset) +static inline int cow_seek_file(int fd, unsigned long long offset) { return(os_seek_file(fd, offset)); } -static inline int cow_file_size(char *file, __u64 *size_out) +static inline int cow_file_size(char *file, unsigned long long *size_out) { return(os_file_size(file, size_out)); } diff -puN arch/um/drivers/cow_user.c~uml-64-bit-cleanups arch/um/drivers/cow_user.c --- 25/arch/um/drivers/cow_user.c~uml-64-bit-cleanups 2005-01-09 23:44:19.116257376 -0800 +++ 25-akpm/arch/um/drivers/cow_user.c 2005-01-09 23:44:19.124256160 -0800 @@ -159,7 +159,7 @@ static int absolutize(char *to, int size } int write_cow_header(char *cow_file, int fd, char *backing_file, - int sectorsize, int alignment, long long *size) + int sectorsize, int alignment, unsigned long long *size) { struct cow_header_v3 *header; unsigned long modtime; @@ -236,7 +236,7 @@ int file_reader(__u64 offset, char *buf, int read_cow_header(int (*reader)(__u64, char *, int, void *), void *arg, __u32 *version_out, char **backing_file_out, - time_t *mtime_out, __u64 *size_out, + time_t *mtime_out, unsigned long long *size_out, int *sectorsize_out, __u32 *align_out, int *bitmap_offset_out) { @@ -329,7 +329,7 @@ int init_cow_file(int fd, char *cow_file int alignment, int *bitmap_offset_out, unsigned long *bitmap_len_out, int *data_offset_out) { - __u64 size, offset; + unsigned long long size, offset; char zero = 0; int err; diff -puN arch/um/drivers/mconsole_kern.c~uml-64-bit-cleanups arch/um/drivers/mconsole_kern.c --- 25/arch/um/drivers/mconsole_kern.c~uml-64-bit-cleanups 2005-01-09 23:44:19.117257224 -0800 +++ 25-akpm/arch/um/drivers/mconsole_kern.c 2005-01-09 23:44:19.125256008 -0800 @@ -73,11 +73,12 @@ DECLARE_WORK(mconsole_work, mc_work_proc static irqreturn_t mconsole_interrupt(int irq, void *dev_id, struct pt_regs *regs) { - int fd; + /* long to avoid size mismatch warnings from gcc */ + long fd; struct mconsole_entry *new; struct mc_request req; - fd = (int) dev_id; + fd = (long) dev_id; while (mconsole_get_request(fd, &req)){ if(req.cmd->context == MCONSOLE_INTR) (*req.cmd->handler)(&req); @@ -457,7 +458,9 @@ static char *notify_socket = NULL; int mconsole_init(void) { - int err, sock; + /* long to avoid size mismatch warnings from gcc */ + long sock; + int err; char file[256]; if(umid_file_name("mconsole", file, sizeof(file))) return(-1); diff -puN arch/um/drivers/ubd_user.c~uml-64-bit-cleanups arch/um/drivers/ubd_user.c --- 25/arch/um/drivers/ubd_user.c~uml-64-bit-cleanups 2005-01-09 23:44:19.118257072 -0800 +++ 25-akpm/arch/um/drivers/ubd_user.c 2005-01-09 23:44:19.126255856 -0800 @@ -107,7 +107,7 @@ int open_ubd_file(char *file, struct ope int *create_cow_out) { time_t mtime; - __u64 size; + unsigned long long size; __u32 version, align; char *backing_file; int fd, err, sectorsize, same, mode = 0644; diff -puN arch/um/include/um_uaccess.h~uml-64-bit-cleanups arch/um/include/um_uaccess.h --- 25/arch/um/include/um_uaccess.h~uml-64-bit-cleanups 2005-01-09 23:44:19.120256768 -0800 +++ 25-akpm/arch/um/include/um_uaccess.h 2005-01-09 23:44:19.126255856 -0800 @@ -105,7 +105,7 @@ static inline int clear_user(void *mem, * On exception, returns 0. * If the string is too long, returns a value greater than @n. */ -static inline int strnlen_user(const void *str, int len) +static inline int strnlen_user(const void *str, long len) { return(CHOOSE_MODE_PROC(strnlen_user_tt, strnlen_user_skas, str, len)); } _