add 2.6.32.10-rc1 patch

start work:
nuke sparc aligment merged patch, disable evident merged one.
patch conflicts with drm backport heavily.

svn path=/dists/sid/linux-2.6/; revision=15365
This commit is contained in:
Maximilian Attems 2010-03-13 04:40:13 +00:00
parent 30746b76c7
commit 80d3467a76
4 changed files with 7948 additions and 142 deletions

4
debian/changelog vendored
View File

@ -2,6 +2,10 @@ linux-2.6 (2.6.32-10) UNRELEASED; urgency=low
[ maximilian attems]
* tcp: fix ICMP-RTO war.
* Add stable 2.6.32.10-rc1.
- net/via-rhine: Fix scheduling while atomic bugs (closes: #549606)
- drm/i915: Fix DDC on some systems by clearing BIOS GMBUS
(closes: #567747)
[ Moritz Muehlenhoff ]
* Enable CONFIG_KEYS_DEBUG_PROC_KEYS (Closes: #400932)

File diff suppressed because it is too large Load Diff

View File

@ -1,141 +0,0 @@
commit 440ab7ac2d6b735fb278a1ff1674f6716314c6bb
Author: David S. Miller <davem@davemloft.net>
Date: Thu Feb 11 12:29:16 2010 -0800
sparc32: Fix thinko in previous change.
Should mask stack with 0xf not "0x15".
Noticed by Blue Swirl <blauwirbel@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
commit f036d9f3985a529a81e582f68aa984eb7b20d54d
Author: David S. Miller <davem@davemloft.net>
Date: Tue Feb 9 16:18:40 2010 -0800
sparc: Align clone and signal stacks to 16 bytes.
This is mandatory for 64-bit processes, and doing it also for 32-bit
processes saves a conditional in the compat case.
This fixes the glibc/nptl/tst-stdio1 test case, as well
as many others, on 64-bit.
Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/arch/sparc/kernel/process_32.c
+++ b/arch/sparc/kernel/process_32.c
@@ -526,7 +526,7 @@
* Set some valid stack frames to give to the child.
*/
childstack = (struct sparc_stackf __user *)
- (sp & ~0x7UL);
+ (sp & ~0xfUL);
parentstack = (struct sparc_stackf __user *)
regs->u_regs[UREG_FP];
--- a/arch/sparc/kernel/signal32.c
+++ b/arch/sparc/kernel/signal32.c
@@ -120,8 +120,8 @@
};
/* Align macros */
-#define SF_ALIGNEDSZ (((sizeof(struct signal_frame32) + 7) & (~7)))
-#define RT_ALIGNEDSZ (((sizeof(struct rt_signal_frame32) + 7) & (~7)))
+#define SF_ALIGNEDSZ (((sizeof(struct signal_frame32) + 15) & (~15)))
+#define RT_ALIGNEDSZ (((sizeof(struct rt_signal_frame32) + 15) & (~15)))
int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from)
{
@@ -420,15 +420,17 @@
sp = current->sas_ss_sp + current->sas_ss_size;
}
+ sp -= framesize;
+
/* Always align the stack frame. This handles two cases. First,
* sigaltstack need not be mindful of platform specific stack
* alignment. Second, if we took this signal because the stack
* is not aligned properly, we'd like to take the signal cleanly
* and report that.
*/
- sp &= ~7UL;
+ sp &= ~15UL;
- return (void __user *)(sp - framesize);
+ return (void __user *) sp;
}
static int save_fpu_state32(struct pt_regs *regs, __siginfo_fpu_t __user *fpu)
--- a/arch/sparc/kernel/signal_64.c
+++ b/arch/sparc/kernel/signal_64.c
@@ -353,7 +353,7 @@
/* Checks if the fp is valid */
static int invalid_frame_pointer(void __user *fp, int fplen)
{
- if (((unsigned long) fp) & 7)
+ if (((unsigned long) fp) & 15)
return 1;
return 0;
}
@@ -396,15 +396,17 @@
sp = current->sas_ss_sp + current->sas_ss_size;
}
+ sp -= framesize;
+
/* Always align the stack frame. This handles two cases. First,
* sigaltstack need not be mindful of platform specific stack
* alignment. Second, if we took this signal because the stack
* is not aligned properly, we'd like to take the signal cleanly
* and report that.
*/
- sp &= ~7UL;
+ sp &= ~15UL;
- return (void __user *)(sp - framesize);
+ return (void __user *) sp;
}
static inline void
--- a/arch/sparc/kernel/signal_32.c
+++ b/arch/sparc/kernel/signal_32.c
@@ -267,15 +267,17 @@
sp = current->sas_ss_sp + current->sas_ss_size;
}
+ sp -= framesize;
+
/* Always align the stack frame. This handles two cases. First,
* sigaltstack need not be mindful of platform specific stack
* alignment. Second, if we took this signal because the stack
* is not aligned properly, we'd like to take the signal cleanly
* and report that.
*/
- sp &= ~7UL;
+ sp &= ~15UL;
- return (void __user *)(sp - framesize);
+ return (void __user *) sp;
}
static inline int
--- a/arch/sparc/kernel/process_64.c
+++ b/arch/sparc/kernel/process_64.c
@@ -406,11 +406,11 @@
} else
__get_user(fp, &(((struct reg_window32 __user *)psp)->ins[6]));
- /* Now 8-byte align the stack as this is mandatory in the
- * Sparc ABI due to how register windows work. This hides
- * the restriction from thread libraries etc. -DaveM
+ /* Now align the stack as this is mandatory in the Sparc ABI
+ * due to how register windows work. This hides the
+ * restriction from thread libraries etc.
*/
- csp &= ~7UL;
+ csp &= ~15UL;
distance = fp - psp;
rval = (csp - distance);

View File

@ -1,5 +1,4 @@
+ bugfix/all/tcp-fix-ICMP-RTO-war.patch
+ bugfix/sparc/stack-alignment.patch
- bugfix/all/radeon_block_ability_userspace_app.patch
- bugfix/all/drm-i915-give-up-on-8xx-lid-status.patch
- bugfix/all/drm-i915-disable-powersave.patch
@ -13,3 +12,10 @@
+ bugfix/sparc/sparc64-Make-prom-entry-spinlock-NMI-safe.patch
+ bugfix/all/firmware-Sierra-Wireless-CIS-copyright.patch
+ bugfix/all/firmware-pcmcia-cs-CIS-source-and-copyright.patch
- features/sparc/video-sunxvr500-intergraph.patch
- bugfix/all/drivers-scsi-qla1280-request-firmware-unlocked.patch
- bugfix/all/fs-exec.c-fix-initial-stack-reservation.patch
- features/all/gro-Change-all-receive-functions-to-return-GRO-result.patch
- bugfix/all/cxusb-dont-select-lgs8gl5.patch
- bugfix/all/cxusb-select-lgs8gxx.patch
+ bugfix/all/stable/2.6.32.10-rc1.patch