2021-08-20 12:43:43

by Tong Tiangen

[permalink] [raw]
Subject: [PATCH -next v2 0/3] riscv: Fix two vdso issue

v2->v1:
Add patch "Refactor asm/vdso.h" to avoid vdso.lds syntax error if
CONFIG_GENERIC_TIME_VSYSCALL=n.

1) Refactor the asm/vdso.h to avoid vdso.lds syntax error.

2) Move vdso data page up front and introduce enum vvar_pages, To pave the
way for the subsequent support of TIME_NS, the support of TIME_NS will be
issued in the later patch.

3) In arch_setup_additional_pages(), make Wait for the lock in the
killable mode and return with EINTR if the task got killed while waiting.

Tong Tiangen (3):
riscv/vdso: Refactor asm/vdso.h
riscv/vdso: Move vdso data page up front
riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for
write killable

arch/riscv/include/asm/syscall.h | 1 +
arch/riscv/include/asm/vdso.h | 10 ++----
arch/riscv/kernel/syscall_table.c | 1 -
arch/riscv/kernel/vdso.c | 53 +++++++++++++++++++------------
arch/riscv/kernel/vdso/vdso.lds.S | 3 +-
5 files changed, 39 insertions(+), 29 deletions(-)

--
2.18.0.huawei.25


2021-08-23 02:04:29

by Kefeng Wang

[permalink] [raw]
Subject: Re: [PATCH -next v2 0/3] riscv: Fix two vdso issue


On 2021/8/20 20:50, Tong Tiangen wrote:
> v2->v1:
> Add patch "Refactor asm/vdso.h" to avoid vdso.lds syntax error if
> CONFIG_GENERIC_TIME_VSYSCALL=n.

This is better than v1.

>
> 1) Refactor the asm/vdso.h to avoid vdso.lds syntax error.
>
> 2) Move vdso data page up front
MoveĀ  vdso data page before code page could save the problem which the
.text

section could be bigger than PAGE_SIZE.

> and introduce enum vvar_pages, To pave the
> way for the subsequent support of TIME_NS, the support of TIME_NS will be
> issued in the later patch.
This makes it easier to introduce new features TIME_NS.

>
> 3) In arch_setup_additional_pages(), make Wait for the lock in the
> killable mode and return with EINTR if the task got killed while waiting.
For series,

Reviewed-by: Kefeng Wang <[email protected]>
> Tong Tiangen (3):
> riscv/vdso: Refactor asm/vdso.h
> riscv/vdso: Move vdso data page up front
> riscv/vdso: make arch_setup_additional_pages wait for mmap_sem for
> write killable
>
> arch/riscv/include/asm/syscall.h | 1 +
> arch/riscv/include/asm/vdso.h | 10 ++----
> arch/riscv/kernel/syscall_table.c | 1 -
> arch/riscv/kernel/vdso.c | 53 +++++++++++++++++++------------
> arch/riscv/kernel/vdso/vdso.lds.S | 3 +-
> 5 files changed, 39 insertions(+), 29 deletions(-)
>