From 50eb5ff7054e325948d6b56077128e0849dbedbe Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 4 Feb 2013 13:48:32 -0800 Subject: [PATCH] 3.7-stable patches added patches: mtd-davinci_nand-fix-modular-build-with-config_of-y.patch sched-rt-use-root_domain-of-rt_rq-not-current-processor.patch x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch --- ...d-fix-modular-build-with-config_of-y.patch | 37 +++++++++++++ ...omain-of-rt_rq-not-current-processor.patch | 48 +++++++++++++++++ queue-3.7/series | 3 ++ ...over-sti-cli-in-ia32-audit-exit-code.patch | 53 +++++++++++++++++++ 4 files changed, 141 insertions(+) create mode 100644 queue-3.7/mtd-davinci_nand-fix-modular-build-with-config_of-y.patch create mode 100644 queue-3.7/sched-rt-use-root_domain-of-rt_rq-not-current-processor.patch create mode 100644 queue-3.7/x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch diff --git a/queue-3.7/mtd-davinci_nand-fix-modular-build-with-config_of-y.patch b/queue-3.7/mtd-davinci_nand-fix-modular-build-with-config_of-y.patch new file mode 100644 index 00000000000..aa9f0436998 --- /dev/null +++ b/queue-3.7/mtd-davinci_nand-fix-modular-build-with-config_of-y.patch @@ -0,0 +1,37 @@ +From 7a9c83888761a9a26049b439dc0b09e7ea8a854b Mon Sep 17 00:00:00 2001 +From: Sergei Shtylyov +Date: Thu, 3 Jan 2013 21:27:34 +0300 +Subject: mtd: davinci_nand: fix modular build with CONFIG_OF=y + +From: Sergei Shtylyov + +commit 7a9c83888761a9a26049b439dc0b09e7ea8a854b upstream. + +Commit cdeadd712f52b16a9285386d61ee26fd14eb4085 (mtd: nand: davinci: add OF +support for davinci nand controller) has never been really build tested with +the driver as a module. When the driver is built-in, the missing semicolon +after structure initializer is "compensated" by MODULE_DEVICE_TABLE() macro +being empty and so the initializer using the trailing semicolon on the next +line; when the driver is built as a module, compilation error ensues, and as +the 'davinci_all_defconfig' has the NAND driver modular, this error prevents +DaVinci family kernel from building... + +Signed-off-by: Sergei Shtylyov +Signed-off-by: David Woodhouse +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/mtd/nand/davinci_nand.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/mtd/nand/davinci_nand.c ++++ b/drivers/mtd/nand/davinci_nand.c +@@ -523,7 +523,7 @@ static struct nand_ecclayout hwecc4_2048 + static const struct of_device_id davinci_nand_of_match[] = { + {.compatible = "ti,davinci-nand", }, + {}, +-} ++}; + MODULE_DEVICE_TABLE(of, davinci_nand_of_match); + + static struct davinci_nand_pdata diff --git a/queue-3.7/sched-rt-use-root_domain-of-rt_rq-not-current-processor.patch b/queue-3.7/sched-rt-use-root_domain-of-rt_rq-not-current-processor.patch new file mode 100644 index 00000000000..4b439c88673 --- /dev/null +++ b/queue-3.7/sched-rt-use-root_domain-of-rt_rq-not-current-processor.patch @@ -0,0 +1,48 @@ +From aa7f67304d1a03180f463258aa6f15a8b434e77d Mon Sep 17 00:00:00 2001 +From: Shawn Bohrer +Date: Mon, 14 Jan 2013 11:55:31 -0600 +Subject: sched/rt: Use root_domain of rt_rq not current processor + +From: Shawn Bohrer + +commit aa7f67304d1a03180f463258aa6f15a8b434e77d upstream. + +When the system has multiple domains do_sched_rt_period_timer() +can run on any CPU and may iterate over all rt_rq in +cpu_online_mask. This means when balance_runtime() is run for a +given rt_rq that rt_rq may be in a different rd than the current +processor. Thus if we use smp_processor_id() to get rd in +do_balance_runtime() we may borrow runtime from a rt_rq that is +not part of our rd. + +This changes do_balance_runtime to get the rd from the passed in +rt_rq ensuring that we borrow runtime only from the correct rd +for the given rt_rq. + +This fixes a BUG at kernel/sched/rt.c:687! in __disable_runtime +when we try reclaim runtime lent to other rt_rq but runtime has +been lent to a rt_rq in another rd. + +Signed-off-by: Shawn Bohrer +Acked-by: Steven Rostedt +Acked-by: Mike Galbraith +Cc: peterz@infradead.org +Link: http://lkml.kernel.org/r/1358186131-29494-1-git-send-email-sbohrer@rgmadvisors.com +Signed-off-by: Ingo Molnar +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/sched/rt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/kernel/sched/rt.c ++++ b/kernel/sched/rt.c +@@ -566,7 +566,7 @@ static inline struct rt_bandwidth *sched + static int do_balance_runtime(struct rt_rq *rt_rq) + { + struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); +- struct root_domain *rd = cpu_rq(smp_processor_id())->rd; ++ struct root_domain *rd = rq_of_rt_rq(rt_rq)->rd; + int i, weight, more = 0; + u64 rt_period; + diff --git a/queue-3.7/series b/queue-3.7/series index 3c36ae3be3a..249b4699ea2 100644 --- a/queue-3.7/series +++ b/queue-3.7/series @@ -8,3 +8,6 @@ drm-radeon-fix-backend-map-setup-on-1-rb-sumo-boards.patch drm-radeon-protect-against-div-by-0-in-backend-setup.patch drm-radeon-prevent-crash-in-the-ring-space-allocation.patch drm-radeon-calling-object_unrefer-when-creating-fb-failure.patch +x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch +sched-rt-use-root_domain-of-rt_rq-not-current-processor.patch +mtd-davinci_nand-fix-modular-build-with-config_of-y.patch diff --git a/queue-3.7/x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch b/queue-3.7/x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch new file mode 100644 index 00000000000..23d98de459f --- /dev/null +++ b/queue-3.7/x86-64-replace-left-over-sti-cli-in-ia32-audit-exit-code.patch @@ -0,0 +1,53 @@ +From 40a1ef95da85843696fc3ebe5fce39b0db32669f Mon Sep 17 00:00:00 2001 +From: Jan Beulich +Date: Wed, 30 Jan 2013 07:55:53 +0000 +Subject: x86-64: Replace left over sti/cli in ia32 audit exit code + +From: Jan Beulich + +commit 40a1ef95da85843696fc3ebe5fce39b0db32669f upstream. + +For some reason they didn't get replaced so far by their +paravirt equivalents, resulting in code to be run with +interrupts disabled that doesn't expect so (causing, in the +observed case, a BUG_ON() to trigger) when syscall auditing is +enabled. + +David (Cc-ed) came up with an identical fix, so likely this can +be taken to count as an ack from him. + +Reported-by: Peter Moody +Signed-off-by: Jan Beulich +Cc: David Vrabel +Cc: Konrad Rzeszutek Wilk +Link: http://lkml.kernel.org/r/5108E01902000078000BA9C5@nat28.tlf.novell.com +Signed-off-by: Ingo Molnar +Cc: Konrad Rzeszutek Wilk +Cc: David Vrabel +Tested-by: Peter Moody +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/ia32/ia32entry.S | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/arch/x86/ia32/ia32entry.S ++++ b/arch/x86/ia32/ia32entry.S +@@ -207,7 +207,7 @@ sysexit_from_sys_call: + testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) + jnz ia32_ret_from_sys_call + TRACE_IRQS_ON +- sti ++ ENABLE_INTERRUPTS(CLBR_NONE) + movl %eax,%esi /* second arg, syscall return value */ + cmpl $-MAX_ERRNO,%eax /* is it an error ? */ + jbe 1f +@@ -217,7 +217,7 @@ sysexit_from_sys_call: + call __audit_syscall_exit + movq RAX-ARGOFFSET(%rsp),%rax /* reload syscall return value */ + movl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),%edi +- cli ++ DISABLE_INTERRUPTS(CLBR_NONE) + TRACE_IRQS_OFF + testl %edi,TI_flags+THREAD_INFO(%rsp,RIP-ARGOFFSET) + jz \exit -- 2.47.3