Yinghai Lu
fa74c90733
x86: fix set_extra_move_desc calling
...
Impact: fix bug with irq-descriptor moving when logical flat
Rusty observed:
> The effect of setting desc->affinity (ie. from userspace via sysfs) has varied
> over time. In 2.6.27, the 32-bit code anded the value with cpu_online_map,
> and both 32 and 64-bit did that anding whenever a cpu was unplugged.
>
> 2.6.29 consolidated this into one routine (and fixed hotplug) but introduced
> another variation: anding the affinity with cfg->domain. Is this right, or
> should we just set it to what the user said? Or as now, indicate that we're
> restricting it.
Eric pointed out that desc->affinity should be what the user requested,
if it is at all possible to honor the user space request.
This bug got introduced by commit 22f65d31b "x86: Update io_apic.c to use
new cpumask API".
Fix it by moving the masking to before the descriptor moving ...
Reported-by: Rusty Russell <rusty@rustcorp.com.au >
Reported-by: Eric W. Biederman <ebiederm@xmission.com >
LKML-Reference: <49C94134.4000408@kernel.org >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-03-24 22:12:10 +01:00
..
2009-02-24 21:50:43 +01:00
2009-03-24 22:12:10 +01:00
Merge branches 'x86/cleanups', 'x86/cpu', 'x86/debug', 'x86/mce2', 'x86/mm', 'x86/mtrr', 'x86/setup', 'x86/setup-memory', 'x86/urgent', 'x86/uv', 'x86/x2apic' and 'linus' into x86/core
2009-03-18 13:19:49 +01:00
2009-03-03 21:05:42 -08:00
2009-01-03 12:03:52 -08:00
2009-01-03 16:44:15 +01:00
2008-11-28 15:24:39 +01:00
2009-02-22 20:05:19 +01:00
2009-02-10 00:42:00 +01:00
2009-01-20 12:29:20 +09:00
2008-12-29 22:08:28 -08:00
2009-03-15 07:03:15 +01:00
2009-01-03 12:04:39 -08:00
2009-02-17 17:52:44 +01:00
2009-03-06 16:13:15 +01:00
2008-12-03 08:56:25 +01:00
2009-01-19 00:38:58 +09:00
2009-02-09 09:45:29 +01:00
2008-12-03 08:56:25 +01:00
2009-03-15 10:01:59 +01:00
2009-03-13 02:37:18 +01:00
2009-01-09 12:46:22 -08:00
2009-03-11 10:29:28 +01:00
2009-02-25 08:27:46 +01:00
2009-02-24 18:08:40 +01:00
2009-03-11 10:29:28 +01:00
2009-03-14 09:42:51 +01:00
2009-03-12 11:57:46 +01:00
2009-02-11 10:06:13 +01:00
2009-03-14 17:23:47 -07:00
2009-03-14 15:37:14 -07:00
2009-03-17 11:52:10 -07:00
2009-02-24 18:08:38 +01:00
2008-12-12 11:08:42 +01:00
2009-02-17 14:27:39 -08:00
2009-03-04 20:33:16 +01:00
2009-02-10 13:13:23 +01:00
2009-03-21 16:56:10 +05:30
2009-02-23 00:08:11 +01:00
2008-12-31 18:07:42 -05:00
2009-03-21 16:57:04 +05:30
2009-03-02 12:07:48 +01:00
2009-02-24 21:52:45 +01:00
2009-02-09 12:16:05 +01:00
2009-03-13 02:36:52 +01:00
2009-03-04 20:25:37 +01:00
2009-03-04 20:25:37 +01:00
2009-03-21 16:55:45 +05:30
2009-02-17 17:52:44 +01:00
2009-03-18 13:21:01 +01:00
2009-03-19 14:04:19 +01:00
2009-02-23 00:08:11 +01:00
2009-01-02 17:46:24 +01:00
2009-03-10 18:13:25 -07:00
2009-03-10 18:13:25 -07:00
2009-03-04 20:25:38 +01:00
2009-02-23 00:08:11 +01:00
2009-01-06 11:28:06 +01:00
2008-12-19 01:31:54 +01:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
2009-01-12 11:22:40 +01:00
2009-03-12 13:13:07 +01:00
2009-01-12 11:22:55 +01:00
2009-01-12 11:23:01 +01:00
2009-03-21 14:15:43 +05:30
2009-01-12 11:22:50 +01:00
2009-02-14 23:05:25 +01:00
2009-01-30 14:51:44 -08:00
2009-01-30 14:51:44 -08:00
2009-01-20 17:14:28 +01:00
2009-03-19 14:04:19 +01:00
2008-11-25 15:56:03 +01:00
2009-01-07 11:12:23 -08:00
2009-01-29 18:19:29 -08:00
2009-03-21 17:01:25 +05:30
2009-01-05 14:17:24 +01:00
2009-01-29 14:16:51 +01:00
2009-03-02 12:07:48 +01:00
2009-03-02 12:07:48 +01:00
2009-03-16 15:32:28 +01:00
2009-03-13 10:27:57 +01:00
2009-03-10 09:55:18 +01:00
2009-03-11 10:29:28 +01:00
2009-03-10 18:13:25 -07:00
2009-03-10 18:13:25 -07:00
2009-03-21 16:56:37 +05:30
2009-03-10 16:27:48 +09:00
2009-03-14 17:23:47 -07:00
2009-03-20 19:01:31 +01:00
2009-02-17 17:52:44 +01:00
2009-03-08 16:22:56 +01:00
2009-01-31 04:21:18 +01:00
2009-02-11 12:40:45 +01:00
2009-02-23 00:08:11 +01:00
2009-02-22 10:27:49 -08:00
2009-03-18 09:47:54 +01:00
2009-03-21 16:55:24 +05:30
2009-02-13 11:35:01 -08:00
2009-02-13 11:35:01 -08:00
2008-12-08 13:49:45 +01:00
2009-03-02 12:07:48 +01:00
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv' and 'x86/xen' into x86/core
2008-12-23 16:27:23 +01:00
Merge branches 'x86/cleanups', 'x86/cpu', 'x86/debug', 'x86/mce2', 'x86/mm', 'x86/mtrr', 'x86/setup', 'x86/setup-memory', 'x86/urgent', 'x86/uv', 'x86/x2apic' and 'linus' into x86/core
2009-03-18 13:19:49 +01:00
2009-02-17 17:52:44 +01:00
2009-03-05 11:27:49 +01:00
2009-03-11 09:49:01 +01:00
2009-02-11 14:00:56 -08:00
2009-03-19 14:04:19 +01:00
2009-02-24 21:50:43 +01:00
2009-03-17 14:16:02 -07:00
2009-03-17 12:58:15 -07:00
2009-02-26 06:40:06 +01:00
2008-12-28 12:21:10 -08:00
2009-01-16 14:20:22 +01:00
2008-12-30 13:31:41 -08:00