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:
"Misc fixes: a core dumping crash fix, a guess-unwinder regression fix,
plus three build warning fixes"

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/unwind: Fix guess-unwinder regression
x86/build: Annotate die() with noreturn to fix build warning on clang
x86/platform/olpc: Fix resume handler build warning
x86/apic/uv: Silence a shift wrapping warning
x86/coredump: Always use user_regs_struct for compat_elf_gregset_t

+12 -9
+1 -3
arch/x86/include/asm/compat.h
··· 272 272 /* 273 273 * The type of struct elf_prstatus.pr_reg in compatible core dumps. 274 274 */ 275 - #ifdef CONFIG_X86_X32_ABI 276 275 typedef struct user_regs_struct compat_elf_gregset_t; 277 276 278 277 /* Full regset -- prstatus on x32, otherwise on ia32 */ ··· 280 281 do { *(int *) (((void *) &((S)->pr_reg)) + R) = (V); } \ 281 282 while (0) 282 283 284 + #ifdef CONFIG_X86_X32_ABI 283 285 #define COMPAT_USE_64BIT_TIME \ 284 286 (!!(task_pt_regs(current)->orig_ax & __X32_SYSCALL_BIT)) 285 - #else 286 - typedef struct user_regs_struct32 compat_elf_gregset_t; 287 287 #endif 288 288 289 289 /*
+2 -2
arch/x86/kernel/apic/x2apic_uv_x.c
··· 815 815 l = li; 816 816 } 817 817 addr1 = (base << shift) + 818 - f * (unsigned long)(1 << m_io); 818 + f * (1ULL << m_io); 819 819 addr2 = (base << shift) + 820 - (l + 1) * (unsigned long)(1 << m_io); 820 + (l + 1) * (1ULL << m_io); 821 821 pr_info("UV: %s[%03d..%03d] NASID 0x%04x ADDR 0x%016lx - 0x%016lx\n", 822 822 id, fi, li, lnasid, addr1, addr2); 823 823 if (max_io < l)
+6 -3
arch/x86/kernel/unwind_guess.c
··· 7 7 8 8 unsigned long unwind_get_return_address(struct unwind_state *state) 9 9 { 10 - unsigned long addr = READ_ONCE_NOCHECK(*state->sp); 10 + unsigned long addr; 11 11 12 12 if (unwind_done(state)) 13 13 return 0; 14 + 15 + addr = READ_ONCE_NOCHECK(*state->sp); 14 16 15 17 return ftrace_graph_ret_addr(state->task, &state->graph_idx, 16 18 addr, state->sp); ··· 27 25 return false; 28 26 29 27 do { 30 - unsigned long addr = READ_ONCE_NOCHECK(*state->sp); 28 + for (state->sp++; state->sp < info->end; state->sp++) { 29 + unsigned long addr = READ_ONCE_NOCHECK(*state->sp); 31 30 32 - for (state->sp++; state->sp < info->end; state->sp++) 33 31 if (__kernel_text_address(addr)) 34 32 return true; 33 + } 35 34 36 35 state->sp = info->next_sp; 37 36
+2
arch/x86/platform/olpc/olpc-xo15-sci.c
··· 196 196 return 0; 197 197 } 198 198 199 + #ifdef CONFIG_PM_SLEEP 199 200 static int xo15_sci_resume(struct device *dev) 200 201 { 201 202 /* Enable all EC events */ ··· 208 207 209 208 return 0; 210 209 } 210 + #endif 211 211 212 212 static SIMPLE_DEV_PM_OPS(xo15_sci_pm, NULL, xo15_sci_resume); 213 213
+1 -1
arch/x86/tools/relocs.h
··· 16 16 #include <regex.h> 17 17 #include <tools/le_byteshift.h> 18 18 19 - void die(char *fmt, ...); 19 + void die(char *fmt, ...) __attribute__((noreturn)); 20 20 21 21 #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 22 22