Thomas Weißschuh
ff435493d6
csky/vdso: Remove arch_vma_name()
...
All callers of arch_vma_name() also get the name via vm_ops, which for
these VMAs will use the name from 'struct vma_special_mapping'.
Therefore the custom implementation is unnecessary and can be removed in
favor of the default implementation from kernel/signal.c.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Link: https://lore.kernel.org/all/20241010-vdso-generic-base-v1-2-b64f0842d512@linutronix.de
2024-11-02 12:37:32 +01:00
Thomas Weißschuh
cf12469600
csky/vdso: Remove gettimeofday() and friends from VDSO
...
The time-related VDSO functionality was introduced in 2021 in
commit 87f3248cdb ("csky: Reconstruct VDSO framework") and
commit 0d3b051adb ("csky: Add VDSO with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO").
However the corresponding aux-vector entry AT_SYSINFO_EHDR was never
wired up, making these functions impossible to test or use.
The VDSO itself is kept as it also provides rt_sigreturn which is
exposed differently to userspace.
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Link: https://lore.kernel.org/all/20241010-vdso-generic-base-v1-1-b64f0842d512@linutronix.de
2024-11-02 12:37:32 +01:00
Linus Torvalds
497258dfaf
mm: remove legacy install_special_mapping() code
...
All relevant architectures had already been converted to the new interface
(which just has an underscore in front of the name - not very imaginative
naming), this just force-converts the stragglers.
The modern interface is almost identical to the old one, except instead of
the page pointer it takes a "struct vm_special_mapping" that describes the
mapping (and contains the page pointer as one member), and it returns the
resulting 'vma' instead of just the error code.
Getting rid of the old interface also gets rid of some special casing,
which had caused problems with the mremap extensions to "struct
vm_special_mapping".
[akpm@linux-foundation.org: coding-style cleanups]
Link: https://lkml.kernel.org/r/CAHk-=whvR+z=0=0gzgdfUiK70JTa-=+9vxD-4T=3BagXR6dciA@mail.gmail.comTested-by : Rob Landley <rob@landley.net > # arch/sh/
Link: https://lore.kernel.org/all/20240819195120.GA1113263@thelio-3990X/
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
Cc: Nathan Chancellor <nathan@kernel.org >
Cc: Michael Ellerman <mpe@ellerman.id.au >
Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com >
Cc: Brian Cain <bcain@quicinc.com >
Cc: Christophe Leroy <christophe.leroy@csgroup.eu >
Cc: Dinh Nguyen <dinguyen@kernel.org >
Cc: Guo Ren <guoren@kernel.org >
Cc: Jeff Xu <jeffxu@google.com >
Cc: Johannes Berg <johannes@sipsolutions.net >
Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de >
Cc: Liam R. Howlett <Liam.Howlett@oracle.com >
Cc: Nicholas Piggin <npiggin@gmail.com >
Cc: Pedro Falcato <pedro.falcato@gmail.com >
Cc: Richard Weinberger <richard@nod.at >
Cc: Rich Felker <dalias@libc.org >
Cc: Rob Landley <rob@landley.net >
Cc: Yoshinori Sato <ysato@users.sourceforge.jp >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
2024-09-01 20:26:13 -07:00
Anna-Maria Behnsen
56145a0f84
csky/vdso: Use generic union vdso_data_store
...
There is already a generic union definition for vdso_data_store in the vdso
datapage header.
Use this definition to prevent code duplication.
Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Acked-by: Guo Ren <guoren@kernel.org >
Link: https://lore.kernel.org/r/20240219153939.75719-11-anna-maria@linutronix.de
2024-02-20 20:56:01 +01:00
Anna-Maria Behnsen
4eb0833d7d
csky/vdso: Remove superfluous ifdeffery
...
CSKY selects GENERIC_TIME_VSYSCALL. GENERIC_TIME_VSYSCALL dependent
ifdeffery is superfluous. Clean it up.
Signed-off-by: Anna-Maria Behnsen <anna-maria@linutronix.de >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com >
Reviewed-by: Kees Cook <keescook@chromium.org >
Acked-by: Guo Ren <guoren@kernel.org >
Link: https://lore.kernel.org/r/20240219153939.75719-4-anna-maria@linutronix.de
2024-02-20 20:56:00 +01:00
Guo Ren
0d3b051adb
csky: Add VDSO with GENERIC_GETTIMEOFDAY, GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO
...
It could help to reduce the latency of the time-related functions
in user space.
We have referenced arm's and riscv's implementation for the patch.
Signed-off-by: Guo Ren <guoren@linux.alibaba.com >
Cc: Vincent Chen <vincent.chen@sifive.com >
Cc: Arnd Bergmann <arnd@arndb.de >
2021-02-27 16:35:09 +08:00
Guo Ren
87f3248cdb
csky: Reconstruct VDSO framework
...
Reconstruct vdso framework to support future vsyscall,
vgettimeofday features. These are very important features to reduce
system calls into the kernel for performance improvement.
The patch is reference RISC-V's
Signed-off-by: Guo Ren <guoren@linux.alibaba.com >
Cc: Palmer Dabbelt <palmerdabbelt@google.com >
2021-01-12 09:52:41 +08:00
Michel Lespinasse
d8ed45c5dc
mmap locking API: use coccinelle to convert mmap_sem rwsem call sites
...
This change converts the existing mmap_sem rwsem calls to use the new mmap
locking API instead.
The change is generated using coccinelle with the following rule:
// spatch --sp-file mmap_lock_api.cocci --in-place --include-headers --dir .
@@
expression mm;
@@
(
-init_rwsem
+mmap_init_lock
|
-down_write
+mmap_write_lock
|
-down_write_killable
+mmap_write_lock_killable
|
-down_write_trylock
+mmap_write_trylock
|
-up_write
+mmap_write_unlock
|
-downgrade_write
+mmap_write_downgrade
|
-down_read
+mmap_read_lock
|
-down_read_killable
+mmap_read_lock_killable
|
-down_read_trylock
+mmap_read_trylock
|
-up_read
+mmap_read_unlock
)
-(&mm->mmap_sem)
+(mm)
Signed-off-by: Michel Lespinasse <walken@google.com >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com >
Reviewed-by: Laurent Dufour <ldufour@linux.ibm.com >
Reviewed-by: Vlastimil Babka <vbabka@suse.cz >
Cc: Davidlohr Bueso <dbueso@suse.de >
Cc: David Rientjes <rientjes@google.com >
Cc: Hugh Dickins <hughd@google.com >
Cc: Jason Gunthorpe <jgg@ziepe.ca >
Cc: Jerome Glisse <jglisse@redhat.com >
Cc: John Hubbard <jhubbard@nvidia.com >
Cc: Liam Howlett <Liam.Howlett@oracle.com >
Cc: Matthew Wilcox <willy@infradead.org >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Ying Han <yinghan@google.com >
Link: http://lkml.kernel.org/r/20200520052908.204642-5-walken@google.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-06-09 09:39:14 -07:00
Guo Ren
dd3ef10ea2
csky: VDSO and rt_sigreturn
...
This patch adds files related to VDSO and our VDSO only support
rt_sigreturn.
Signed-off-by: Guo Ren <ren_guo@c-sky.com >
Reviewed-by: Arnd Bergmann <arnd@arndb.de >
2018-10-26 00:54:22 +08:00