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 <[EMAIL PROTECTED]>

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:
- */



-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to