[PATCH V8 00/20] riscv: compat: Add COMPAT Kbuild skeletal support

2022-03-16 Thread guoren
From: Guo Ren Currently, most 64-bit architectures (x86, parisc, powerpc, arm64, s390, mips, sparc) have supported COMPAT mode. But they all have history issues and can't use standard linux unistd.h. RISC-V would be first standard __SYSCALL_COMPAT user of include/uapi/asm-generic /unistd.h. The

[PATCH V8 01/20] uapi: simplify __ARCH_FLOCK{,64}_PAD a little

2022-03-16 Thread guoren
From: Christoph Hellwig Don't bother to define the symbols empty, just don't use them. That makes the intent a little more clear. Remove the unused HAVE_ARCH_STRUCT_FLOCK64 define and merge the 32-bit mips struct flock into the generic one. Add a new __ARCH_FLOCK_EXTRA_SYSID macro following the

[PATCH V8 02/20] uapi: always define F_GETLK64/F_SETLK64/F_SETLKW64 in fcntl.h

2022-03-16 Thread guoren
From: Christoph Hellwig The F_GETLK64/F_SETLK64/F_SETLKW64 fcntl opcodes are only implemented for the 32-bit syscall APIs, but are also needed for compat handling on 64-bit kernels. Consolidate them in unistd.h instead of definining the internal compat definitions in compat.h, which is rather er

[PATCH V8 03/20] compat: consolidate the compat_flock{, 64} definition

2022-03-16 Thread guoren
From: Christoph Hellwig Provide a single common definition for the compat_flock and compat_flock64 structures using the same tricks as for the native variants. Another extra define is added for the packing required on x86. Signed-off-by: Christoph Hellwig Signed-off-by: Guo Ren Reviewed-by: A

[PATCH V8 04/20] kconfig: Add SYSVIPC_COMPAT for all architectures

2022-03-16 Thread guoren
From: Guo Ren The existing per-arch definitions are pretty much historic cruft. Move SYSVIPC_COMPAT into init/Kconfig. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Acked-by: Arnd Bergmann Reviewed-by: Christoph Hellwig Tested-by: Heiko Stuebner Cc: Palmer Dabbelt --- arch/arm64/Kconfig

[PATCH V8 05/20] fs: stat: compat: Add __ARCH_WANT_COMPAT_STAT

2022-03-16 Thread guoren
From: Guo Ren RISC-V doesn't neeed compat_stat, so using __ARCH_WANT_COMPAT_STAT to exclude unnecessary SYSCALL functions. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Arnd Bergmann Reviewed-by: Christoph Hellwig Tested-by: Heiko Stuebner Cc: Palmer Dabbelt --- arch/arm64/in

[PATCH V8 06/20] asm-generic: compat: Cleanup duplicate definitions

2022-03-16 Thread guoren
From: Guo Ren There are 7 64bit architectures that support Linux COMPAT mode to run 32bit applications. A lot of definitions are duplicate: - COMPAT_USER_HZ - COMPAT_RLIM_INFINITY - COMPAT_OFF_T_MAX - __compat_uid_t, __compat_uid_t - compat_dev_t - compat_ipc_pid_t - struct compat_flock -

[PATCH V8 07/20] syscalls: compat: Fix the missing part for __SYSCALL_COMPAT

2022-03-16 Thread guoren
From: Guo Ren Make "uapi asm unistd.h" could be used for architectures' COMPAT mode. The __SYSCALL_COMPAT is first used in riscv. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Arnd Bergmann Reviewed-by: Christoph Hellwig Tested-by: Heiko Stuebner --- include/uapi/asm-generic/u

[PATCH V8 08/20] riscv: Fixup difference with defconfig

2022-03-16 Thread guoren
From: Guo Ren Let's follow the origin patch's spirit: The only difference between rv32_defconfig and defconfig is that rv32_defconfig has CONFIG_ARCH_RV32I=y. This is helpful to compare rv64-compat-rv32 v.s. rv32-linux. Fixes: 1b937e8faa87ccfb ("RISC-V: Add separate defconfig for 32bit system

[PATCH V8 09/20] riscv: compat: Add basic compat data type implementation

2022-03-16 Thread guoren
From: Guo Ren Implement riscv asm/compat.h for struct compat_xxx, is_compat_task, compat_user_regset, regset convert. The rv64 compat.h has inherited most of the structs from the generic one. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Tested-by: Heiko Stuebner Cc: Arnd Bergmann Cc: Palme

[PATCH V8 10/20] riscv: compat: Re-implement TASK_SIZE for COMPAT_32BIT

2022-03-16 Thread guoren
From: Guo Ren Make TASK_SIZE from const to dynamic detect TIF_32BIT flag function. Refer to arm64 to implement DEFAULT_MAP_WINDOW_64 for efi-stub. Limit 32-bit compatible process in 0-2GB virtual address range (which is enough for real scenarios), because it could avoid address sign extend probl

[PATCH V8 11/20] riscv: compat: syscall: Add compat_sys_call_table implementation

2022-03-16 Thread guoren
From: Guo Ren Implement compat sys_call_table and some system call functions: truncate64, ftruncate64, fallocate, pread64, pwrite64, sync_file_range, readahead, fadvise64_64 which need argument translation. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Arnd Bergmann Tested-by: He

[PATCH V8 12/20] riscv: compat: syscall: Add entry.S implementation

2022-03-16 Thread guoren
From: Guo Ren Implement the entry of compat_sys_call_table[] in asm. Ref to riscv-privileged spec 4.1.1 Supervisor Status Register (sstatus): BIT[32:33] = UXL[1:0]: - 1:32 - 2:64 - 3:128 Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Palmer Dabbelt Tested-by: Heiko Stuebner

[PATCH V8 13/20] riscv: compat: process: Add UXL_32 support in start_thread

2022-03-16 Thread guoren
From: Guo Ren If the current task is in COMPAT mode, set SR_UXL_32 in status for returning userspace. We need CONFIG _COMPAT to prevent compiling errors with rv32 defconfig. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Tested-by: Heiko Stuebner Cc: Arnd Bergmann Cc: Palmer Dabbelt --- arc

[PATCH V8 14/20] riscv: compat: Add elf.h implementation

2022-03-16 Thread guoren
From: Guo Ren Implement necessary type and macro for compat elf. See the code comment for detail. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Arnd Bergmann Tested-by: Heiko Stuebner --- arch/riscv/include/asm/elf.h | 41 +++- 1 file changed, 40

[PATCH V8 15/20] riscv: compat: Add hw capability check for elf

2022-03-16 Thread guoren
From: Guo Ren Detect hardware COMPAT (32bit U-mode) capability in rv64. If not support COMPAT mode in hw, compat_elf_check_arch would return false by compat_binfmt_elf.c Add CLASS to enhance (compat_)elf_check_arch to distinguish 32BIT/64BIT elf. Signed-off-by: Guo Ren Signed-off-by: Guo Ren

[PATCH V8 16/20] riscv: compat: vdso: Add COMPAT_VDSO base code implementation

2022-03-16 Thread guoren
From: Guo Ren There is no vgettimeofday supported in rv32 that makes simple to generate rv32 vdso code which only needs riscv64 compiler. Other architectures need change compiler or -m (machine parameter) to support vdso32 compiling. If rv32 support vgettimeofday (which cause C compile) in future

[PATCH V8 17/20] riscv: compat: vdso: Add setup additional pages implementation

2022-03-16 Thread guoren
From: Guo Ren Reconstruct __setup_additional_pages() by appending vdso info pointer argument to meet compat_vdso_info requirement. And change vm_special_mapping *dm, *cm initialization into static. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Palmer Dabbelt Tested-by: Heiko Stue

[PATCH V8 18/20] riscv: compat: signal: Add rt_frame implementation

2022-03-16 Thread guoren
From: Guo Ren Implement compat_setup_rt_frame for sigcontext save & restore. The main process is the same with signal, but the rv32 pt_regs' size is different from rv64's, so we needs convert them. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Palmer Dabbelt Tested-by: Heiko Stue

[PATCH V8 19/20] riscv: compat: ptrace: Add compat_arch_ptrace implement

2022-03-16 Thread guoren
From: Guo Ren Now, you can use native gdb on riscv64 for rv32 app debugging. $ uname -a Linux buildroot 5.16.0-rc4-00036-gbef6b82fdf23-dirty #53 SMP Mon Dec 20 23:06:53 CST 2021 riscv64 GNU/Linux $ cat /proc/cpuinfo processor : 0 hart: 0 isa : rv64imafdcsuh mmu

[PATCH V8 20/20] riscv: compat: Add COMPAT Kbuild skeletal support

2022-03-16 Thread guoren
From: Guo Ren Adds initial skeletal COMPAT Kbuild (Running 32bit U-mode on 64bit S-mode) support. - Setup kconfig & dummy functions for compiling. - Implement compat_start_thread by the way. Signed-off-by: Guo Ren Signed-off-by: Guo Ren Reviewed-by: Arnd Bergmann Tested-by: Heiko Stuebner

Re: [PATCH] static_call: Don't make __static_call_return0 static

2022-03-16 Thread Christophe Leroy
Le 15/03/2022 à 22:11, Josh Poimboeuf a écrit : > On Mon, Mar 14, 2022 at 08:21:30AM +0100, Christophe Leroy wrote: >> System.map shows that vmlinux contains several instances of >> __static_call_return0(): >> >> c0004fc0 t __static_call_return0 >> c0011518 t __static_call_return0 >>

[powerpc]Kernel crash while running LTP (execveat03) [next-20220315]

2022-03-16 Thread Sachin Sant
While running LTP tests(execveat03) against 5.17.0-rc8-next-20220315 On a POWER10 LPAR following crash is seen: [ 945.659049] dummy_del_mod: loading out-of-tree module taints kernel. [ 945.659951] dummy_del_mod: module verification failed: signature and/or required key missing - tainting kernel

Re: [powerpc]Kernel crash while running LTP (execveat03) [next-20220315]

2022-03-16 Thread Ritesh Harjani
On 22/03/16 01:47PM, Sachin Sant wrote: > While running LTP tests(execveat03) against 5.17.0-rc8-next-20220315 > On a POWER10 LPAR following crash is seen: > > [ 945.659049] dummy_del_mod: loading out-of-tree module taints kernel. > [ 945.659951] dummy_del_mod: module verification failed: signatu

Re: [powerpc]Kernel crash while running LTP (execveat03) [next-20220315]

2022-03-16 Thread Sachin Sant
>> Bisect points to following commit: >> commit 9d5623d7ef8765f21f629e4ac636c19ec245e254 >>ext4: return early for non-eligible fast_commit track events >> >> Reverting this commit allows the test to run successfully. > > Hi Sachin, > > Thanks so much for the report. Yes, this was discussed t

Re: [PATCH v1 5/7] s390/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE

2022-03-16 Thread Gerald Schaefer
On Tue, 15 Mar 2022 18:12:16 +0100 David Hildenbrand wrote: > On 15.03.22 17:58, David Hildenbrand wrote: > > > >>> This would mean that it is not OK to have bit 52 not zero for swap PTEs. > >>> But if I read the POP correctly, all bits except for the DAT-protection > >>> would be ignored for in

Re: [PATCH v1 5/7] s390/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE

2022-03-16 Thread David Hildenbrand
On 16.03.22 11:56, Gerald Schaefer wrote: > On Tue, 15 Mar 2022 18:12:16 +0100 > David Hildenbrand wrote: > >> On 15.03.22 17:58, David Hildenbrand wrote: >>> > This would mean that it is not OK to have bit 52 not zero for swap PTEs. > But if I read the POP correctly, all bits except for

Re: [PATCH v1 5/7] s390/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE

2022-03-16 Thread Christian Borntraeger
Am 16.03.22 um 11:56 schrieb Gerald Schaefer: On Tue, 15 Mar 2022 18:12:16 +0100 David Hildenbrand wrote: On 15.03.22 17:58, David Hildenbrand wrote: This would mean that it is not OK to have bit 52 not zero for swap PTEs. But if I read the POP correctly, all bits except for the DAT-prot

Re: [PATCH v1 5/7] s390/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE

2022-03-16 Thread Gerald Schaefer
On Wed, 16 Mar 2022 14:01:07 +0100 Christian Borntraeger wrote: > > > Am 16.03.22 um 11:56 schrieb Gerald Schaefer: > > On Tue, 15 Mar 2022 18:12:16 +0100 > > David Hildenbrand wrote: > > > >> On 15.03.22 17:58, David Hildenbrand wrote: > >>> > > This would mean that it is not OK to have

Re: [PATCH v1 5/7] s390/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE

2022-03-16 Thread David Hildenbrand
On 16.03.22 14:27, Gerald Schaefer wrote: > On Wed, 16 Mar 2022 14:01:07 +0100 > Christian Borntraeger wrote: > >> >> >> Am 16.03.22 um 11:56 schrieb Gerald Schaefer: >>> On Tue, 15 Mar 2022 18:12:16 +0100 >>> David Hildenbrand wrote: >>> On 15.03.22 17:58, David Hildenbrand wrote: > >>

Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff

2022-03-16 Thread Jakub Kicinski
On Wed, 16 Mar 2022 11:49:39 + Manish Chopra wrote: > As ethtool over netlink has some limitations of the size, > I believe you can configure ethtool with "--disable-netlink" and set those > message levels fine Yup, IIUC it works for Paul on a 5.17 system, that system likely has old ethtool u

Re: [PATCH v1 4/7] arm64/pgtable: support __HAVE_ARCH_PTE_SWP_EXCLUSIVE

2022-03-16 Thread Catalin Marinas
On Tue, Mar 15, 2022 at 03:18:34PM +0100, David Hildenbrand wrote: > diff --git a/arch/arm64/include/asm/pgtable-prot.h > b/arch/arm64/include/asm/pgtable-prot.h > index b1e1b74d993c..62e0ebeed720 100644 > --- a/arch/arm64/include/asm/pgtable-prot.h > +++ b/arch/arm64/include/asm/pgtable-prot.h >

Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff

2022-03-16 Thread Michal Kubecek
On Wed, Mar 16, 2022 at 11:17:54AM -0700, Jakub Kicinski wrote: > On Wed, 16 Mar 2022 11:49:39 + Manish Chopra wrote: > > As ethtool over netlink has some limitations of the size, > > I believe you can configure ethtool with "--disable-netlink" and set those > > message levels fine > > Yup, I

Re: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff

2022-03-16 Thread Jakub Kicinski
On Wed, 16 Mar 2022 19:52:32 +0100 Michal Kubecek wrote: > > Yup, IIUC it works for Paul on a 5.17 system, that system likely has > > old ethtool user space tool which uses ioctls instead of netlink. > > > > What makes the netlink path somewhat non-trivial is that there is > > an expectation that

RE: [EXT] Re: bnx2x: ppc64le: Unable to set message level greater than 0x7fff

2022-03-16 Thread Manish Chopra
Hi Paul, > -Original Message- > From: Paul Menzel > Sent: Wednesday, March 16, 2022 11:04 AM > To: Jakub Kicinski ; Michal Kubecek > Cc: Ariel Elior ; Sudarsana Reddy Kalluru > ; Manish Chopra ; > net...@vger.kernel.org; linuxppc-dev@lists.ozlabs.org; > it+net...@molgen.mpg.de > Subject:

[PATCH] macintosh: macio-adb: Fix warning comparing pointer to 0

2022-03-16 Thread Haowen Bai
Avoid pointer type value compared with 0 to make code clear. Signed-off-by: Haowen Bai --- drivers/macintosh/macio-adb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/macintosh/macio-adb.c b/drivers/macintosh/macio-adb.c index dc634c2..51afa46 100644 --- a/dri

[PATCH] macintosh: windfarm_pm81: Fix warning comparing pointer to 0

2022-03-16 Thread Haowen Bai
Avoid pointer type value compared with 0 to make code clear. Signed-off-by: Haowen Bai --- drivers/macintosh/windfarm_pm81.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/macintosh/windfarm_pm81.c b/drivers/macintosh/windfarm_pm81.c index 82c67a4..1dfced5 10064

[PATCH] macintosh: adb: Fix warning comparing pointer to 0

2022-03-16 Thread Haowen Bai
Avoid pointer type value compared with 0 to make code clear. Signed-off-by: Haowen Bai --- drivers/macintosh/adb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/macintosh/adb.c b/drivers/macintosh/adb.c index 73b3961..996f310 100644 --- a/drivers/macintosh/adb.c

[PATCH] macintosh: via-cuda: Fix warning comparing pointer to 0

2022-03-16 Thread Haowen Bai
Avoid pointer type value compared with 0 to make code clear. Signed-off-by: Haowen Bai --- drivers/macintosh/via-cuda.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/macintosh/via-cuda.c b/drivers/macintosh/via-cuda.c index cd267392..05a3cd9 100644 --- a/drive

[PATCH] macintosh: windfarm_pm91: Fix warning comparing pointer to 0

2022-03-16 Thread Haowen Bai
Avoid pointer type value compared with 0 to make code clear. Signed-off-by: Haowen Bai --- drivers/macintosh/windfarm_pm91.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/macintosh/windfarm_pm91.c b/drivers/macintosh/windfarm_pm91.c index 3f346af..568f8a2 100644 --

[PATCH] macintosh: smu: Fix warning comparing pointer to 0

2022-03-16 Thread Haowen Bai
Avoid pointer type value compared with 0 to make code clear. Signed-off-by: Haowen Bai --- drivers/macintosh/smu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/macintosh/smu.c b/drivers/macintosh/smu.c index a4fbc3f..d72d073 100644 --- a/drivers/macintosh/smu

[PATCH] macintosh: windfarm_pm121: Fix warning comparing pointer to 0

2022-03-16 Thread Haowen Bai
Avoid pointer type value compared with 0 to make code clear. Signed-off-by: Haowen Bai --- drivers/macintosh/windfarm_pm121.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/macintosh/windfarm_pm121.c b/drivers/macintosh/windfarm_pm121.c index ba1ec6f..f0aa263 10