Mike Travis
a775a38b13
x86: fix cpu_mask_to_apicid_and to include cpu_online_mask
...
Impact: fix potential APIC crash
In determining the destination apicid, there are usually three cpumasks
that are considered: the incoming cpumask arg, cfg->domain and the
cpu_online_mask. Since we are just introducing the cpu_mask_to_apicid_and
function, make sure it includes the cpu_online_mask in it's evaluation.
[Added with this patch.]
There are two io_apic.c functions that did not previously use the
cpu_online_mask: setup_IO_APIC_irq and msi_compose_msg. Both of these
simply used cpu_mask_to_apicid(cfg->domain & TARGET_CPUS), and all but
one arch (NUMAQ[*]) returns only online cpus in the TARGET_CPUS mask,
so the behavior is identical for all cases.
[*: NUMAQ bug?]
Note that alloc_cpumask_var is only used for the 32-bit cases where
it's highly likely that the cpumask set size will be small and therefore
CPUMASK_OFFSTACK=n. But if that's not the case, failing the allocate
will cause the same return value as the default.
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-12-18 11:59:24 +01:00
..
2008-12-08 15:08:28 +01:00
2008-12-16 17:40:59 -08:00
2008-07-10 10:13:51 -07:00
2008-10-13 10:33:46 +02:00
2008-11-18 15:44:42 +01:00
2008-12-08 14:58:55 +01:00
2008-09-30 10:25:28 +02:00
2008-12-18 11:55:12 +01:00
2008-12-02 11:28:49 +01:00
2008-10-22 22:55:23 -07:00
2008-10-16 16:53:13 +02:00
2008-10-16 09:24:43 -07:00
2008-10-20 08:52:39 -07:00
2008-10-20 08:52:39 -07:00
2008-12-16 17:40:56 -08:00
2008-10-13 10:33:15 +02:00
2008-11-25 17:31:12 +01:00
2008-12-03 08:56:25 +01:00
2008-12-03 08:56:25 +01:00
2008-12-03 08:56:25 +01:00
2008-12-03 08:56:25 +01:00
2008-11-01 10:17:22 -07:00
2008-10-12 15:19:36 +02:00
2008-11-15 11:37:16 -08:00
2008-08-18 08:50:19 +02:00
2008-10-16 16:53:13 +02:00
2008-12-03 08:56:26 +01:00
2008-12-03 08:56:26 +01:00
2008-12-08 15:07:49 +01:00
2008-12-08 15:11:45 +01:00
2008-11-18 00:27:24 +01:00
2008-12-18 11:59:24 +01:00
2008-12-18 11:59:24 +01:00
2008-12-18 11:59:24 +01:00
2008-12-18 11:59:24 +01:00
2008-09-29 10:04:53 +02:00
2008-10-10 19:29:11 +02:00
2008-10-10 19:29:11 +02:00
2008-10-13 10:21:10 +02:00
2008-12-13 21:20:26 +10:30
2008-10-20 18:27:03 +02:00
2008-11-20 16:43:41 +01:00
2008-12-13 21:20:26 +10:30
2008-07-12 08:44:55 +02:00
2008-12-17 13:35:51 +01:00
2008-09-03 16:42:51 -07:00
2008-07-22 14:35:57 +02:00
2008-12-16 17:40:57 -08:00
2008-12-16 17:40:57 -08:00
2008-12-16 17:40:57 -08:00
2008-12-08 14:31:51 +01:00
2008-12-08 14:31:52 +01:00
2008-12-08 14:31:52 +01:00
2008-10-28 17:10:27 +01:00
2008-09-10 14:03:49 +02:00
2008-10-06 13:50:59 -05:00
2008-07-25 10:53:30 -07:00
2008-08-22 05:34:44 +02:00
2008-11-30 10:03:37 -08:00
2008-10-12 12:37:32 +02:00
2008-10-31 10:01:57 +01:00
2008-07-26 12:00:04 -07:00
2008-12-08 15:11:44 +01:00
2008-12-13 21:20:26 +10:30
2008-10-28 16:41:28 +01:00
2008-10-28 16:41:16 +01:00
2008-09-23 12:21:42 +02:00
2008-08-18 07:49:06 +02:00
2008-07-24 10:47:21 -07:00
2008-12-08 15:08:28 +01:00
2008-10-16 09:24:43 -07:00
2008-10-27 18:44:05 +01:00
2008-11-18 00:27:24 +01:00
2008-09-24 10:29:04 +02:00
2008-08-15 16:53:25 +02:00
2008-12-08 16:08:29 +01:00
2008-10-12 12:37:32 +02:00
2008-11-25 15:56:03 +01:00
2008-10-24 11:09:43 -07:00
2008-12-03 10:02:41 +01:00
2008-09-25 11:02:25 +02:00
2008-10-23 21:54:40 +02:00
2008-09-22 12:58:36 +02:00
2008-12-08 15:11:44 +01:00
2008-12-08 15:11:44 +01:00
2008-12-12 13:49:24 +01:00
2008-11-25 17:31:12 +01:00
2008-10-15 14:25:14 +02:00
2008-10-16 16:52:52 +02:00
2008-12-17 13:24:52 +01:00
2008-10-31 10:01:57 +01:00
2008-10-20 08:52:41 -07:00
2008-12-16 17:40:56 -08:00
2008-12-17 13:07:48 +01:00
2008-10-11 20:23:20 +02:00
2008-10-11 20:23:20 +02:00
2008-10-11 20:23:20 +02:00
2008-12-16 17:40:57 -08:00
2008-12-17 13:08:34 +01:00
2008-08-15 19:16:05 +02:00
2008-11-23 11:53:48 +01:00
2008-07-16 12:15:17 -07:00
2008-07-26 16:31:35 +02:00
2008-07-22 14:35:57 +02:00
Merge branches 'x86/alternatives', 'x86/cleanups', 'x86/commandline', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/exports', 'x86/fpu', 'x86/gart', 'x86/idle', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/oprofile', 'x86/paravirt', 'x86/reboot', 'x86/sparse-fixes', 'x86/tsc', 'x86/urgent' and 'x86/vmalloc' into x86-v28-for-linus-phase1
2008-10-06 18:17:07 +02:00
2008-10-22 22:55:23 -07:00
2008-07-24 10:47:29 -07:00
2008-10-13 10:21:47 +02:00
2008-10-13 10:21:49 +02:00
2008-12-16 17:40:56 -08:00
2008-12-16 17:40:56 -08:00
2008-10-22 16:56:23 +02:00
2008-07-22 14:35:57 +02:00
2008-10-22 13:19:01 +02:00
2008-11-18 00:15:02 +01:00
2008-11-08 17:05:38 +01:00
2008-10-16 16:53:13 +02:00
2008-10-16 16:53:13 +02:00
2008-10-16 16:53:15 +02:00
2008-07-22 14:35:57 +02:00
2008-12-14 16:24:38 -08:00
2008-12-13 21:20:26 +10:30
2008-10-16 16:53:15 +02:00
2008-10-16 16:53:15 +02:00
2008-10-29 08:02:28 +01:00
2008-11-12 22:27:58 +01:00
2008-10-20 18:27:03 +02:00
2008-11-20 16:43:42 +01:00