Patch "sparc64: Do not disable interrupts in nmi_cpu_busy()" has been added to the 3.14-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    sparc64: Do not disable interrupts in nmi_cpu_busy()

to the 3.14-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     sparc64-do-not-disable-interrupts-in-nmi_cpu_busy.patch
and it can be found in the queue-3.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From foo@baz Tue Oct 28 11:13:19 CST 2014
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Mon, 11 Aug 2014 20:45:01 -0700
Subject: sparc64: Do not disable interrupts in nmi_cpu_busy()

From: "David S. Miller" <davem@xxxxxxxxxxxxx>

[ Upstream commit 58556104e9cd0107a7a8d2692cf04ef31669f6e4 ]

nmi_cpu_busy() is a SMP function call that just makes sure that all of the
cpus are spinning using cpu cycles while the NMI test runs.

It does not need to disable IRQs because we just care about NMIs executing
which will even with 'normal' IRQs disabled.

It is not legal to enable hard IRQs in a SMP cross call, in fact this bug
triggers the BUG check in irq_work_run_list():

	BUG_ON(!irqs_disabled());

Because now irq_work_run() is invoked from the tail of
generic_smp_call_function_single_interrupt().

Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 arch/sparc/kernel/nmi.c |    1 -
 1 file changed, 1 deletion(-)

--- a/arch/sparc/kernel/nmi.c
+++ b/arch/sparc/kernel/nmi.c
@@ -141,7 +141,6 @@ static inline unsigned int get_nmi_count
 
 static __init void nmi_cpu_busy(void *data)
 {
-	local_irq_enable_in_hardirq();
 	while (endflag == 0)
 		mb();
 }


Patches currently in stable-queue which might be from davem@xxxxxxxxxxxxx are

queue-3.14/sparc64-adjust-vmalloc-region-size-based-upon-available-virtual-address-bits.patch
queue-3.14/sparc64-fix-fpu-register-corruption-with-aes-crypto-offload.patch
queue-3.14/sparc64-move-request_irq-from-ldc_bind-to-ldc_alloc.patch
queue-3.14/sparc32-dma_alloc_coherent-must-honour-gfp-flags.patch
queue-3.14/sparc64-kill-unnecessary-tables-and-increase-max_banks.patch
queue-3.14/sparc-let-memset-return-the-address-argument.patch
queue-3.14/sparc64-use-kernel-page-tables-for-vmemmap.patch
queue-3.14/sparc64-sparse-irq.patch
queue-3.14/sparc64-fix-physical-memory-management-regressions-with-large-max_phys_bits.patch
queue-3.14/sparc64-fix-lockdep-warnings-on-reboot-on-ultra-5.patch
queue-3.14/sparc64-switch-to-4-level-page-tables.patch
queue-3.14/sparc64-sun4v-tlb-error-power-off-events.patch
queue-3.14/sparc64-increase-size-of-boot-string-to-1024-bytes.patch
queue-3.14/sparc64-find_node-adjustment.patch
queue-3.14/sparc64-fix-reversed-start-end-in-flush_tlb_kernel_range.patch
queue-3.14/sparc64-increase-max_phys_address_bits-to-53.patch
queue-3.14/sparc64-define-va-hole-at-run-time-rather-than-at-compile-time.patch
queue-3.14/sparc64-fix-register-corruption-in-top-most-kernel-stack-frame-during-boot.patch
queue-3.14/sparc64-do-not-disable-interrupts-in-nmi_cpu_busy.patch
queue-3.14/sparc64-support-m6-and-m7-for-building-cpu-distribution-map.patch
queue-3.14/sparc64-cpu-hardware-caps-support-for-sparc-m6-and-m7.patch
queue-3.14/sparc64-do-not-define-thread-fpregs-save-area-as-zero-length-array.patch
queue-3.14/sparc64-t5-pmu.patch
queue-3.14/sparc64-adjust-ktsb-assembler-to-support-larger-physical-addresses.patch
queue-3.14/sparc64-implement-__get_user_pages_fast.patch
queue-3.14/sparc64-fix-corrupted-thread-fault-code.patch
queue-3.14/sparc64-fix-hibernation-code-refrence-to-page_offset.patch
queue-3.14/sparc64-correctly-recognise-m6-and-m7-cpu-type.patch
queue-3.14/sparc64-fix-pcr_ops-initialization-and-usage-bugs.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]