Re: [PATCH 4/4] vdso: avoid including asm/page.h
On Mon, Feb 26, 2024 at 05:14:14PM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann > > The recent change to the vdso_data_store broke building compat VDSO > on at least arm64 because it includes headers outside of the include/vdso/ > namespace: > > In file included from arch/arm64/include/asm/lse.h:5, > from arch/arm64/include/asm/cmpxchg.h:14, > from arch/arm64/include/asm/atomic.h:16, > from include/linux/atomic.h:7, > from include/asm-generic/bitops/atomic.h:5, > from arch/arm64/include/asm/bitops.h:25, > from include/linux/bitops.h:68, > from arch/arm64/include/asm/memory.h:209, > from arch/arm64/include/asm/page.h:46, > from include/vdso/datapage.h:22, > from lib/vdso/gettimeofday.c:5, > from : > arch/arm64/include/asm/atomic_ll_sc.h:298:9: error: unknown type name 'u128' > 298 | u128 full; > > Use an open-coded page size calculation based on the new CONFIG_PAGE_SHIFT > Kconfig symbol instead. > > Reported-by: Linux Kernel Functional Testing > Fixes: a0d2fcd62ac2 ("vdso/ARM: Make union vdso_data_store available for all > architectures") > Link: > https://lore.kernel.org/lkml/ca+g9fytrxxm_ko9fnpz3xarxhv7ud_yqp-teupqrnrhu+_0...@mail.gmail.com/ > Signed-off-by: Arnd Bergmann Acked-by: Catalin Marinas
Re: [PATCH 2/4] arch: simplify architecture specific page size configuration
On Mon, Feb 26, 2024 at 05:14:12PM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann > > arc, arm64, parisc and powerpc all have their own Kconfig symbols > in place of the common CONFIG_PAGE_SIZE_4KB symbols. Change these > so the common symbols are the ones that are actually used, while > leaving the arhcitecture specific ones as the user visible > place for configuring it, to avoid breaking user configs. > > Signed-off-by: Arnd Bergmann For arm64: Acked-by: Catalin Marinas
Re: [PATCH 4/5] kconfig: make arch/*/configs/defconfig the default of KBUILD_DEFCONFIG
On Mon, May 27, 2019 at 11:37:24PM +0900, Masahiro Yamada wrote: > diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile > index b025304bde46..970c41a30ed3 100644 > --- a/arch/arm64/Makefile > +++ b/arch/arm64/Makefile > @@ -30,8 +30,6 @@ LDFLAGS_vmlinux += --fix-cortex-a53-843419 >endif > endif > > -KBUILD_DEFCONFIG := defconfig > - > # Check for binutils support for specific extensions > lseinstr := $(call as-instr,.arch_extension lse,-DCONFIG_AS_LSE=1) For arm64: Acked-by: Catalin Marinas
Re: [PATCH] [v2] arch: add pidfd and io_uring syscalls everywhere
On Mon, Apr 15, 2019 at 04:22:57PM +0200, Arnd Bergmann wrote: > Add the io_uring and pidfd_send_signal system calls to all architectures. > > These system calls are designed to handle both native and compat tasks, > so all entries are the same across architectures, only arm-compat and > the generic tale still use an old format. > > Acked-by: Michael Ellerman (powerpc) > Acked-by: Heiko Carstens (s390) > Acked-by: Geert Uytterhoeven > Signed-off-by: Arnd Bergmann > --- > Changes since v1: > - fix s390 table > - use 'n64' tag in mips-n64 instead of common. > --- > arch/alpha/kernel/syscalls/syscall.tbl | 4 > arch/arm/tools/syscall.tbl | 4 > arch/arm64/include/asm/unistd.h | 2 +- > arch/arm64/include/asm/unistd32.h | 8 > arch/ia64/kernel/syscalls/syscall.tbl | 4 > arch/m68k/kernel/syscalls/syscall.tbl | 4 > arch/microblaze/kernel/syscalls/syscall.tbl | 4 > arch/mips/kernel/syscalls/syscall_n32.tbl | 4 > arch/mips/kernel/syscalls/syscall_n64.tbl | 4 > arch/mips/kernel/syscalls/syscall_o32.tbl | 4 > arch/parisc/kernel/syscalls/syscall.tbl | 4 > arch/powerpc/kernel/syscalls/syscall.tbl| 4 > arch/s390/kernel/syscalls/syscall.tbl | 4 > arch/sh/kernel/syscalls/syscall.tbl | 4 > arch/sparc/kernel/syscalls/syscall.tbl | 4 > arch/xtensa/kernel/syscalls/syscall.tbl | 4 ++++ > 16 files changed, 65 insertions(+), 1 deletion(-) For arm64: Acked-by: Catalin Marinas
Re: [PATCH v2 06/21] memblock: memblock_phys_alloc_try_nid(): don't panic
On Mon, Jan 21, 2019 at 10:03:53AM +0200, Mike Rapoport wrote: > diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c > index ae34e3a..2c61ea4 100644 > --- a/arch/arm64/mm/numa.c > +++ b/arch/arm64/mm/numa.c > @@ -237,6 +237,10 @@ static void __init setup_node_data(int nid, u64 > start_pfn, u64 end_pfn) > pr_info("Initmem setup node %d []\n", nid); > > nd_pa = memblock_phys_alloc_try_nid(nd_size, SMP_CACHE_BYTES, nid); > + if (!nd_pa) > + panic("Cannot allocate %zu bytes for node %d data\n", > + nd_size, nid); > + > nd = __va(nd_pa); > > /* report and initialize */ Does it mean that memblock_phys_alloc_try_nid() never returns valid physical memory starting at 0? -- Catalin
Re: [PATCH v2 29/29] y2038: add 64-bit time_t syscalls to all 32-bit architectures
On Fri, Jan 18, 2019 at 05:18:35PM +0100, Arnd Bergmann wrote: > This adds 21 new system calls on each ABI that has 32-bit time_t > today. All of these have the exact same semantics as their existing > counterparts, and the new ones all have macro names that end in 'time64' > for clarification. > > This gets us to the point of being able to safely use a C library > that has 64-bit time_t in user space. There are still a couple of > loose ends to tie up in various areas of the code, but this is the > big one, and should be entirely uncontroversial at this point. > > In particular, there are four system calls (getitimer, setitimer, > waitid, and getrusage) that don't have a 64-bit counterpart yet, > but these can all be safely implemented in the C library by wrapping > around the existing system calls because the 32-bit time_t they > pass only counts elapsed time, not time since the epoch. They > will be dealt with later. > > Signed-off-by: Arnd Bergmann Acked-by: Catalin Marinas (as long as compat follows the arm32 syscall numbers)
Re: [PATCH v2 25/29] y2038: syscalls: rename y2038 compat syscalls
On Fri, Jan 18, 2019 at 05:18:31PM +0100, Arnd Bergmann wrote: > A lot of system calls that pass a time_t somewhere have an implementation > using a COMPAT_SYSCALL_DEFINEx() on 64-bit architectures, and have > been reworked so that this implementation can now be used on 32-bit > architectures as well. > > The missing step is to redefine them using the regular SYSCALL_DEFINEx() > to get them out of the compat namespace and make it possible to build them > on 32-bit architectures. > > Any system call that ends in 'time' gets a '32' suffix on its name for > that version, while the others get a '_time32' suffix, to distinguish > them from the normal version, which takes a 64-bit time argument in the > future. > > In this step, only 64-bit architectures are changed, doing this rename > first lets us avoid touching the 32-bit architectures twice. > > Signed-off-by: Arnd Bergmann For arm64: Acked-by: Catalin Marinas
Re: [PATCH v2 07/29] ARM: add kexec_file_load system call number
On Fri, Jan 18, 2019 at 05:18:13PM +0100, Arnd Bergmann wrote: > diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl > index 86de9eb34296..20ed7e026723 100644 > --- a/arch/arm/tools/syscall.tbl > +++ b/arch/arm/tools/syscall.tbl > @@ -415,3 +415,4 @@ > 398 common rseqsys_rseq > 399 common io_pgetevents sys_io_pgetevents > 400 common migrate_pages sys_migrate_pages > +401 common kexec_file_load sys_kexec_file_load I presume on arm32 this would still return -ENOSYS. > diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h > index 261216c3336e..2c30e6f145ff 100644 > --- a/arch/arm64/include/asm/unistd.h > +++ b/arch/arm64/include/asm/unistd.h > @@ -44,7 +44,7 @@ > #define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5) > #define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800) > > -#define __NR_compat_syscalls 401 > +#define __NR_compat_syscalls 402 > #endif > > #define __ARCH_WANT_SYS_CLONE > diff --git a/arch/arm64/include/asm/unistd32.h > b/arch/arm64/include/asm/unistd32.h > index f15bcbacb8f6..8ca1d4c304f4 100644 > --- a/arch/arm64/include/asm/unistd32.h > +++ b/arch/arm64/include/asm/unistd32.h > @@ -823,6 +823,8 @@ __SYSCALL(__NR_rseq, sys_rseq) > __SYSCALL(__NR_io_pgetevents, compat_sys_io_pgetevents) > #define __NR_migrate_pages 400 > __SYSCALL(__NR_migrate_pages, compat_sys_migrate_pages) > +#define __NR_kexec_file_load 401 > +__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) For arm64: Acked-by: Catalin Marinas
Re: [PATCH v2 06/29] ARM: add migrate_pages() system call
On Fri, Jan 18, 2019 at 05:18:12PM +0100, Arnd Bergmann wrote: > The migrate_pages system call has an assigned number on all architectures > except ARM. When it got added initially in commit d80ade7b3231 ("ARM: > Fix warning: #warning syscall migrate_pages not implemented"), it was > intentionally left out based on the observation that there are no 32-bit > ARM NUMA systems. > > However, there are now arm64 NUMA machines that can in theory run 32-bit > kernels (actually enabling NUMA there would require additional work) > as well as 32-bit user space on 64-bit kernels, so that argument is no > longer very strong. > > Assigning the number lets us use the system call on 64-bit kernels as well > as providing a more consistent set of syscalls across architectures. > > Signed-off-by: Arnd Bergmann For the arm64 part: Acked-by: Catalin Marinas