Commit 0cbaed1d8c2493934b86b4ad99b2de9fcce008e8
Exists in
ti-lsk-linux-4.1.y
and in
10 other branches
Merge branch 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm
Pull ARM fixes from Russell King: "Three small fixes from over the Christmas period, and wiring up the new execveat syscall for ARM" * 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: ARM: 8275/1: mm: fix PMD_SECT_RDONLY undeclared compile error ARM: 8253/1: mm: use phys_addr_t type in map_lowmem() for kernel mem region ARM: 8249/1: mm: dump: don't skip regions ARM: wire up execveat syscall
Showing 5 changed files Side-by-side Diff
arch/arm/include/uapi/asm/unistd.h
... | ... | @@ -413,6 +413,7 @@ |
413 | 413 | #define __NR_getrandom (__NR_SYSCALL_BASE+384) |
414 | 414 | #define __NR_memfd_create (__NR_SYSCALL_BASE+385) |
415 | 415 | #define __NR_bpf (__NR_SYSCALL_BASE+386) |
416 | +#define __NR_execveat (__NR_SYSCALL_BASE+387) | |
416 | 417 | |
417 | 418 | /* |
418 | 419 | * The following SWIs are ARM private. |
arch/arm/kernel/calls.S
arch/arm/mm/dump.c
... | ... | @@ -220,9 +220,6 @@ |
220 | 220 | static const char units[] = "KMGTPE"; |
221 | 221 | u64 prot = val & pg_level[level].mask; |
222 | 222 | |
223 | - if (addr < USER_PGTABLES_CEILING) | |
224 | - return; | |
225 | - | |
226 | 223 | if (!st->level) { |
227 | 224 | st->level = level; |
228 | 225 | st->current_prot = prot; |
229 | 226 | |
... | ... | @@ -308,15 +305,13 @@ |
308 | 305 | pgd_t *pgd = swapper_pg_dir; |
309 | 306 | struct pg_state st; |
310 | 307 | unsigned long addr; |
311 | - unsigned i, pgdoff = USER_PGTABLES_CEILING / PGDIR_SIZE; | |
308 | + unsigned i; | |
312 | 309 | |
313 | 310 | memset(&st, 0, sizeof(st)); |
314 | 311 | st.seq = m; |
315 | 312 | st.marker = address_markers; |
316 | 313 | |
317 | - pgd += pgdoff; | |
318 | - | |
319 | - for (i = pgdoff; i < PTRS_PER_PGD; i++, pgd++) { | |
314 | + for (i = 0; i < PTRS_PER_PGD; i++, pgd++) { | |
320 | 315 | addr = i * PGDIR_SIZE; |
321 | 316 | if (!pgd_none(*pgd)) { |
322 | 317 | walk_pud(&st, pgd, addr); |
arch/arm/mm/init.c
... | ... | @@ -658,8 +658,8 @@ |
658 | 658 | .start = (unsigned long)_stext, |
659 | 659 | .end = (unsigned long)__init_begin, |
660 | 660 | #ifdef CONFIG_ARM_LPAE |
661 | - .mask = ~PMD_SECT_RDONLY, | |
662 | - .prot = PMD_SECT_RDONLY, | |
661 | + .mask = ~L_PMD_SECT_RDONLY, | |
662 | + .prot = L_PMD_SECT_RDONLY, | |
663 | 663 | #else |
664 | 664 | .mask = ~(PMD_SECT_APX | PMD_SECT_AP_WRITE), |
665 | 665 | .prot = PMD_SECT_APX | PMD_SECT_AP_WRITE, |
arch/arm/mm/mmu.c
... | ... | @@ -1329,8 +1329,8 @@ |
1329 | 1329 | static void __init map_lowmem(void) |
1330 | 1330 | { |
1331 | 1331 | struct memblock_region *reg; |
1332 | - unsigned long kernel_x_start = round_down(__pa(_stext), SECTION_SIZE); | |
1333 | - unsigned long kernel_x_end = round_up(__pa(__init_end), SECTION_SIZE); | |
1332 | + phys_addr_t kernel_x_start = round_down(__pa(_stext), SECTION_SIZE); | |
1333 | + phys_addr_t kernel_x_end = round_up(__pa(__init_end), SECTION_SIZE); | |
1334 | 1334 | |
1335 | 1335 | /* Map all the lowmem memory banks. */ |
1336 | 1336 | for_each_memblock(memory, reg) { |