Skip to content

Commit 0cbaed1

Browse files
committed
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
2 parents 505569d + 1e34792 commit 0cbaed1

File tree

5 files changed

+8
-11
lines changed

5 files changed

+8
-11
lines changed

arch/arm/include/uapi/asm/unistd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,7 @@
413413
#define __NR_getrandom (__NR_SYSCALL_BASE+384)
414414
#define __NR_memfd_create (__NR_SYSCALL_BASE+385)
415415
#define __NR_bpf (__NR_SYSCALL_BASE+386)
416+
#define __NR_execveat (__NR_SYSCALL_BASE+387)
416417

417418
/*
418419
* The following SWIs are ARM private.

arch/arm/kernel/calls.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,7 @@
396396
CALL(sys_getrandom)
397397
/* 385 */ CALL(sys_memfd_create)
398398
CALL(sys_bpf)
399+
CALL(sys_execveat)
399400
#ifndef syscalls_counted
400401
.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
401402
#define syscalls_counted

arch/arm/mm/dump.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -220,9 +220,6 @@ static void note_page(struct pg_state *st, unsigned long addr, unsigned level, u
220220
static const char units[] = "KMGTPE";
221221
u64 prot = val & pg_level[level].mask;
222222

223-
if (addr < USER_PGTABLES_CEILING)
224-
return;
225-
226223
if (!st->level) {
227224
st->level = level;
228225
st->current_prot = prot;
@@ -308,15 +305,13 @@ static void walk_pgd(struct seq_file *m)
308305
pgd_t *pgd = swapper_pg_dir;
309306
struct pg_state st;
310307
unsigned long addr;
311-
unsigned i, pgdoff = USER_PGTABLES_CEILING / PGDIR_SIZE;
308+
unsigned i;
312309

313310
memset(&st, 0, sizeof(st));
314311
st.seq = m;
315312
st.marker = address_markers;
316313

317-
pgd += pgdoff;
318-
319-
for (i = pgdoff; i < PTRS_PER_PGD; i++, pgd++) {
314+
for (i = 0; i < PTRS_PER_PGD; i++, pgd++) {
320315
addr = i * PGDIR_SIZE;
321316
if (!pgd_none(*pgd)) {
322317
walk_pud(&st, pgd, addr);

arch/arm/mm/init.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -658,8 +658,8 @@ static struct section_perm ro_perms[] = {
658658
.start = (unsigned long)_stext,
659659
.end = (unsigned long)__init_begin,
660660
#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,
663663
#else
664664
.mask = ~(PMD_SECT_APX | PMD_SECT_AP_WRITE),
665665
.prot = PMD_SECT_APX | PMD_SECT_AP_WRITE,

arch/arm/mm/mmu.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,8 +1329,8 @@ static void __init kmap_init(void)
13291329
static void __init map_lowmem(void)
13301330
{
13311331
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);
13341334

13351335
/* Map all the lowmem memory banks. */
13361336
for_each_memblock(memory, reg) {

0 commit comments

Comments
 (0)