From: Martin Schwidefsky Convert __access_ok to an inline C function and change __get_user primitive to avoid uaccess compiler warnings. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton --- arch/s390/kernel/compat_linux.c | 2 +- include/asm-s390/uaccess.h | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff -puN arch/s390/kernel/compat_linux.c~s390-uaccess-warnings arch/s390/kernel/compat_linux.c --- devel/arch/s390/kernel/compat_linux.c~s390-uaccess-warnings 2005-11-22 20:19:53.000000000 -0800 +++ devel-akpm/arch/s390/kernel/compat_linux.c 2005-11-22 20:19:53.000000000 -0800 @@ -279,7 +279,7 @@ asmlinkage long sys32_getegid16(void) static inline long get_tv32(struct timeval *o, struct compat_timeval *i) { - return (!access_ok(VERIFY_READ, tv32, sizeof(*tv32)) || + return (!access_ok(VERIFY_READ, o, sizeof(*o)) || (__get_user(o->tv_sec, &i->tv_sec) || __get_user(o->tv_usec, &i->tv_usec))); } diff -puN include/asm-s390/uaccess.h~s390-uaccess-warnings include/asm-s390/uaccess.h --- devel/include/asm-s390/uaccess.h~s390-uaccess-warnings 2005-11-22 20:19:53.000000000 -0800 +++ devel-akpm/include/asm-s390/uaccess.h 2005-11-22 20:19:53.000000000 -0800 @@ -61,8 +61,10 @@ #define segment_eq(a,b) ((a).ar4 == (b).ar4) -#define __access_ok(addr,size) (1) - +static inline int __access_ok(const void *addr, unsigned long size) +{ + return 1; +} #define access_ok(type,addr,size) __access_ok(addr,size) /* @@ -206,25 +208,25 @@ extern int __put_user_bad(void) __attrib case 1: { \ unsigned char __x; \ __get_user_asm(__x, ptr, __gu_err); \ - (x) = (__typeof__(*(ptr))) __x; \ + (x) = *(__typeof__(*(ptr)) *) &__x; \ break; \ }; \ case 2: { \ unsigned short __x; \ __get_user_asm(__x, ptr, __gu_err); \ - (x) = (__typeof__(*(ptr))) __x; \ + (x) = *(__typeof__(*(ptr)) *) &__x; \ break; \ }; \ case 4: { \ unsigned int __x; \ __get_user_asm(__x, ptr, __gu_err); \ - (x) = (__typeof__(*(ptr))) __x; \ + (x) = *(__typeof__(*(ptr)) *) &__x; \ break; \ }; \ case 8: { \ unsigned long long __x; \ __get_user_asm(__x, ptr, __gu_err); \ - (x) = (__typeof__(*(ptr))) __x; \ + (x) = *(__typeof__(*(ptr)) *) &__x; \ break; \ }; \ default: \ _