Skip to content

Commit c0087d8

Browse files
committed
s390/vdso: Rename vdso64 to vdso
Since compat is gone there is only a 64 bit vdso left. Remove the superfluous "64" suffix everywhere. Reviewed-by: Jens Remus <jremus@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
1 parent b3bdfdf commit c0087d8

18 files changed

Lines changed: 104 additions & 106 deletions

arch/s390/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,9 +151,9 @@ ifeq ($(KBUILD_EXTMOD),)
151151
# this hack.
152152
prepare: vdso_prepare
153153
vdso_prepare: prepare0
154-
$(Q)$(MAKE) $(build)=arch/s390/kernel/vdso64 include/generated/vdso64-offsets.h
154+
$(Q)$(MAKE) $(build)=arch/s390/kernel/vdso include/generated/vdso-offsets.h
155155

156-
vdso-install-y += arch/s390/kernel/vdso64/vdso64.so.dbg
156+
vdso-install-y += arch/s390/kernel/vdso/vdso.so.dbg
157157

158158
endif
159159

arch/s390/include/asm/vdso-symbols.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
#ifndef __S390_VDSO_SYMBOLS_H__
33
#define __S390_VDSO_SYMBOLS_H__
44

5-
#include <generated/vdso64-offsets.h>
5+
#include <generated/vdso-offsets.h>
66

7-
#define VDSO64_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso64_offset_##name))
7+
#define VDSO_SYMBOL(tsk, name) ((tsk)->mm->context.vdso_base + (vdso_offset_##name))
88

99
#endif /* __S390_VDSO_SYMBOLS_H__ */

arch/s390/kernel/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,4 +81,4 @@ obj-$(CONFIG_PERF_EVENTS) += perf_pai.o
8181
obj-$(CONFIG_TRACEPOINTS) += trace.o
8282

8383
# vdso
84-
obj-y += vdso64/
84+
obj-y += vdso/

arch/s390/kernel/signal.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,7 +326,7 @@ static int setup_frame(int sig, struct k_sigaction *ka,
326326
if (ka->sa.sa_flags & SA_RESTORER)
327327
restorer = (unsigned long) ka->sa.sa_restorer;
328328
else
329-
restorer = VDSO64_SYMBOL(current, sigreturn);
329+
restorer = VDSO_SYMBOL(current, sigreturn);
330330

331331
/* Set up registers for signal handler */
332332
regs->gprs[14] = restorer;
@@ -378,7 +378,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
378378
if (ksig->ka.sa.sa_flags & SA_RESTORER)
379379
restorer = (unsigned long) ksig->ka.sa.sa_restorer;
380380
else
381-
restorer = VDSO64_SYMBOL(current, rt_sigreturn);
381+
restorer = VDSO_SYMBOL(current, rt_sigreturn);
382382

383383
/* Create siginfo on the signal stack */
384384
if (copy_siginfo_to_user(&frame->info, &ksig->info))
@@ -490,7 +490,7 @@ void arch_do_signal_or_restart(struct pt_regs *regs)
490490
/* Restart with sys_restart_syscall */
491491
regs->gprs[2] = regs->orig_gpr2;
492492
current->restart_block.arch_data = regs->psw.addr;
493-
regs->psw.addr = VDSO64_SYMBOL(current, restart_syscall);
493+
regs->psw.addr = VDSO_SYMBOL(current, restart_syscall);
494494
if (test_thread_flag(TIF_SINGLE_STEP))
495495
clear_thread_flag(TIF_PER_TRAP);
496496
break;

arch/s390/kernel/vdso.c

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#include <asm/alternative.h>
2323
#include <asm/vdso.h>
2424

25-
extern char vdso64_start[], vdso64_end[];
25+
extern char vdso_start[], vdso_end[];
2626

2727
static int vdso_mremap(const struct vm_special_mapping *sm,
2828
struct vm_area_struct *vma)
@@ -31,7 +31,7 @@ static int vdso_mremap(const struct vm_special_mapping *sm,
3131
return 0;
3232
}
3333

34-
static struct vm_special_mapping vdso64_mapping = {
34+
static struct vm_special_mapping vdso_mapping = {
3535
.name = "[vdso]",
3636
.mremap = vdso_mremap,
3737
};
@@ -46,7 +46,6 @@ early_initcall(vdso_getcpu_init); /* Must be called before SMP init */
4646
static int map_vdso(unsigned long addr, unsigned long vdso_mapping_len)
4747
{
4848
unsigned long vvar_start, vdso_text_start, vdso_text_len;
49-
struct vm_special_mapping *vdso_mapping;
5049
struct mm_struct *mm = current->mm;
5150
struct vm_area_struct *vma;
5251
int rc;
@@ -55,8 +54,7 @@ static int map_vdso(unsigned long addr, unsigned long vdso_mapping_len)
5554
if (mmap_write_lock_killable(mm))
5655
return -EINTR;
5756

58-
vdso_text_len = vdso64_end - vdso64_start;
59-
vdso_mapping = &vdso64_mapping;
57+
vdso_text_len = vdso_end - vdso_start;
6058
vvar_start = get_unmapped_area(NULL, addr, vdso_mapping_len, 0, 0);
6159
rc = vvar_start;
6260
if (IS_ERR_VALUE(vvar_start))
@@ -70,7 +68,7 @@ static int map_vdso(unsigned long addr, unsigned long vdso_mapping_len)
7068
vma = _install_special_mapping(mm, vdso_text_start, vdso_text_len,
7169
VM_READ|VM_EXEC|VM_SEALED_SYSMAP|
7270
VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC,
73-
vdso_mapping);
71+
&vdso_mapping);
7472
if (IS_ERR(vma)) {
7573
do_munmap(mm, vvar_start, PAGE_SIZE, NULL);
7674
rc = PTR_ERR(vma);
@@ -110,7 +108,7 @@ static unsigned long vdso_addr(unsigned long start, unsigned long len)
110108

111109
unsigned long vdso_text_size(void)
112110
{
113-
return PAGE_ALIGN(vdso64_end - vdso64_start);
111+
return PAGE_ALIGN(vdso_end - vdso_start);
114112
}
115113

116114
unsigned long vdso_size(void)
@@ -148,7 +146,7 @@ static void vdso_apply_alternatives(void)
148146
struct alt_instr *start, *end;
149147
const struct elf64_hdr *hdr;
150148

151-
hdr = (struct elf64_hdr *)vdso64_start;
149+
hdr = (struct elf64_hdr *)vdso_start;
152150
shdr = (void *)hdr + hdr->e_shoff;
153151
alt = find_section(hdr, shdr, ".altinstructions");
154152
if (!alt)
@@ -161,7 +159,7 @@ static void vdso_apply_alternatives(void)
161159
static int __init vdso_init(void)
162160
{
163161
vdso_apply_alternatives();
164-
vdso64_mapping.pages = vdso_setup_pages(vdso64_start, vdso64_end);
162+
vdso_mapping.pages = vdso_setup_pages(vdso_start, vdso_end);
165163
return 0;
166164
}
167165
arch_initcall(vdso_init);
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# SPDX-License-Identifier: GPL-2.0-only
2-
vdso64.lds
2+
vdso.lds

arch/s390/kernel/vdso/Makefile

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
# List of files in the vdso
3+
4+
# Include the generic Makefile to check the built vdso.
5+
include $(srctree)/lib/vdso/Makefile.include
6+
obj-vdso = vdso_user_wrapper.o note.o vgetrandom-chacha.o
7+
obj-cvdso = vdso_generic.o getcpu.o vgetrandom.o
8+
VDSO_CFLAGS_REMOVE := -pg $(CC_FLAGS_FTRACE) $(CC_FLAGS_EXPOLINE)
9+
CFLAGS_REMOVE_getcpu.o = $(VDSO_CFLAGS_REMOVE)
10+
CFLAGS_REMOVE_vgetrandom.o = $(VDSO_CFLAGS_REMOVE)
11+
CFLAGS_REMOVE_vdso_generic.o = $(VDSO_CFLAGS_REMOVE)
12+
13+
ifneq ($(c-getrandom-y),)
14+
CFLAGS_vgetrandom.o += -include $(c-getrandom-y)
15+
endif
16+
17+
# Build rules
18+
19+
targets := $(obj-vdso) $(obj-cvdso) vdso.so vdso.so.dbg
20+
obj-vdso := $(addprefix $(obj)/, $(obj-vdso))
21+
obj-cvdso := $(addprefix $(obj)/, $(obj-cvdso))
22+
23+
KBUILD_AFLAGS += -DBUILD_VDSO
24+
KBUILD_CFLAGS += -DBUILD_VDSO -DDISABLE_BRANCH_PROFILING
25+
26+
KBUILD_AFLAGS_VDSO := $(filter-out -m64,$(KBUILD_AFLAGS))
27+
KBUILD_AFLAGS_VDSO += -m64
28+
29+
KBUILD_CFLAGS_VDSO := $(filter-out -m64,$(KBUILD_CFLAGS))
30+
KBUILD_CFLAGS_VDSO := $(filter-out -mpacked-stack,$(KBUILD_CFLAGS_VDSO))
31+
KBUILD_CFLAGS_VDSO := $(filter-out -mno-pic-data-is-text-relative,$(KBUILD_CFLAGS_VDSO))
32+
KBUILD_CFLAGS_VDSO := $(filter-out -munaligned-symbols,$(KBUILD_CFLAGS_VDSO))
33+
KBUILD_CFLAGS_VDSO := $(filter-out -fno-asynchronous-unwind-tables,$(KBUILD_CFLAGS_VDSO))
34+
KBUILD_CFLAGS_VDSO += -m64 -fPIC -fno-common -fno-builtin -fasynchronous-unwind-tables
35+
KBUILD_CFLAGS_VDSO += -fno-stack-protector
36+
ldflags-y := -shared -soname=linux-vdso.so.1 \
37+
--hash-style=both --build-id=sha1 -T
38+
39+
$(targets:%=$(obj)/%.dbg): KBUILD_CFLAGS = $(KBUILD_CFLAGS_VDSO)
40+
$(targets:%=$(obj)/%.dbg): KBUILD_AFLAGS = $(KBUILD_AFLAGS_VDSO)
41+
42+
obj-y += vdso_wrapper.o
43+
targets += vdso.lds
44+
CPPFLAGS_vdso.lds += -P -C -U$(ARCH)
45+
46+
# Force dependency (incbin is bad)
47+
$(obj)/vdso_wrapper.o : $(obj)/vdso.so
48+
49+
quiet_cmd_vdso_and_check = VDSO $@
50+
cmd_vdso_and_check = $(cmd_ld); $(cmd_vdso_check)
51+
52+
# link rule for the .so file, .lds has to be first
53+
$(obj)/vdso.so.dbg: $(obj)/vdso.lds $(obj-vdso) $(obj-cvdso) FORCE
54+
$(call if_changed,vdso_and_check)
55+
56+
# strip rule for the .so file
57+
$(obj)/%.so: OBJCOPYFLAGS := -S
58+
$(obj)/%.so: $(obj)/%.so.dbg FORCE
59+
$(call if_changed,objcopy)
60+
61+
# assembly rules for the .S files
62+
$(obj-vdso): %.o: %.S FORCE
63+
$(call if_changed_dep,vdsoas)
64+
65+
$(obj-cvdso): %.o: %.c FORCE
66+
$(call if_changed_dep,vdsocc)
67+
68+
# actual build commands
69+
quiet_cmd_vdsoas = VDSOA $@
70+
cmd_vdsoas = $(CC) $(a_flags) -c -o $@ $<
71+
quiet_cmd_vdsocc = VDSOC $@
72+
cmd_vdsocc = $(CC) $(c_flags) -c -o $@ $<
73+
74+
# Generate VDSO offsets using helper script
75+
gen-vdsosym := $(src)/gen_vdso_offsets.sh
76+
quiet_cmd_vdsosym = VDSOSYM $@
77+
cmd_vdsosym = $(NM) $< | $(gen-vdsosym) | LC_ALL=C sort > $@
78+
79+
include/generated/vdso-offsets.h: $(obj)/vdso.so.dbg FORCE
80+
$(call if_changed,vdsosym)

arch/s390/kernel/vdso64/gen_vdso_offsets.sh renamed to arch/s390/kernel/vdso/gen_vdso_offsets.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
#
1313

1414
LC_ALL=C
15-
sed -n 's/\([0-9a-f]*\) . __kernel_\(.*\)/\#define vdso64_offset_\2\t0x\1/p'
15+
sed -n 's/\([0-9a-f]*\) . __kernel_\(.*\)/\#define vdso_offset_\2\t0x\1/p'

0 commit comments

Comments
 (0)