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]