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

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

* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86: fix early panic on amd64 due to typo in supported CPU section
x86, early_ioremap: fix fencepost error
x86: avoid dereferencing beyond stack + THREAD_SIZE

+4 -4
+2 -2
arch/x86/kernel/process_64.c
··· 754 754 if (!p || p == current || p->state == TASK_RUNNING) 755 755 return 0; 756 756 stack = (unsigned long)task_stack_page(p); 757 - if (p->thread.sp < stack || p->thread.sp > stack+THREAD_SIZE) 757 + if (p->thread.sp < stack || p->thread.sp >= stack+THREAD_SIZE) 758 758 return 0; 759 759 fp = *(u64 *)(p->thread.sp); 760 760 do { 761 761 if (fp < (unsigned long)stack || 762 - fp > (unsigned long)stack+THREAD_SIZE) 762 + fp >= (unsigned long)stack+THREAD_SIZE) 763 763 return 0; 764 764 ip = *(u64 *)(fp+8); 765 765 if (!in_sched_functions(ip))
+1 -1
arch/x86/kernel/vmlinux_64.lds.S
··· 172 172 .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) { 173 173 *(.x86_cpu_dev.init) 174 174 } 175 - SECURITY_INIT 176 175 __x86_cpu_dev_end = .; 176 + SECURITY_INIT 177 177 178 178 . = ALIGN(8); 179 179 .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
+1 -1
arch/x86/mm/ioremap.c
··· 614 614 */ 615 615 offset = phys_addr & ~PAGE_MASK; 616 616 phys_addr &= PAGE_MASK; 617 - size = PAGE_ALIGN(last_addr) - phys_addr; 617 + size = PAGE_ALIGN(last_addr + 1) - phys_addr; 618 618 619 619 /* 620 620 * Mappings have to fit in the FIX_BTMAP area.