Message ID | mvmpnbtrmg1.fsf@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | riscv: add Linux note to vdso | expand |
On Mon, 27 Apr 2020 08:13:34 PDT (-0700), schwab@suse.de wrote: > The Linux note in the vdso allows glibc to check the running kernel > version without having to issue the uname syscall. > > Signed-off-by: Andreas Schwab <schwab@suse.de> > --- > arch/riscv/kernel/vdso/Makefile | 2 +- > arch/riscv/kernel/vdso/note.S | 12 ++++++++++++ > 2 files changed, 13 insertions(+), 1 deletion(-) > create mode 100644 arch/riscv/kernel/vdso/note.S > > diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile > index 33b16f4212f7..281dc58189e0 100644 > --- a/arch/riscv/kernel/vdso/Makefile > +++ b/arch/riscv/kernel/vdso/Makefile > @@ -12,7 +12,7 @@ vdso-syms += getcpu > vdso-syms += flush_icache > > # Files to link into the vdso > -obj-vdso = $(patsubst %, %.o, $(vdso-syms)) > +obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o > > # Build rules > targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.lds vdso-dummy.o > diff --git a/arch/riscv/kernel/vdso/note.S b/arch/riscv/kernel/vdso/note.S > new file mode 100644 > index 000000000000..2a956c942211 > --- /dev/null > +++ b/arch/riscv/kernel/vdso/note.S > @@ -0,0 +1,12 @@ > +/* SPDX-License-Identifier: GPL-2.0-or-later */ > +/* > + * This supplies .note.* sections to go into the PT_NOTE inside the vDSO text. > + * Here we can supply some information useful to userland. > + */ > + > +#include <linux/elfnote.h> > +#include <linux/version.h> > + > +ELFNOTE_START(Linux, 0, "a") > + .long LINUX_VERSION_CODE > +ELFNOTE_END Thanks. I've put this on fixes.
diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile index 33b16f4212f7..281dc58189e0 100644 --- a/arch/riscv/kernel/vdso/Makefile +++ b/arch/riscv/kernel/vdso/Makefile @@ -12,7 +12,7 @@ vdso-syms += getcpu vdso-syms += flush_icache # Files to link into the vdso -obj-vdso = $(patsubst %, %.o, $(vdso-syms)) +obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o # Build rules targets := $(obj-vdso) vdso.so vdso.so.dbg vdso.lds vdso-dummy.o diff --git a/arch/riscv/kernel/vdso/note.S b/arch/riscv/kernel/vdso/note.S new file mode 100644 index 000000000000..2a956c942211 --- /dev/null +++ b/arch/riscv/kernel/vdso/note.S @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * This supplies .note.* sections to go into the PT_NOTE inside the vDSO text. + * Here we can supply some information useful to userland. + */ + +#include <linux/elfnote.h> +#include <linux/version.h> + +ELFNOTE_START(Linux, 0, "a") + .long LINUX_VERSION_CODE +ELFNOTE_END
The Linux note in the vdso allows glibc to check the running kernel version without having to issue the uname syscall. Signed-off-by: Andreas Schwab <schwab@suse.de> --- arch/riscv/kernel/vdso/Makefile | 2 +- arch/riscv/kernel/vdso/note.S | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 arch/riscv/kernel/vdso/note.S