[PATCH 1/16] UML - Fix build warnings in __get_user

From: Jeff Dike
Date: Fri Mar 24 2006 - 13:10:58 EST


Fix a gcc warning about losing qualifiers to the first argument of
copy_from_user. The typeof change for correctness, and fixes a lot
of the warnings, but there are some cases where x has some extra
qualifiers, like volatile, which copy_from_user can't know about.
For these, the void * cast seems to be necessary.

Also cleaned up some of the whitespace and got rid of the emacs comment
at the bottom.

Signed-off-by: Jeff Dike <jdike@xxxxxxxxxxx>

Index: linux-2.6.16/include/asm-um/uaccess.h
===================================================================
--- linux-2.6.16.orig/include/asm-um/uaccess.h 2006-03-23 17:49:25.000000000 -0500
+++ linux-2.6.16/include/asm-um/uaccess.h 2006-03-23 18:41:57.000000000 -0500
@@ -41,16 +41,16 @@

#define __get_user(x, ptr) \
({ \
- const __typeof__(ptr) __private_ptr = ptr; \
- __typeof__(*(__private_ptr)) __private_val; \
- int __private_ret = -EFAULT; \
- (x) = (__typeof__(*(__private_ptr)))0; \
- if (__copy_from_user(&__private_val, (__private_ptr), \
- sizeof(*(__private_ptr))) == 0) {\
- (x) = (__typeof__(*(__private_ptr))) __private_val; \
- __private_ret = 0; \
- } \
- __private_ret; \
+ const __typeof__(ptr) __private_ptr = ptr; \
+ __typeof__(x) __private_val; \
+ int __private_ret = -EFAULT; \
+ (x) = (__typeof__(*(__private_ptr)))0; \
+ if (__copy_from_user((void *) &__private_val, (__private_ptr), \
+ sizeof(*(__private_ptr))) == 0) { \
+ (x) = (__typeof__(*(__private_ptr))) __private_val; \
+ __private_ret = 0; \
+ } \
+ __private_ret; \
})

#define get_user(x, ptr) \
@@ -89,14 +89,3 @@ struct exception_table_entry
};

#endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/