diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-08-09 14:12:06 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-08-09 14:12:06 +0000 |
commit | a7214eb7d00074b09fa5b6a4f56a769dca17ca76 (patch) | |
tree | 591308e5eec1f65f280a8c34db3c294c383f9fac | |
parent | 6740d61d3640a7e253d6772364ca83dd82a78a57 (diff) | |
download | alpine_aports-a7214eb7d00074b09fa5b6a4f56a769dca17ca76.tar.bz2 alpine_aports-a7214eb7d00074b09fa5b6a4f56a769dca17ca76.tar.xz alpine_aports-a7214eb7d00074b09fa5b6a4f56a769dca17ca76.zip |
main/linux-grsec: upgrade grsecurity patch to 200908090749
This should fix #122
-rw-r--r-- | main/linux-grsec/APKBUILD | 6 | ||||
-rw-r--r-- | main/linux-grsec/grsecurity-2.1.14-2.6.30.4-200908090749.patch (renamed from main/linux-grsec/grsecurity-2.1.14-2.6.30.4-200908051916.patch) | 335 |
2 files changed, 255 insertions, 86 deletions
diff --git a/main/linux-grsec/APKBUILD b/main/linux-grsec/APKBUILD index 08e386e29b..625989df1b 100644 --- a/main/linux-grsec/APKBUILD +++ b/main/linux-grsec/APKBUILD | |||
@@ -4,7 +4,7 @@ _flavor=grsec | |||
4 | pkgname=linux-${_flavor} | 4 | pkgname=linux-${_flavor} |
5 | pkgver=2.6.30.4 | 5 | pkgver=2.6.30.4 |
6 | _kernver=2.6.30 | 6 | _kernver=2.6.30 |
7 | pkgrel=2 | 7 | pkgrel=3 |
8 | pkgdesc="Linux kernel with grsecurity" | 8 | pkgdesc="Linux kernel with grsecurity" |
9 | url=http://grsecurity.net | 9 | url=http://grsecurity.net |
10 | depends="mkinitfs" | 10 | depends="mkinitfs" |
@@ -13,7 +13,7 @@ _config=${config:-kernelconfig} | |||
13 | install="$pkgname.post-install $pkgname.post-upgrade" | 13 | install="$pkgname.post-install $pkgname.post-upgrade" |
14 | source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 | 14 | source="ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-$_kernver.tar.bz2 |
15 | ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2 | 15 | ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-$pkgver.bz2 |
16 | grsecurity-2.1.14-2.6.30.4-200908051916.patch | 16 | grsecurity-2.1.14-2.6.30.4-200908090749.patch |
17 | linux-nbma-mroute-v4-2.6.30.diff | 17 | linux-nbma-mroute-v4-2.6.30.diff |
18 | net-next-2.6.git-5ef12d98a19254ee5dc851bd83e214b43ec1f725.patch | 18 | net-next-2.6.git-5ef12d98a19254ee5dc851bd83e214b43ec1f725.patch |
19 | $_config | 19 | $_config |
@@ -113,7 +113,7 @@ dev() { | |||
113 | 113 | ||
114 | md5sums="7a80058a6382e5108cdb5554d1609615 linux-2.6.30.tar.bz2 | 114 | md5sums="7a80058a6382e5108cdb5554d1609615 linux-2.6.30.tar.bz2 |
115 | d0fc44b54ba5953140b3f2aa9a1f2580 patch-2.6.30.4.bz2 | 115 | d0fc44b54ba5953140b3f2aa9a1f2580 patch-2.6.30.4.bz2 |
116 | 9a0d6d6ce67289e24c6e3ef4441b6388 grsecurity-2.1.14-2.6.30.4-200908051916.patch | 116 | 78f3778d96c03006ba0b4c96ed885cd6 grsecurity-2.1.14-2.6.30.4-200908090749.patch |
117 | 7420c0b1095335990313656b114e1379 linux-nbma-mroute-v4-2.6.30.diff | 117 | 7420c0b1095335990313656b114e1379 linux-nbma-mroute-v4-2.6.30.diff |
118 | ca05fd252783b82e01610e775cf56498 net-next-2.6.git-5ef12d98a19254ee5dc851bd83e214b43ec1f725.patch | 118 | ca05fd252783b82e01610e775cf56498 net-next-2.6.git-5ef12d98a19254ee5dc851bd83e214b43ec1f725.patch |
119 | 60adb085be0ab268c0f27279ae2b2bab kernelconfig | 119 | 60adb085be0ab268c0f27279ae2b2bab kernelconfig |
diff --git a/main/linux-grsec/grsecurity-2.1.14-2.6.30.4-200908051916.patch b/main/linux-grsec/grsecurity-2.1.14-2.6.30.4-200908090749.patch index 5d0902c211..3fff0bbb81 100644 --- a/main/linux-grsec/grsecurity-2.1.14-2.6.30.4-200908051916.patch +++ b/main/linux-grsec/grsecurity-2.1.14-2.6.30.4-200908090749.patch | |||
@@ -7086,7 +7086,7 @@ diff -urNp linux-2.6.30.4/arch/x86/include/asm/uaccess_64.h linux-2.6.30.4/arch/ | |||
7086 | #endif /* _ASM_X86_UACCESS_64_H */ | 7086 | #endif /* _ASM_X86_UACCESS_64_H */ |
7087 | diff -urNp linux-2.6.30.4/arch/x86/include/asm/uaccess.h linux-2.6.30.4/arch/x86/include/asm/uaccess.h | 7087 | diff -urNp linux-2.6.30.4/arch/x86/include/asm/uaccess.h linux-2.6.30.4/arch/x86/include/asm/uaccess.h |
7088 | --- linux-2.6.30.4/arch/x86/include/asm/uaccess.h 2009-07-30 20:32:40.364705510 -0400 | 7088 | --- linux-2.6.30.4/arch/x86/include/asm/uaccess.h 2009-07-30 20:32:40.364705510 -0400 |
7089 | +++ linux-2.6.30.4/arch/x86/include/asm/uaccess.h 2009-07-30 20:32:47.926577259 -0400 | 7089 | +++ linux-2.6.30.4/arch/x86/include/asm/uaccess.h 2009-08-09 07:48:47.926451868 -0400 |
7090 | @@ -8,8 +8,10 @@ | 7090 | @@ -8,8 +8,10 @@ |
7091 | #include <linux/thread_info.h> | 7091 | #include <linux/thread_info.h> |
7092 | #include <linux/prefetch.h> | 7092 | #include <linux/prefetch.h> |
@@ -7111,22 +7111,32 @@ diff -urNp linux-2.6.30.4/arch/x86/include/asm/uaccess.h linux-2.6.30.4/arch/x86 | |||
7111 | 7111 | ||
7112 | #define segment_eq(a, b) ((a).seg == (b).seg) | 7112 | #define segment_eq(a, b) ((a).seg == (b).seg) |
7113 | 7113 | ||
7114 | @@ -187,9 +194,12 @@ extern int __get_user_bad(void); | 7114 | @@ -183,13 +190,21 @@ extern int __get_user_bad(void); |
7115 | asm volatile("call __put_user_" #size : "=a" (__ret_pu) \ | ||
7116 | : "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx") | ||
7117 | |||
7118 | - | ||
7119 | +#ifdef CONFIG_X86_32 | ||
7120 | +#define _ASM_LOAD_USER_DS(ds) "movw %w" #ds ",%%ds\n" | ||
7121 | +#define _ASM_LOAD_KERNEL_DS "pushl %%ss; popl %%ds\n" | ||
7122 | +#else | ||
7123 | +#define _ASM_LOAD_USER_DS(ds) | ||
7124 | +#define _ASM_LOAD_KERNEL_DS | ||
7125 | +#endif | ||
7115 | 7126 | ||
7116 | #ifdef CONFIG_X86_32 | 7127 | #ifdef CONFIG_X86_32 |
7117 | #define __put_user_asm_u64(x, addr, err, errret) \ | 7128 | #define __put_user_asm_u64(x, addr, err, errret) \ |
7118 | - asm volatile("1: movl %%eax,0(%2)\n" \ | 7129 | - asm volatile("1: movl %%eax,0(%2)\n" \ |
7119 | - "2: movl %%edx,4(%2)\n" \ | 7130 | - "2: movl %%edx,4(%2)\n" \ |
7120 | + asm volatile(" movw %w5,%%ds\n" \ | 7131 | + asm volatile(_ASM_LOAD_USER_DS(5) \ |
7121 | + "1: movl %%eax,%%ds:0(%2)\n" \ | 7132 | + "1: movl %%eax,%%ds:0(%2)\n" \ |
7122 | + "2: movl %%edx,%%ds:4(%2)\n" \ | 7133 | + "2: movl %%edx,%%ds:4(%2)\n" \ |
7123 | "3:\n" \ | 7134 | "3:\n" \ |
7124 | + " pushl %%ss\n" \ | 7135 | + _ASM_LOAD_KERNEL_DS \ |
7125 | + " popl %%ds\n" \ | ||
7126 | ".section .fixup,\"ax\"\n" \ | 7136 | ".section .fixup,\"ax\"\n" \ |
7127 | "4: movl %3,%0\n" \ | 7137 | "4: movl %3,%0\n" \ |
7128 | " jmp 3b\n" \ | 7138 | " jmp 3b\n" \ |
7129 | @@ -197,7 +207,8 @@ extern int __get_user_bad(void); | 7139 | @@ -197,15 +212,18 @@ extern int __get_user_bad(void); |
7130 | _ASM_EXTABLE(1b, 4b) \ | 7140 | _ASM_EXTABLE(1b, 4b) \ |
7131 | _ASM_EXTABLE(2b, 4b) \ | 7141 | _ASM_EXTABLE(2b, 4b) \ |
7132 | : "=r" (err) \ | 7142 | : "=r" (err) \ |
@@ -7135,110 +7145,89 @@ diff -urNp linux-2.6.30.4/arch/x86/include/asm/uaccess.h linux-2.6.30.4/arch/x86 | |||
7135 | + "r"(__USER_DS)) | 7145 | + "r"(__USER_DS)) |
7136 | 7146 | ||
7137 | #define __put_user_asm_ex_u64(x, addr) \ | 7147 | #define __put_user_asm_ex_u64(x, addr) \ |
7138 | asm volatile("1: movl %%eax,0(%1)\n" \ | 7148 | - asm volatile("1: movl %%eax,0(%1)\n" \ |
7139 | @@ -373,6 +384,22 @@ do { \ | 7149 | - "2: movl %%edx,4(%1)\n" \ |
7140 | } \ | 7150 | + asm volatile(_ASM_LOAD_USER_DS(2) \ |
7151 | + "1: movl %%eax,%%ds:0(%1)\n" \ | ||
7152 | + "2: movl %%edx,%%ds:4(%1)\n" \ | ||
7153 | "3:\n" \ | ||
7154 | + _ASM_LOAD_KERNEL_DS \ | ||
7155 | _ASM_EXTABLE(1b, 2b - 1b) \ | ||
7156 | _ASM_EXTABLE(2b, 3b - 2b) \ | ||
7157 | - : : "A" (x), "r" (addr)) | ||
7158 | + : : "A" (x), "r" (addr), "r"(__USER_DS)) | ||
7159 | |||
7160 | #define __put_user_x8(x, ptr, __ret_pu) \ | ||
7161 | asm volatile("call __put_user_8" : "=a" (__ret_pu) \ | ||
7162 | @@ -374,16 +392,18 @@ do { \ | ||
7141 | } while (0) | 7163 | } while (0) |
7142 | 7164 | ||
7143 | +#ifdef CONFIG_X86_32 | ||
7144 | +#define __get_user_asm(x, addr, err, itype, rtype, ltype, errret) \ | ||
7145 | + asm volatile(" movw %w5,%%ds\n" \ | ||
7146 | + "1: mov"itype" %%ds:%2,%"rtype"1\n" \ | ||
7147 | + "2:\n" \ | ||
7148 | + " pushl %%ss\n" \ | ||
7149 | + " popl %%ds\n" \ | ||
7150 | + ".section .fixup,\"ax\"\n" \ | ||
7151 | + "3: movl %3,%0\n" \ | ||
7152 | + " xor"itype" %"rtype"1,%"rtype"1\n" \ | ||
7153 | + " jmp 2b\n" \ | ||
7154 | + ".previous\n" \ | ||
7155 | + _ASM_EXTABLE(1b, 3b) \ | ||
7156 | + : "=r" (err), ltype (x) \ | ||
7157 | + : "m" (__m(addr)), "i" (errret), "0" (err), "r"(__USER_DS)) | ||
7158 | +#else | ||
7159 | #define __get_user_asm(x, addr, err, itype, rtype, ltype, errret) \ | 7165 | #define __get_user_asm(x, addr, err, itype, rtype, ltype, errret) \ |
7160 | asm volatile("1: mov"itype" %2,%"rtype"1\n" \ | 7166 | - asm volatile("1: mov"itype" %2,%"rtype"1\n" \ |
7167 | + asm volatile(_ASM_LOAD_USER_DS(5) \ | ||
7168 | + "1: mov"itype" %%ds:%2,%"rtype"1\n" \ | ||
7161 | "2:\n" \ | 7169 | "2:\n" \ |
7162 | @@ -384,6 +411,7 @@ do { \ | 7170 | + _ASM_LOAD_KERNEL_DS \ |
7171 | ".section .fixup,\"ax\"\n" \ | ||
7172 | "3: mov %3,%0\n" \ | ||
7173 | " xor"itype" %"rtype"1,%"rtype"1\n" \ | ||
7174 | " jmp 2b\n" \ | ||
7175 | ".previous\n" \ | ||
7163 | _ASM_EXTABLE(1b, 3b) \ | 7176 | _ASM_EXTABLE(1b, 3b) \ |
7164 | : "=r" (err), ltype(x) \ | 7177 | - : "=r" (err), ltype(x) \ |
7165 | : "m" (__m(addr)), "i" (errret), "0" (err)) | 7178 | - : "m" (__m(addr)), "i" (errret), "0" (err)) |
7166 | +#endif | 7179 | + : "=r" (err), ltype (x) \ |
7180 | + : "m" (__m(addr)), "i" (errret), "0" (err), "r"(__USER_DS)) | ||
7167 | 7181 | ||
7168 | #define __get_user_size_ex(x, ptr, size) \ | 7182 | #define __get_user_size_ex(x, ptr, size) \ |
7169 | do { \ | 7183 | do { \ |
7170 | @@ -406,11 +434,22 @@ do { \ | 7184 | @@ -407,10 +427,12 @@ do { \ |
7171 | } \ | ||
7172 | } while (0) | 7185 | } while (0) |
7173 | 7186 | ||
7174 | +#ifdef CONFIG_X86_32 | ||
7175 | +#define __get_user_asm_ex(x, addr, itype, rtype, ltype) \ | ||
7176 | + asm volatile(" movw %w2,%%ds\n" \ | ||
7177 | + "1: mov"itype" %%ds:%1,%"rtype"0\n" \ | ||
7178 | + "2:\n" \ | ||
7179 | + " pushl %%ss\n" \ | ||
7180 | + " popl %%ds\n" \ | ||
7181 | + _ASM_EXTABLE(1b, 2b - 1b) \ | ||
7182 | + : ltype(x) : "m" (__m(addr)), "r"(__USER_DS)) | ||
7183 | +#else | ||
7184 | #define __get_user_asm_ex(x, addr, itype, rtype, ltype) \ | 7187 | #define __get_user_asm_ex(x, addr, itype, rtype, ltype) \ |
7185 | asm volatile("1: mov"itype" %1,%"rtype"0\n" \ | 7188 | - asm volatile("1: mov"itype" %1,%"rtype"0\n" \ |
7189 | + asm volatile(_ASM_LOAD_USER_DS(2) \ | ||
7190 | + "1: mov"itype" %%ds:%1,%"rtype"0\n" \ | ||
7186 | "2:\n" \ | 7191 | "2:\n" \ |
7192 | + _ASM_LOAD_KERNEL_DS \ | ||
7187 | _ASM_EXTABLE(1b, 2b - 1b) \ | 7193 | _ASM_EXTABLE(1b, 2b - 1b) \ |
7188 | : ltype(x) : "m" (__m(addr))) | 7194 | - : ltype(x) : "m" (__m(addr))) |
7189 | +#endif | 7195 | + : ltype(x) : "m" (__m(addr)), "r"(__USER_DS)) |
7190 | 7196 | ||
7191 | #define __put_user_nocheck(x, ptr, size) \ | 7197 | #define __put_user_nocheck(x, ptr, size) \ |
7192 | ({ \ | 7198 | ({ \ |
7193 | @@ -437,6 +476,22 @@ struct __large_struct { unsigned long bu | 7199 | @@ -438,21 +460,26 @@ struct __large_struct { unsigned long bu |
7194 | * we do not write to any memory gcc knows about, so there are no | ||
7195 | * aliasing issues. | 7200 | * aliasing issues. |
7196 | */ | 7201 | */ |
7197 | +#ifdef CONFIG_X86_32 | ||
7198 | +#define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \ | ||
7199 | + asm volatile(" movw %w5,%%ds\n" \ | ||
7200 | + "1: mov"itype" %"rtype"1,%%ds:%2\n" \ | ||
7201 | + "2:\n" \ | ||
7202 | + " pushl %%ss\n" \ | ||
7203 | + " popl %%ds\n" \ | ||
7204 | + ".section .fixup,\"ax\"\n" \ | ||
7205 | + "3: movl %3,%0\n" \ | ||
7206 | + " jmp 2b\n" \ | ||
7207 | + ".previous\n" \ | ||
7208 | + _ASM_EXTABLE(1b, 3b) \ | ||
7209 | + : "=r"(err) \ | ||
7210 | + : ltype (x), "m" (__m(addr)), "i" (errret), "0" (err),\ | ||
7211 | + "r"(__USER_DS)) | ||
7212 | +#else | ||
7213 | #define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \ | 7202 | #define __put_user_asm(x, addr, err, itype, rtype, ltype, errret) \ |
7214 | asm volatile("1: mov"itype" %"rtype"1,%2\n" \ | 7203 | - asm volatile("1: mov"itype" %"rtype"1,%2\n" \ |
7204 | + asm volatile(_ASM_LOAD_USER_DS(5) \ | ||
7205 | + "1: mov"itype" %"rtype"1,%%ds:%2\n" \ | ||
7215 | "2:\n" \ | 7206 | "2:\n" \ |
7216 | @@ -447,12 +502,24 @@ struct __large_struct { unsigned long bu | 7207 | + _ASM_LOAD_KERNEL_DS \ |
7208 | ".section .fixup,\"ax\"\n" \ | ||
7209 | "3: mov %3,%0\n" \ | ||
7210 | " jmp 2b\n" \ | ||
7211 | ".previous\n" \ | ||
7217 | _ASM_EXTABLE(1b, 3b) \ | 7212 | _ASM_EXTABLE(1b, 3b) \ |
7218 | : "=r"(err) \ | 7213 | : "=r"(err) \ |
7219 | : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err)) | 7214 | - : ltype(x), "m" (__m(addr)), "i" (errret), "0" (err)) |
7220 | +#endif | 7215 | + : ltype (x), "m" (__m(addr)), "i" (errret), "0" (err),\ |
7216 | + "r"(__USER_DS)) | ||
7221 | 7217 | ||
7222 | +#ifdef CONFIG_X86_32 | ||
7223 | +#define __put_user_asm_ex(x, addr, itype, rtype, ltype) \ | ||
7224 | + asm volatile(" movw %w2,%%ds\n" \ | ||
7225 | + "1: mov"itype" %"rtype"0,%%ds:%1\n" \ | ||
7226 | + "2:\n" \ | ||
7227 | + " pushl %%ss\n" \ | ||
7228 | + " popl %%ds\n" \ | ||
7229 | + _ASM_EXTABLE(1b, 2b - 1b) \ | ||
7230 | + : : ltype(x), "m" (__m(addr)), "r"(__USER_DS)) | ||
7231 | +#else | ||
7232 | #define __put_user_asm_ex(x, addr, itype, rtype, ltype) \ | 7218 | #define __put_user_asm_ex(x, addr, itype, rtype, ltype) \ |
7233 | asm volatile("1: mov"itype" %"rtype"0,%1\n" \ | 7219 | - asm volatile("1: mov"itype" %"rtype"0,%1\n" \ |
7220 | + asm volatile(_ASM_LOAD_USER_DS(2) \ | ||
7221 | + "1: mov"itype" %"rtype"0,%%ds:%1\n" \ | ||
7234 | "2:\n" \ | 7222 | "2:\n" \ |
7223 | + _ASM_LOAD_KERNEL_DS \ | ||
7235 | _ASM_EXTABLE(1b, 2b - 1b) \ | 7224 | _ASM_EXTABLE(1b, 2b - 1b) \ |
7236 | : : ltype(x), "m" (__m(addr))) | 7225 | - : : ltype(x), "m" (__m(addr))) |
7237 | +#endif | 7226 | + : : ltype(x), "m" (__m(addr)), "r"(__USER_DS)) |
7238 | 7227 | ||
7239 | /* | 7228 | /* |
7240 | * uaccess_try and catch | 7229 | * uaccess_try and catch |
7241 | @@ -567,6 +634,7 @@ extern struct movsl_mask { | 7230 | @@ -567,6 +594,7 @@ extern struct movsl_mask { |
7242 | 7231 | ||
7243 | #define ARCH_HAS_NOCACHE_UACCESS 1 | 7232 | #define ARCH_HAS_NOCACHE_UACCESS 1 |
7244 | 7233 | ||
@@ -18854,6 +18843,30 @@ diff -urNp linux-2.6.30.4/drivers/media/video/stk-webcam.c linux-2.6.30.4/driver | |||
18854 | .open = stk_v4l_vm_open, | 18843 | .open = stk_v4l_vm_open, |
18855 | .close = stk_v4l_vm_close | 18844 | .close = stk_v4l_vm_close |
18856 | }; | 18845 | }; |
18846 | diff -urNp linux-2.6.30.4/drivers/media/video/usbvideo/konicawc.c linux-2.6.30.4/drivers/media/video/usbvideo/konicawc.c | ||
18847 | --- linux-2.6.30.4/drivers/media/video/usbvideo/konicawc.c 2009-07-24 17:47:51.000000000 -0400 | ||
18848 | +++ linux-2.6.30.4/drivers/media/video/usbvideo/konicawc.c 2009-08-09 07:48:48.178565450 -0400 | ||
18849 | @@ -225,7 +225,7 @@ static void konicawc_register_input(stru | ||
18850 | int error; | ||
18851 | |||
18852 | usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname)); | ||
18853 | - strncat(cam->input_physname, "/input0", sizeof(cam->input_physname)); | ||
18854 | + strlcat(cam->input_physname, "/input0", sizeof(cam->input_physname)); | ||
18855 | |||
18856 | cam->input = input_dev = input_allocate_device(); | ||
18857 | if (!input_dev) { | ||
18858 | diff -urNp linux-2.6.30.4/drivers/media/video/usbvideo/quickcam_messenger.c linux-2.6.30.4/drivers/media/video/usbvideo/quickcam_messenger.c | ||
18859 | --- linux-2.6.30.4/drivers/media/video/usbvideo/quickcam_messenger.c 2009-07-24 17:47:51.000000000 -0400 | ||
18860 | +++ linux-2.6.30.4/drivers/media/video/usbvideo/quickcam_messenger.c 2009-08-09 07:48:48.199403940 -0400 | ||
18861 | @@ -89,7 +89,7 @@ static void qcm_register_input(struct qc | ||
18862 | int error; | ||
18863 | |||
18864 | usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname)); | ||
18865 | - strncat(cam->input_physname, "/input0", sizeof(cam->input_physname)); | ||
18866 | + strlcat(cam->input_physname, "/input0", sizeof(cam->input_physname)); | ||
18867 | |||
18868 | cam->input = input_dev = input_allocate_device(); | ||
18869 | if (!input_dev) { | ||
18857 | diff -urNp linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c | 18870 | diff -urNp linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c |
18858 | --- linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c 2009-07-24 17:47:51.000000000 -0400 | 18871 | --- linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c 2009-07-24 17:47:51.000000000 -0400 |
18859 | +++ linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c 2009-07-30 09:48:10.034661447 -0400 | 18872 | +++ linux-2.6.30.4/drivers/media/video/uvc/uvc_v4l2.c 2009-07-30 09:48:10.034661447 -0400 |
@@ -18914,6 +18927,95 @@ diff -urNp linux-2.6.30.4/drivers/media/video/zoran/zoran_driver.c linux-2.6.30. | |||
18914 | .open = zoran_vm_open, | 18927 | .open = zoran_vm_open, |
18915 | .close = zoran_vm_close, | 18928 | .close = zoran_vm_close, |
18916 | }; | 18929 | }; |
18930 | diff -urNp linux-2.6.30.4/drivers/message/i2o/i2o_proc.c linux-2.6.30.4/drivers/message/i2o/i2o_proc.c | ||
18931 | --- linux-2.6.30.4/drivers/message/i2o/i2o_proc.c 2009-07-24 17:47:51.000000000 -0400 | ||
18932 | +++ linux-2.6.30.4/drivers/message/i2o/i2o_proc.c 2009-08-09 07:48:48.246416282 -0400 | ||
18933 | @@ -259,13 +259,6 @@ static char *scsi_devices[] = { | ||
18934 | "Array Controller Device" | ||
18935 | }; | ||
18936 | |||
18937 | -static char *chtostr(u8 * chars, int n) | ||
18938 | -{ | ||
18939 | - char tmp[256]; | ||
18940 | - tmp[0] = 0; | ||
18941 | - return strncat(tmp, (char *)chars, n); | ||
18942 | -} | ||
18943 | - | ||
18944 | static int i2o_report_query_status(struct seq_file *seq, int block_status, | ||
18945 | char *group) | ||
18946 | { | ||
18947 | @@ -842,8 +835,7 @@ static int i2o_seq_show_ddm_table(struct | ||
18948 | |||
18949 | seq_printf(seq, "%-#7x", ddm_table.i2o_vendor_id); | ||
18950 | seq_printf(seq, "%-#8x", ddm_table.module_id); | ||
18951 | - seq_printf(seq, "%-29s", | ||
18952 | - chtostr(ddm_table.module_name_version, 28)); | ||
18953 | + seq_printf(seq, "%-.28s", ddm_table.module_name_version); | ||
18954 | seq_printf(seq, "%9d ", ddm_table.data_size); | ||
18955 | seq_printf(seq, "%8d", ddm_table.code_size); | ||
18956 | |||
18957 | @@ -944,8 +936,8 @@ static int i2o_seq_show_drivers_stored(s | ||
18958 | |||
18959 | seq_printf(seq, "%-#7x", dst->i2o_vendor_id); | ||
18960 | seq_printf(seq, "%-#8x", dst->module_id); | ||
18961 | - seq_printf(seq, "%-29s", chtostr(dst->module_name_version, 28)); | ||
18962 | - seq_printf(seq, "%-9s", chtostr(dst->date, 8)); | ||
18963 | + seq_printf(seq, "%-.28s", dst->module_name_version); | ||
18964 | + seq_printf(seq, "%-.8s", dst->date); | ||
18965 | seq_printf(seq, "%8d ", dst->module_size); | ||
18966 | seq_printf(seq, "%8d ", dst->mpb_size); | ||
18967 | seq_printf(seq, "0x%04x", dst->module_flags); | ||
18968 | @@ -1276,14 +1268,10 @@ static int i2o_seq_show_dev_identity(str | ||
18969 | seq_printf(seq, "Device Class : %s\n", i2o_get_class_name(work16[0])); | ||
18970 | seq_printf(seq, "Owner TID : %0#5x\n", work16[2]); | ||
18971 | seq_printf(seq, "Parent TID : %0#5x\n", work16[3]); | ||
18972 | - seq_printf(seq, "Vendor info : %s\n", | ||
18973 | - chtostr((u8 *) (work32 + 2), 16)); | ||
18974 | - seq_printf(seq, "Product info : %s\n", | ||
18975 | - chtostr((u8 *) (work32 + 6), 16)); | ||
18976 | - seq_printf(seq, "Description : %s\n", | ||
18977 | - chtostr((u8 *) (work32 + 10), 16)); | ||
18978 | - seq_printf(seq, "Product rev. : %s\n", | ||
18979 | - chtostr((u8 *) (work32 + 14), 8)); | ||
18980 | + seq_printf(seq, "Vendor info : %.16s\n", (u8 *) (work32 + 2)); | ||
18981 | + seq_printf(seq, "Product info : %.16s\n", (u8 *) (work32 + 6)); | ||
18982 | + seq_printf(seq, "Description : %.16s\n", (u8 *) (work32 + 10)); | ||
18983 | + seq_printf(seq, "Product rev. : %.8s\n", (u8 *) (work32 + 14)); | ||
18984 | |||
18985 | seq_printf(seq, "Serial number : "); | ||
18986 | print_serial_number(seq, (u8 *) (work32 + 16), | ||
18987 | @@ -1328,10 +1316,8 @@ static int i2o_seq_show_ddm_identity(str | ||
18988 | } | ||
18989 | |||
18990 | seq_printf(seq, "Registering DDM TID : 0x%03x\n", result.ddm_tid); | ||
18991 | - seq_printf(seq, "Module name : %s\n", | ||
18992 | - chtostr(result.module_name, 24)); | ||
18993 | - seq_printf(seq, "Module revision : %s\n", | ||
18994 | - chtostr(result.module_rev, 8)); | ||
18995 | + seq_printf(seq, "Module name : %.24s\n", result.module_name); | ||
18996 | + seq_printf(seq, "Module revision : %.8s\n", result.module_rev); | ||
18997 | |||
18998 | seq_printf(seq, "Serial number : "); | ||
18999 | print_serial_number(seq, result.serial_number, sizeof(result) - 36); | ||
19000 | @@ -1362,14 +1348,10 @@ static int i2o_seq_show_uinfo(struct seq | ||
19001 | return 0; | ||
19002 | } | ||
19003 | |||
19004 | - seq_printf(seq, "Device name : %s\n", | ||
19005 | - chtostr(result.device_name, 64)); | ||
19006 | - seq_printf(seq, "Service name : %s\n", | ||
19007 | - chtostr(result.service_name, 64)); | ||
19008 | - seq_printf(seq, "Physical name : %s\n", | ||
19009 | - chtostr(result.physical_location, 64)); | ||
19010 | - seq_printf(seq, "Instance number : %s\n", | ||
19011 | - chtostr(result.instance_number, 4)); | ||
19012 | + seq_printf(seq, "Device name : %.64s\n", result.device_name); | ||
19013 | + seq_printf(seq, "Service name : %.64s\n", result.service_name); | ||
19014 | + seq_printf(seq, "Physical name : %.64s\n", result.physical_location); | ||
19015 | + seq_printf(seq, "Instance number : %.4s\n", result.instance_number); | ||
19016 | |||
19017 | return 0; | ||
19018 | } | ||
18917 | diff -urNp linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c | 19019 | diff -urNp linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c |
18918 | --- linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c 2009-07-24 17:47:51.000000000 -0400 | 19020 | --- linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c 2009-07-24 17:47:51.000000000 -0400 |
18919 | +++ linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c 2009-07-30 09:48:10.036598829 -0400 | 19021 | +++ linux-2.6.30.4/drivers/misc/ibmasm/ibmasmfs.c 2009-07-30 09:48:10.036598829 -0400 |
@@ -19256,6 +19358,38 @@ diff -urNp linux-2.6.30.4/drivers/pcmcia/yenta_socket.c linux-2.6.30.4/drivers/p | |||
19256 | }; | 19358 | }; |
19257 | MODULE_DEVICE_TABLE(pci, yenta_table); | 19359 | MODULE_DEVICE_TABLE(pci, yenta_table); |
19258 | 19360 | ||
19361 | diff -urNp linux-2.6.30.4/drivers/platform/x86/wmi.c linux-2.6.30.4/drivers/platform/x86/wmi.c | ||
19362 | --- linux-2.6.30.4/drivers/platform/x86/wmi.c 2009-07-24 17:47:51.000000000 -0400 | ||
19363 | +++ linux-2.6.30.4/drivers/platform/x86/wmi.c 2009-08-09 07:48:48.278373587 -0400 | ||
19364 | @@ -270,7 +270,7 @@ u32 method_id, const struct acpi_buffer | ||
19365 | acpi_status status; | ||
19366 | struct acpi_object_list input; | ||
19367 | union acpi_object params[3]; | ||
19368 | - char method[4] = "WM"; | ||
19369 | + char method[5] = "WM"; | ||
19370 | |||
19371 | if (!find_guid(guid_string, &wblock)) | ||
19372 | return AE_ERROR; | ||
19373 | @@ -328,8 +328,8 @@ struct acpi_buffer *out) | ||
19374 | acpi_status status, wc_status = AE_ERROR; | ||
19375 | struct acpi_object_list input, wc_input; | ||
19376 | union acpi_object wc_params[1], wq_params[1]; | ||
19377 | - char method[4]; | ||
19378 | - char wc_method[4] = "WC"; | ||
19379 | + char method[5]; | ||
19380 | + char wc_method[5] = "WC"; | ||
19381 | |||
19382 | if (!guid_string || !out) | ||
19383 | return AE_BAD_PARAMETER; | ||
19384 | @@ -410,7 +410,7 @@ const struct acpi_buffer *in) | ||
19385 | acpi_handle handle; | ||
19386 | struct acpi_object_list input; | ||
19387 | union acpi_object params[2]; | ||
19388 | - char method[4] = "WS"; | ||
19389 | + char method[5] = "WS"; | ||
19390 | |||
19391 | if (!guid_string || !in) | ||
19392 | return AE_BAD_DATA; | ||
19259 | diff -urNp linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c | 19393 | diff -urNp linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c |
19260 | --- linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c 2009-07-24 17:47:51.000000000 -0400 | 19394 | --- linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c 2009-07-24 17:47:51.000000000 -0400 |
19261 | +++ linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c 2009-07-30 09:48:10.045642944 -0400 | 19395 | +++ linux-2.6.30.4/drivers/pnp/pnpbios/bioscalls.c 2009-07-30 09:48:10.045642944 -0400 |
@@ -34794,7 +34928,7 @@ diff -urNp linux-2.6.30.4/include/asm-generic/int-ll64.h linux-2.6.30.4/include/ | |||
34794 | #define S16_C(x) x | 34928 | #define S16_C(x) x |
34795 | diff -urNp linux-2.6.30.4/include/asm-generic/vmlinux.lds.h linux-2.6.30.4/include/asm-generic/vmlinux.lds.h | 34929 | diff -urNp linux-2.6.30.4/include/asm-generic/vmlinux.lds.h linux-2.6.30.4/include/asm-generic/vmlinux.lds.h |
34796 | --- linux-2.6.30.4/include/asm-generic/vmlinux.lds.h 2009-07-24 17:47:51.000000000 -0400 | 34930 | --- linux-2.6.30.4/include/asm-generic/vmlinux.lds.h 2009-07-24 17:47:51.000000000 -0400 |
34797 | +++ linux-2.6.30.4/include/asm-generic/vmlinux.lds.h 2009-08-05 19:08:00.537007471 -0400 | 34931 | +++ linux-2.6.30.4/include/asm-generic/vmlinux.lds.h 2009-08-09 07:48:48.045905474 -0400 |
34798 | @@ -121,6 +121,7 @@ | 34932 | @@ -121,6 +121,7 @@ |
34799 | .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ | 34933 | .rodata : AT(ADDR(.rodata) - LOAD_OFFSET) { \ |
34800 | VMLINUX_SYMBOL(__start_rodata) = .; \ | 34934 | VMLINUX_SYMBOL(__start_rodata) = .; \ |
@@ -34803,8 +34937,22 @@ diff -urNp linux-2.6.30.4/include/asm-generic/vmlinux.lds.h linux-2.6.30.4/inclu | |||
34803 | *(__vermagic) /* Kernel version magic */ \ | 34937 | *(__vermagic) /* Kernel version magic */ \ |
34804 | *(__markers_strings) /* Markers: strings */ \ | 34938 | *(__markers_strings) /* Markers: strings */ \ |
34805 | *(__tracepoints_strings)/* Tracepoints: strings */ \ | 34939 | *(__tracepoints_strings)/* Tracepoints: strings */ \ |
34806 | @@ -478,8 +479,9 @@ | 34940 | @@ -468,22 +469,24 @@ |
34941 | * section in the linker script will go there too. @phdr should have | ||
34942 | * a leading colon. | ||
34943 | * | ||
34944 | - * Note that this macros defines __per_cpu_load as an absolute symbol. | ||
34945 | + * Note that this macros defines per_cpu_load as an absolute symbol. | ||
34946 | * If there is no need to put the percpu section at a predetermined | ||
34947 | * address, use PERCPU(). | ||
34948 | */ | ||
34949 | #define PERCPU_VADDR(vaddr, phdr) \ | ||
34950 | - VMLINUX_SYMBOL(__per_cpu_load) = .; \ | ||
34951 | - .data.percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load) \ | ||
34952 | + per_cpu_load = .; \ | ||
34953 | + .data.percpu vaddr : AT(VMLINUX_SYMBOL(per_cpu_load) \ | ||
34807 | - LOAD_OFFSET) { \ | 34954 | - LOAD_OFFSET) { \ |
34955 | + VMLINUX_SYMBOL(__per_cpu_load) = . + per_cpu_load; \ | ||
34808 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ | 34956 | VMLINUX_SYMBOL(__per_cpu_start) = .; \ |
34809 | *(.data.percpu.first) \ | 34957 | *(.data.percpu.first) \ |
34810 | - *(.data.percpu.page_aligned) \ | 34958 | - *(.data.percpu.page_aligned) \ |
@@ -34814,6 +34962,11 @@ diff -urNp linux-2.6.30.4/include/asm-generic/vmlinux.lds.h linux-2.6.30.4/inclu | |||
34814 | *(.data.percpu.shared_aligned) \ | 34962 | *(.data.percpu.shared_aligned) \ |
34815 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ | 34963 | VMLINUX_SYMBOL(__per_cpu_end) = .; \ |
34816 | } phdr \ | 34964 | } phdr \ |
34965 | - . = VMLINUX_SYMBOL(__per_cpu_load) + SIZEOF(.data.percpu); | ||
34966 | + . = VMLINUX_SYMBOL(per_cpu_load) + SIZEOF(.data.percpu); | ||
34967 | |||
34968 | /** | ||
34969 | * PERCPU - define output section for percpu area, simple version | ||
34817 | diff -urNp linux-2.6.30.4/include/drm/drm_pciids.h linux-2.6.30.4/include/drm/drm_pciids.h | 34970 | diff -urNp linux-2.6.30.4/include/drm/drm_pciids.h linux-2.6.30.4/include/drm/drm_pciids.h |
34818 | --- linux-2.6.30.4/include/drm/drm_pciids.h 2009-07-24 17:47:51.000000000 -0400 | 34971 | --- linux-2.6.30.4/include/drm/drm_pciids.h 2009-07-24 17:47:51.000000000 -0400 |
34819 | +++ linux-2.6.30.4/include/drm/drm_pciids.h 2009-07-30 09:48:10.106233963 -0400 | 34972 | +++ linux-2.6.30.4/include/drm/drm_pciids.h 2009-07-30 09:48:10.106233963 -0400 |
@@ -44559,6 +44712,22 @@ diff -urNp linux-2.6.30.4/sound/usb/usx2y/usx2yhwdeppcm.c linux-2.6.30.4/sound/u | |||
44559 | .open = snd_usX2Y_hwdep_pcm_vm_open, | 44712 | .open = snd_usX2Y_hwdep_pcm_vm_open, |
44560 | .close = snd_usX2Y_hwdep_pcm_vm_close, | 44713 | .close = snd_usX2Y_hwdep_pcm_vm_close, |
44561 | .fault = snd_usX2Y_hwdep_pcm_vm_fault, | 44714 | .fault = snd_usX2Y_hwdep_pcm_vm_fault, |
44715 | diff -urNp linux-2.6.30.4/usr/gen_init_cpio.c linux-2.6.30.4/usr/gen_init_cpio.c | ||
44716 | --- linux-2.6.30.4/usr/gen_init_cpio.c 2009-07-24 17:47:51.000000000 -0400 | ||
44717 | +++ linux-2.6.30.4/usr/gen_init_cpio.c 2009-08-09 07:48:48.304466902 -0400 | ||
44718 | @@ -383,9 +383,10 @@ static char *cpio_replace_env(char *new_ | ||
44719 | *env_var = *expanded = '\0'; | ||
44720 | strncat(env_var, start + 2, end - start - 2); | ||
44721 | strncat(expanded, new_location, start - new_location); | ||
44722 | - strncat(expanded, getenv(env_var), PATH_MAX); | ||
44723 | - strncat(expanded, end + 1, PATH_MAX); | ||
44724 | + strncat(expanded, getenv(env_var), PATH_MAX - strlen(expanded)); | ||
44725 | + strncat(expanded, end + 1, PATH_MAX - strlen(expanded)); | ||
44726 | strncpy(new_location, expanded, PATH_MAX); | ||
44727 | + new_location[PATH_MAX] = 0; | ||
44728 | } else | ||
44729 | break; | ||
44730 | } | ||
44562 | diff -urNp linux-2.6.30.4/virt/kvm/kvm_main.c linux-2.6.30.4/virt/kvm/kvm_main.c | 44731 | diff -urNp linux-2.6.30.4/virt/kvm/kvm_main.c linux-2.6.30.4/virt/kvm/kvm_main.c |
44563 | --- linux-2.6.30.4/virt/kvm/kvm_main.c 2009-07-24 17:47:51.000000000 -0400 | 44732 | --- linux-2.6.30.4/virt/kvm/kvm_main.c 2009-07-24 17:47:51.000000000 -0400 |
44564 | +++ linux-2.6.30.4/virt/kvm/kvm_main.c 2009-07-30 12:42:02.581987537 -0400 | 44733 | +++ linux-2.6.30.4/virt/kvm/kvm_main.c 2009-07-30 12:42:02.581987537 -0400 |