Re: [Fastboot] Re: [PATCH] [KDUMP] pending interrupts problem

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

 



Alex Lyashkov <[email protected]> writes:

> seems to bad patch. you dereference pointer (1) before check to NULL(2).

Duh.  I forgot to delete the earlier references. 
That should have been...

---

 arch/i386/kernel/smp.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

applies-to: e6a6c8ed12ba1ef7fa376fa3993e3c329e9f294a
50119a3947498cd8112455e8111f0579f5b8a232
diff --git a/arch/i386/kernel/smp.c b/arch/i386/kernel/smp.c
index 218d725..b0fb524 100644
--- a/arch/i386/kernel/smp.c
+++ b/arch/i386/kernel/smp.c
@@ -560,6 +560,7 @@ int smp_call_function (void (*func) (voi
 	if (wait)
 		while (atomic_read(&data.finished) != cpus)
 			cpu_relax();
+	call_data = NULL;
 	spin_unlock(&call_lock);
 
 	return 0;
@@ -604,11 +605,19 @@ fastcall void smp_reschedule_interrupt(s
 
 fastcall void smp_call_function_interrupt(struct pt_regs *regs)
 {
-	void (*func) (void *info) = call_data->func;
-	void *info = call_data->info;
-	int wait = call_data->wait;
+	void (*func) (void *info);
+	void *info;
+	int wait;
 
 	ack_APIC_irq();
+
+	/* Ignore spurious IPIs */
+	if (!call_data)
+		return;
+
+	func = call_data->func;
+	info = call_data->info;
+	wait = call_data->wait;
 	/*
 	 * Notify initiating CPU that I've grabbed the data and am
 	 * about to execute the function
---
0.99.8.GIT
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux