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 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux

Pull arm64 fixes from Will Deacon:
"This small set of fixes addresses a few issues introduced during the
merge window, including:

- fix typo in I-cache detection that was causing us to treat all
I-caches as aliasing
- hook up memfd_create and getrandom syscalls for native and compat
- revert a temporary hack for defconfig builds in -next (the audit
tree changes didn't make it in this merge window)
- a couple of UEFI fixes for TEXT_OFFSET fuzzing and /memreserve/
- a simple sparsemem fix for 48-bit physical addressing
- small defconfig updates to get autotesters working with X-gene"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
Revert "arm64: Do not invoke audit_syscall_* functions if !CONFIG_AUDIT_SYSCALL"
arm64: mm: update max pa bits to 48
arm64: ignore DT memreserve entries when booting in UEFI mode
arm64: configs: Enable X-Gene SATA and ethernet in defconfig
arm64: align randomized TEXT_OFFSET on 4 kB boundary
asm-generic: add memfd_create system call to unistd.h
arm64: compat: wire up memfd_create and getrandom syscalls for aarch32
arm64: fix typo in I-cache policy detection

+24 -14
+1 -1
arch/arm64/Makefile
··· 39 39 40 40 # The byte offset of the kernel image in RAM from the start of RAM. 41 41 ifeq ($(CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET), y) 42 - TEXT_OFFSET := $(shell awk 'BEGIN {srand(); printf "0x%04x0\n", int(65535 * rand())}') 42 + TEXT_OFFSET := $(shell awk 'BEGIN {srand(); printf "0x%03x000\n", int(512 * rand())}') 43 43 else 44 44 TEXT_OFFSET := 0x00080000 45 45 endif
+3
arch/arm64/configs/defconfig
··· 64 64 CONFIG_BLK_DEV_SD=y 65 65 # CONFIG_SCSI_LOWLEVEL is not set 66 66 CONFIG_ATA=y 67 + CONFIG_AHCI_XGENE=y 68 + CONFIG_PHY_XGENE=y 67 69 CONFIG_PATA_PLATFORM=y 68 70 CONFIG_PATA_OF_PLATFORM=y 69 71 CONFIG_NETDEVICES=y ··· 73 71 CONFIG_VIRTIO_NET=y 74 72 CONFIG_SMC91X=y 75 73 CONFIG_SMSC911X=y 74 + CONFIG_NET_XGENE=y 76 75 # CONFIG_WLAN is not set 77 76 CONFIG_INPUT_EVDEV=y 78 77 # CONFIG_SERIO_SERPORT is not set
+1 -1
arch/arm64/include/asm/sparsemem.h
··· 17 17 #define __ASM_SPARSEMEM_H 18 18 19 19 #ifdef CONFIG_SPARSEMEM 20 - #define MAX_PHYSMEM_BITS 40 20 + #define MAX_PHYSMEM_BITS 48 21 21 #define SECTION_SIZE_BITS 30 22 22 #endif 23 23
+1 -1
arch/arm64/include/asm/unistd.h
··· 41 41 #define __ARM_NR_compat_cacheflush (__ARM_NR_COMPAT_BASE+2) 42 42 #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE+5) 43 43 44 - #define __NR_compat_syscalls 383 44 + #define __NR_compat_syscalls 386 45 45 #endif 46 46 47 47 #define __ARCH_WANT_SYS_CLONE
+5
arch/arm64/include/asm/unistd32.h
··· 787 787 __SYSCALL(__NR_sched_getattr, sys_sched_getattr) 788 788 #define __NR_renameat2 382 789 789 __SYSCALL(__NR_renameat2, sys_renameat2) 790 + /* 383 for seccomp */ 791 + #define __NR_getrandom 384 792 + __SYSCALL(__NR_getrandom, sys_getrandom) 793 + #define __NR_memfd_create 385 794 + __SYSCALL(__NR_memfd_create, sys_memfd_create)
+1 -1
arch/arm64/kernel/cpuinfo.c
··· 49 49 50 50 if (l1ip != ICACHE_POLICY_PIPT) 51 51 set_bit(ICACHEF_ALIASING, &__icache_flags); 52 - if (l1ip == ICACHE_POLICY_AIVIVT); 52 + if (l1ip == ICACHE_POLICY_AIVIVT) 53 53 set_bit(ICACHEF_AIVIVT, &__icache_flags); 54 54 55 55 pr_info("Detected %s I-cache on CPU%d\n", icache_policy_str[l1ip], cpu);
+2
arch/arm64/kernel/efi.c
··· 188 188 if (uefi_debug) 189 189 pr_cont("\n"); 190 190 } 191 + 192 + set_bit(EFI_MEMMAP, &efi.flags); 191 193 } 192 194 193 195
+4 -4
arch/arm64/kernel/head.S
··· 38 38 39 39 #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) 40 40 41 - #if (TEXT_OFFSET & 0xf) != 0 42 - #error TEXT_OFFSET must be at least 16B aligned 43 - #elif (PAGE_OFFSET & 0xfffff) != 0 41 + #if (TEXT_OFFSET & 0xfff) != 0 42 + #error TEXT_OFFSET must be at least 4KB aligned 43 + #elif (PAGE_OFFSET & 0x1fffff) != 0 44 44 #error PAGE_OFFSET must be at least 2MB aligned 45 - #elif TEXT_OFFSET > 0xfffff 45 + #elif TEXT_OFFSET > 0x1fffff 46 46 #error TEXT_OFFSET must be less than 2MB 47 47 #endif 48 48
-4
arch/arm64/kernel/ptrace.c
··· 1115 1115 if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) 1116 1116 trace_sys_enter(regs, regs->syscallno); 1117 1117 1118 - #ifdef CONFIG_AUDITSYSCALL 1119 1118 audit_syscall_entry(syscall_get_arch(), regs->syscallno, 1120 1119 regs->orig_x0, regs->regs[1], regs->regs[2], regs->regs[3]); 1121 - #endif 1122 1120 1123 1121 return regs->syscallno; 1124 1122 } 1125 1123 1126 1124 asmlinkage void syscall_trace_exit(struct pt_regs *regs) 1127 1125 { 1128 - #ifdef CONFIG_AUDITSYSCALL 1129 1126 audit_syscall_exit(regs); 1130 - #endif 1131 1127 1132 1128 if (test_thread_flag(TIF_SYSCALL_TRACEPOINT)) 1133 1129 trace_sys_exit(regs, regs_return_value(regs));
+3 -1
arch/arm64/mm/init.c
··· 32 32 #include <linux/of_fdt.h> 33 33 #include <linux/dma-mapping.h> 34 34 #include <linux/dma-contiguous.h> 35 + #include <linux/efi.h> 35 36 36 37 #include <asm/fixmap.h> 37 38 #include <asm/sections.h> ··· 149 148 memblock_reserve(__virt_to_phys(initrd_start), initrd_end - initrd_start); 150 149 #endif 151 150 152 - early_init_fdt_scan_reserved_mem(); 151 + if (!efi_enabled(EFI_MEMMAP)) 152 + early_init_fdt_scan_reserved_mem(); 153 153 154 154 /* 4GB maximum for 32-bit only capable devices */ 155 155 if (IS_ENABLED(CONFIG_ZONE_DMA))
+3 -1
include/uapi/asm-generic/unistd.h
··· 703 703 __SYSCALL(__NR_seccomp, sys_seccomp) 704 704 #define __NR_getrandom 278 705 705 __SYSCALL(__NR_getrandom, sys_getrandom) 706 + #define __NR_memfd_create 279 707 + __SYSCALL(__NR_memfd_create, sys_memfd_create) 706 708 707 709 #undef __NR_syscalls 708 - #define __NR_syscalls 279 710 + #define __NR_syscalls 280 709 711 710 712 /* 711 713 * All syscalls below here should go away really,