Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

+4 -20
+1
arch/ia64/kernel/ia64_ksyms.c
··· 42 42 43 43 #ifdef CONFIG_VIRTUAL_MEM_MAP 44 44 #include <linux/bootmem.h> 45 + EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */ 45 46 EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */ 46 47 #endif 47 48
+1 -1
arch/ia64/kernel/kprobes.c
··· 740 740 switch(val) { 741 741 case DIE_BREAK: 742 742 /* err is break number from ia64_bad_break() */ 743 - if (args->err == 0x80200 || args->err == 0x80300) 743 + if (args->err == 0x80200 || args->err == 0x80300 || args->err == 0) 744 744 if (pre_kprobes_handler(args)) 745 745 ret = NOTIFY_STOP; 746 746 break;
-18
arch/ia64/kernel/traps.c
··· 132 132 siginfo_t siginfo; 133 133 int sig, code; 134 134 135 - /* break.b always sets cr.iim to 0, which causes problems for 136 - * debuggers. Get the real break number from the original instruction, 137 - * but only for kernel code. User space break.b is left alone, to 138 - * preserve the existing behaviour. All break codings have the same 139 - * format, so there is no need to check the slot type. 140 - */ 141 - if (break_num == 0 && !user_mode(regs)) { 142 - struct ia64_psr *ipsr = ia64_psr(regs); 143 - unsigned long *bundle = (unsigned long *)regs->cr_iip; 144 - unsigned long slot; 145 - switch (ipsr->ri) { 146 - case 0: slot = (bundle[0] >> 5); break; 147 - case 1: slot = (bundle[0] >> 46) | (bundle[1] << 18); break; 148 - default: slot = (bundle[1] >> 23); break; 149 - } 150 - break_num = ((slot >> 36 & 1) << 20) | (slot >> 6 & 0xfffff); 151 - } 152 - 153 135 /* SIGILL, SIGFPE, SIGSEGV, and SIGBUS want these field initialized: */ 154 136 siginfo.si_addr = (void __user *) (regs->cr_iip + ia64_psr(regs)->ri); 155 137 siginfo.si_imm = break_num;
+2 -1
include/asm-ia64/page.h
··· 110 110 # define pfn_to_page(pfn) (mem_map + (pfn)) 111 111 #elif defined(CONFIG_DISCONTIGMEM) 112 112 extern struct page *vmem_map; 113 + extern unsigned long min_low_pfn; 113 114 extern unsigned long max_low_pfn; 114 - # define pfn_valid(pfn) (((pfn) < max_low_pfn) && ia64_pfn_valid(pfn)) 115 + # define pfn_valid(pfn) (((pfn) >= min_low_pfn) && ((pfn) < max_low_pfn) && ia64_pfn_valid(pfn)) 115 116 # define page_to_pfn(page) ((unsigned long) (page - vmem_map)) 116 117 # define pfn_to_page(pfn) (vmem_map + (pfn)) 117 118 #endif