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 tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm

Pull ARM fixes from Russell King:
"Three fixes for ARM this time around:

- A fix for update_sections_early() to cope with NULL ->mm pointers.

- A correction to the backtrace code to allow proper backtraces.

- Reinforcement of pfn_valid() with PFNs >= 4GiB"

* tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm:
ARM: 8901/1: add a criteria for pfn_valid of arm
ARM: 8897/1: check stmfd instruction using right shift
ARM: 8874/1: mm: only adjust sections of valid mm structures

+8 -2
+1 -1
arch/arm/lib/backtrace.S
··· 66 66 67 67 1003: ldr r2, [sv_pc, #-4] @ if stmfd sp!, {args} exists, 68 68 ldr r3, .Ldsi+4 @ adjust saved 'pc' back one 69 - teq r3, r2, lsr #10 @ instruction 69 + teq r3, r2, lsr #11 @ instruction 70 70 subne r0, sv_pc, #4 @ allow for mov 71 71 subeq r0, sv_pc, #8 @ allow for mov + stmia 72 72
+7 -1
arch/arm/mm/init.c
··· 175 175 #ifdef CONFIG_HAVE_ARCH_PFN_VALID 176 176 int pfn_valid(unsigned long pfn) 177 177 { 178 + phys_addr_t addr = __pfn_to_phys(pfn); 179 + 180 + if (__phys_to_pfn(addr) != pfn) 181 + return 0; 182 + 178 183 return memblock_is_map_memory(__pfn_to_phys(pfn)); 179 184 } 180 185 EXPORT_SYMBOL(pfn_valid); ··· 633 628 if (t->flags & PF_KTHREAD) 634 629 continue; 635 630 for_each_thread(t, s) 636 - set_section_perms(perms, n, true, s->mm); 631 + if (s->mm) 632 + set_section_perms(perms, n, true, s->mm); 637 633 } 638 634 set_section_perms(perms, n, true, current->active_mm); 639 635 set_section_perms(perms, n, true, &init_mm);