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:
"This tree contains assorted fixlets: an alternatives patching crash
fix, an irq migration/hotplug interaction fix, a fix for large AMD
microcode images and a comment fixlet."

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86, microcode, AMD: Fix broken ucode patch size check
x86/alternatives: Fix p6 nops on non-modular kernels
x86/fixup_irq: Use cpu_online_mask instead of cpu_all_mask
x86/spinlocks: Fix comment in spinlock.h

+7 -7
+1 -2
arch/x86/include/asm/spinlock.h
··· 12 12 * Simple spin lock operations. There are two variants, one clears IRQ's 13 13 * on the local processor, one does not. 14 14 * 15 - * These are fair FIFO ticket locks, which are currently limited to 256 16 - * CPUs. 15 + * These are fair FIFO ticket locks, which support up to 2^16 CPUs. 17 16 * 18 17 * (the type definitions are in asm/spinlock_types.h) 19 18 */
+1 -1
arch/x86/kernel/alternative.c
··· 165 165 #endif 166 166 167 167 #ifdef P6_NOP1 168 - static const unsigned char __initconst_or_module p6nops[] = 168 + static const unsigned char p6nops[] = 169 169 { 170 170 P6_NOP1, 171 171 P6_NOP2,
+1 -1
arch/x86/kernel/irq.c
··· 270 270 271 271 if (cpumask_any_and(affinity, cpu_online_mask) >= nr_cpu_ids) { 272 272 break_affinity = 1; 273 - affinity = cpu_all_mask; 273 + affinity = cpu_online_mask; 274 274 } 275 275 276 276 chip = irq_data_get_irq_chip(data);
+4 -3
arch/x86/kernel/microcode_amd.c
··· 143 143 unsigned int *current_size) 144 144 { 145 145 struct microcode_header_amd *mc_hdr; 146 - unsigned int actual_size; 146 + unsigned int actual_size, patch_size; 147 147 u16 equiv_cpu_id; 148 148 149 149 /* size of the current patch we're staring at */ 150 - *current_size = *(u32 *)(ucode_ptr + 4) + SECTION_HDR_SIZE; 150 + patch_size = *(u32 *)(ucode_ptr + 4); 151 + *current_size = patch_size + SECTION_HDR_SIZE; 151 152 152 153 equiv_cpu_id = find_equiv_id(); 153 154 if (!equiv_cpu_id) ··· 175 174 /* 176 175 * now that the header looks sane, verify its size 177 176 */ 178 - actual_size = verify_ucode_size(cpu, *current_size, leftover_size); 177 + actual_size = verify_ucode_size(cpu, patch_size, leftover_size); 179 178 if (!actual_size) 180 179 return 0; 181 180