Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 fixes from Ingo Molnar:
"Two boot crash fixes and an IRQ handling crash fix"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/apic: Handle zero vector gracefully in clear_vector_irq()
Revert "x86/mm/32: Set NX in __supported_pte_mask before enabling paging"
xen/qspinlock: Don't kick CPU if IRQ is not initialized

+11 -9
+2 -1
arch/x86/kernel/apic/vector.c
··· 256 256 struct irq_desc *desc; 257 257 int cpu, vector; 258 258 259 - BUG_ON(!data->cfg.vector); 259 + if (!data->cfg.vector) 260 + return; 260 261 261 262 vector = data->cfg.vector; 262 263 for_each_cpu_and(cpu, data->domain, cpu_online_mask)
-6
arch/x86/kernel/head_32.S
··· 389 389 /* Make changes effective */ 390 390 wrmsr 391 391 392 - /* 393 - * And make sure that all the mappings we set up have NX set from 394 - * the beginning. 395 - */ 396 - orl $(1 << (_PAGE_BIT_NX - 32)), pa(__supported_pte_mask + 4) 397 - 398 392 enable_paging: 399 393 400 394 /*
+3 -2
arch/x86/mm/setup_nx.c
··· 32 32 33 33 void x86_configure_nx(void) 34 34 { 35 - /* If disable_nx is set, clear NX on all new mappings going forward. */ 36 - if (disable_nx) 35 + if (boot_cpu_has(X86_FEATURE_NX) && !disable_nx) 36 + __supported_pte_mask |= _PAGE_NX; 37 + else 37 38 __supported_pte_mask &= ~_PAGE_NX; 38 39 } 39 40
+6
arch/x86/xen/spinlock.c
··· 27 27 28 28 static void xen_qlock_kick(int cpu) 29 29 { 30 + int irq = per_cpu(lock_kicker_irq, cpu); 31 + 32 + /* Don't kick if the target's kicker interrupt is not initialized. */ 33 + if (irq == -1) 34 + return; 35 + 30 36 xen_send_IPI_one(cpu, XEN_SPIN_UNLOCK_VECTOR); 31 37 } 32 38