r4568 - in dists/trunk/linux-2.6/debian/patches-debian: . series
Bastian Blank
waldi at costa.debian.org
Thu Oct 20 16:52:41 UTC 2005
Author: waldi
Date: 2005-10-20 16:52:40 +0000 (Thu, 20 Oct 2005)
New Revision: 4568
Added:
dists/trunk/linux-2.6/debian/patches-debian/s390-uaccess-const.patch
Modified:
dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13+2.6.14-rc4-1
Log:
* debian/patches-debian/series/2.6.13+2.6.14-rc4-1:
Add s390-uaccess-const.patch.
* debian/patches-debian/s390-uaccess-const.patch: Add upstream fix.
Added: dists/trunk/linux-2.6/debian/patches-debian/s390-uaccess-const.patch
===================================================================
--- dists/trunk/linux-2.6/debian/patches-debian/s390-uaccess-const.patch 2005-10-20 16:51:52 UTC (rev 4567)
+++ dists/trunk/linux-2.6/debian/patches-debian/s390-uaccess-const.patch 2005-10-20 16:52:40 UTC (rev 4568)
@@ -0,0 +1,63 @@
+[patch] s390: const pointer uaccess.
+
+From: Martin Schwidefsky <schwidefsky at de.ibm.com>
+
+Using __typeof__(*ptr) on a pointer to const makes the __x
+variable in __get_user const as well. The latest gcc will
+refuse to write to it.
+
+Signed-off-by: Martin Schwidefsky <schwidefsky at de.ibm.com>
+
+diffstat:
+ include/asm-s390/uaccess.h | 28 ++++++++++++++++++++++------
+ 1 files changed, 22 insertions(+), 6 deletions(-)
+
+diff -urpN linux-2.6/include/asm-s390/uaccess.h linux-2.6-patched/include/asm-s390/uaccess.h
+--- linux-2.6/include/asm-s390/uaccess.h 2005-10-19 15:54:19.000000000 +0200
++++ linux-2.6-patched/include/asm-s390/uaccess.h 2005-10-19 15:54:44.000000000 +0200
+@@ -200,21 +200,37 @@ extern int __put_user_bad(void) __attrib
+
+ #define __get_user(x, ptr) \
+ ({ \
+- __typeof__(*(ptr)) __x; \
+ int __gu_err; \
+ __chk_user_ptr(ptr); \
+ switch (sizeof(*(ptr))) { \
+- case 1: \
+- case 2: \
+- case 4: \
+- case 8: \
++ case 1: { \
++ unsigned char __x; \
+ __get_user_asm(__x, ptr, __gu_err); \
++ (x) = (__typeof__(*(ptr))) __x; \
+ break; \
++ }; \
++ case 2: { \
++ unsigned short __x; \
++ __get_user_asm(__x, ptr, __gu_err); \
++ (x) = (__typeof__(*(ptr))) __x; \
++ break; \
++ }; \
++ case 4: { \
++ unsigned int __x; \
++ __get_user_asm(__x, ptr, __gu_err); \
++ (x) = (__typeof__(*(ptr))) __x; \
++ break; \
++ }; \
++ case 8: { \
++ unsigned long long __x; \
++ __get_user_asm(__x, ptr, __gu_err); \
++ (x) = (__typeof__(*(ptr))) __x; \
++ break; \
++ }; \
+ default: \
+ __get_user_bad(); \
+ break; \
+ } \
+- (x) = __x; \
+ __gu_err; \
+ })
+
+
+
Modified: dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13+2.6.14-rc4-1
===================================================================
--- dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13+2.6.14-rc4-1 2005-10-20 16:51:52 UTC (rev 4567)
+++ dists/trunk/linux-2.6/debian/patches-debian/series/2.6.13+2.6.14-rc4-1 2005-10-20 16:52:40 UTC (rev 4568)
@@ -23,3 +23,4 @@
+ version.patch
+ powerpc-mv643xx-hotplug-support.patch
+ powerpc-apus.patch
++ s390-uaccess-const.patch
More information about the Kernel-svn-changes
mailing list