]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.8-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Apr 2013 18:15:54 +0000 (11:15 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Apr 2013 18:15:54 +0000 (11:15 -0700)
added patches:
arm-7692-1-iop3xx-move-iop3xx_peripheral_virt_base.patch
arm-7699-1-sched_clock-add-more-notrace-to-prevent-recursion.patch

queue-3.8/arm-7692-1-iop3xx-move-iop3xx_peripheral_virt_base.patch [new file with mode: 0644]
queue-3.8/arm-7699-1-sched_clock-add-more-notrace-to-prevent-recursion.patch [new file with mode: 0644]
queue-3.8/series

diff --git a/queue-3.8/arm-7692-1-iop3xx-move-iop3xx_peripheral_virt_base.patch b/queue-3.8/arm-7692-1-iop3xx-move-iop3xx_peripheral_virt_base.patch
new file mode 100644 (file)
index 0000000..631686d
--- /dev/null
@@ -0,0 +1,72 @@
+From f5d6a1441a5045824f36ff7c6b6bbae0373472a6 Mon Sep 17 00:00:00 2001
+From: Aaro Koskinen <aaro.koskinen@iki.fi>
+Date: Wed, 3 Apr 2013 22:28:41 +0100
+Subject: ARM: 7692/1: iop3xx: move IOP3XX_PERIPHERAL_VIRT_BASE
+
+From: Aaro Koskinen <aaro.koskinen@iki.fi>
+
+commit f5d6a1441a5045824f36ff7c6b6bbae0373472a6 upstream.
+
+Currently IOP3XX_PERIPHERAL_VIRT_BASE conflicts with PCI_IO_VIRT_BASE:
+
+                                       address         size
+       PCI_IO_VIRT_BASE                0xfee00000      0x200000
+       IOP3XX_PERIPHERAL_VIRT_BASE     0xfeffe000      0x2000
+
+Fix by moving IOP3XX_PERIPHERAL_VIRT_BASE below PCI_IO_VIRT_BASE.
+
+The patch fixes the following kernel panic with 3.9-rc1 on iop3xx boards:
+
+[    0.000000] Booting Linux on physical CPU 0x0
+[    0.000000] Initializing cgroup subsys cpu
+[    0.000000] Linux version 3.9.0-rc1-iop32x (aaro@blackmetal) (gcc version 4.7.2 (GCC) ) #20 PREEMPT Tue Mar 5 16:44:36 EET 2013
+[    0.000000] bootconsole [earlycon0] enabled
+[    0.000000] ------------[ cut here ]------------
+[    0.000000] kernel BUG at mm/vmalloc.c:1145!
+[    0.000000] Internal error: Oops - BUG: 0 [#1] PREEMPT ARM
+[    0.000000] Modules linked in:
+[    0.000000] CPU: 0    Not tainted  (3.9.0-rc1-iop32x #20)
+[    0.000000] PC is at vm_area_add_early+0x4c/0x88
+[    0.000000] LR is at add_static_vm_early+0x14/0x68
+[    0.000000] pc : [<c03e74a8>]    lr : [<c03e1c40>]    psr: 800000d3
+[    0.000000] sp : c03ffee4  ip : dfffdf88  fp : c03ffef4
+[    0.000000] r10: 00000002  r9 : 000000cf  r8 : 00000653
+[    0.000000] r7 : c040eca8  r6 : c03e2408  r5 : dfffdf60  r4 : 00200000
+[    0.000000] r3 : dfffdfd8  r2 : feffe000  r1 : ff000000  r0 : dfffdf60
+[    0.000000] Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32  ISA ARM  Segment kernel
+[    0.000000] Control: 0000397f  Table: a0004000  DAC: 00000017
+[    0.000000] Process swapper (pid: 0, stack limit = 0xc03fe1b8)
+[    0.000000] Stack: (0xc03ffee4 to 0xc0400000)
+[    0.000000] fee0:          00200000 c03fff0c c03ffef8 c03e1c40 c03e7468 00200000 fee00000
+[    0.000000] ff00: c03fff2c c03fff10 c03e23e4 c03e1c38 feffe000 c0408ee4 ff000000 c0408f04
+[    0.000000] ff20: c03fff3c c03fff30 c03e2434 c03e23b4 c03fff84 c03fff40 c03e2c94 c03e2414
+[    0.000000] ff40: c03f8878 c03f6410 ffff0000 000bffff 00001000 00000008 c03fff84 c03f6410
+[    0.000000] ff60: c04227e8 c03fffd4 a0008000 c03f8878 69052e30 c02f96eb c03fffbc c03fff88
+[    0.000000] ff80: c03e044c c03e268c 00000000 0000397f c0385130 00000001 ffffffff c03f8874
+[    0.000000] ffa0: dfffffff a0004000 69052e30 a03f61a0 c03ffff4 c03fffc0 c03dd5cc c03e0184
+[    0.000000] ffc0: 00000000 00000000 00000000 00000000 00000000 c03f8878 0000397d c040601c
+[    0.000000] ffe0: c03f8874 c0408674 00000000 c03ffff8 a0008040 c03dd558 00000000 00000000
+[    0.000000] Backtrace:
+[    0.000000] [<c03e745c>] (vm_area_add_early+0x0/0x88) from [<c03e1c40>] (add_static_vm_early+0x14/0x68)
+
+Tested-by: Mikael Pettersson <mikpe@it.uu.se>
+Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/include/asm/hardware/iop3xx.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/include/asm/hardware/iop3xx.h
++++ b/arch/arm/include/asm/hardware/iop3xx.h
+@@ -37,7 +37,7 @@ extern int iop3xx_get_init_atu(void);
+  * IOP3XX processor registers
+  */
+ #define IOP3XX_PERIPHERAL_PHYS_BASE   0xffffe000
+-#define IOP3XX_PERIPHERAL_VIRT_BASE   0xfeffe000
++#define IOP3XX_PERIPHERAL_VIRT_BASE   0xfedfe000
+ #define IOP3XX_PERIPHERAL_SIZE                0x00002000
+ #define IOP3XX_PERIPHERAL_UPPER_PA (IOP3XX_PERIPHERAL_PHYS_BASE +\
+                                       IOP3XX_PERIPHERAL_SIZE - 1)
diff --git a/queue-3.8/arm-7699-1-sched_clock-add-more-notrace-to-prevent-recursion.patch b/queue-3.8/arm-7699-1-sched_clock-add-more-notrace-to-prevent-recursion.patch
new file mode 100644 (file)
index 0000000..e282093
--- /dev/null
@@ -0,0 +1,46 @@
+From cea15092f098b7018e89f64a5a14bb71955965d5 Mon Sep 17 00:00:00 2001
+From: Stephen Boyd <sboyd@codeaurora.org>
+Date: Thu, 18 Apr 2013 17:33:40 +0100
+Subject: ARM: 7699/1: sched_clock: Add more notrace to prevent recursion
+
+From: Stephen Boyd <sboyd@codeaurora.org>
+
+commit cea15092f098b7018e89f64a5a14bb71955965d5 upstream.
+
+cyc_to_sched_clock() is called by sched_clock() and cyc_to_ns()
+is called by cyc_to_sched_clock(). I suspect that some compilers
+inline both of these functions into sched_clock() and so we've
+been getting away without having a notrace marking. It seems that
+my compiler isn't inlining cyc_to_sched_clock() though, so I'm
+hitting a recursion bug when I enable the function graph tracer,
+causing my system to crash. Marking these functions notrace fixes
+it. Technically cyc_to_ns() doesn't need the notrace because it's
+already marked inline, but let's just add it so that if we ever
+remove inline from that function it doesn't blow up.
+
+Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
+Signed-off-by: Jonghwan Choi <jhbird.choi@samsung.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/kernel/sched_clock.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/kernel/sched_clock.c
++++ b/arch/arm/kernel/sched_clock.c
+@@ -45,12 +45,12 @@ static u32 notrace jiffy_sched_clock_rea
+ static u32 __read_mostly (*read_sched_clock)(void) = jiffy_sched_clock_read;
+-static inline u64 cyc_to_ns(u64 cyc, u32 mult, u32 shift)
++static inline u64 notrace cyc_to_ns(u64 cyc, u32 mult, u32 shift)
+ {
+       return (cyc * mult) >> shift;
+ }
+-static unsigned long long cyc_to_sched_clock(u32 cyc, u32 mask)
++static unsigned long long notrace cyc_to_sched_clock(u32 cyc, u32 mask)
+ {
+       u64 epoch_ns;
+       u32 epoch_cyc;
index 6afe9dcbfed79663576fc73d6cf5f16a026edcce..f30b6837721f323460cca91949eac711289f0615 100644 (file)
@@ -38,3 +38,5 @@ net-rate-limit-warn-bad-offload-splats.patch
 net-fix-incorrect-credentials-passing.patch
 net-drop-dst-before-queueing-fragments.patch
 tracing-fix-selftest-function-recursion-accounting.patch
+arm-7699-1-sched_clock-add-more-notrace-to-prevent-recursion.patch
+arm-7692-1-iop3xx-move-iop3xx_peripheral_virt_base.patch