Message ID | 20241016083625.136311-2-alexghiti@rivosinc.com (mailing list archive) |
---|---|
State | Accepted |
Commit | f431f67ff6c20a6d08f67784eef87d6db4801fd0 |
Headers | show |
Series | Prevent dynamic relocations in vDSO | expand |
On Wed, Oct 16, 2024 at 4:37 PM Alexandre Ghiti <alexghiti@rivosinc.com> wrote: > > The compiler is smart enough to insert a call to memset() in > riscv_vdso_get_cpus(), which generates a dynamic relocation. > > So prevent this by using -fno-builtin option. > > Fixes: e2c0cdfba7f6 ("RISC-V: User-facing API") > Cc: stable@vger.kernel.org > Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com> > --- > arch/riscv/kernel/vdso/Makefile | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile > index 960feb1526ca..3f1c4b2d0b06 100644 > --- a/arch/riscv/kernel/vdso/Makefile > +++ b/arch/riscv/kernel/vdso/Makefile > @@ -18,6 +18,7 @@ obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o > > ccflags-y := -fno-stack-protector > ccflags-y += -DDISABLE_BRANCH_PROFILING > +ccflags-y += -fno-builtin LGTM! Reviewed-by: Guo Ren <guoren@kernel.org> > > ifneq ($(c-gettimeofday-y),) > CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y) > -- > 2.39.2 >
diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile index 960feb1526ca..3f1c4b2d0b06 100644 --- a/arch/riscv/kernel/vdso/Makefile +++ b/arch/riscv/kernel/vdso/Makefile @@ -18,6 +18,7 @@ obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o ccflags-y := -fno-stack-protector ccflags-y += -DDISABLE_BRANCH_PROFILING +ccflags-y += -fno-builtin ifneq ($(c-gettimeofday-y),) CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y)
The compiler is smart enough to insert a call to memset() in riscv_vdso_get_cpus(), which generates a dynamic relocation. So prevent this by using -fno-builtin option. Fixes: e2c0cdfba7f6 ("RISC-V: User-facing API") Cc: stable@vger.kernel.org Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com> --- arch/riscv/kernel/vdso/Makefile | 1 + 1 file changed, 1 insertion(+)