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
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
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
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
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
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
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
-
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
>>
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
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
>> 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
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
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
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
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
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:
>
>>
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
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
>
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
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
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:
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
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
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
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
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
--
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
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
42 matches
Mail list logo