From: Andreas Schwab <schwab@suse.de>
Date: Tue, 2 Nov 2021 15:51:43 +0000 (+0100)
Subject: riscv: fix building external modules
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9c2ff78cf833eaf3a9fbfdab3ddf0058f048bc34;p=linux.git

riscv: fix building external modules

[ Upstream commit 5a19c7e06236a9c55dfc001bb4d1a8f1950d23e7 ]

When building external modules, vdso_prepare should not be run.  If the
kernel sources are read-only, it will fail.

Fixes: fde9c59aebaf ("riscv: explicitly use symbol offsets for VDSO")
Signed-off-by: Andreas Schwab <schwab@suse.de>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
index 0eb4568fbd290..41f3a75fe2ec8 100644
--- a/arch/riscv/Makefile
+++ b/arch/riscv/Makefile
@@ -108,11 +108,13 @@ PHONY += vdso_install
 vdso_install:
 	$(Q)$(MAKE) $(build)=arch/riscv/kernel/vdso $@
 
+ifeq ($(KBUILD_EXTMOD),)
 ifeq ($(CONFIG_MMU),y)
 prepare: vdso_prepare
 vdso_prepare: prepare0
 	$(Q)$(MAKE) $(build)=arch/riscv/kernel/vdso include/generated/vdso-offsets.h
 endif
+endif
 
 ifneq ($(CONFIG_XIP_KERNEL),y)
 ifeq ($(CONFIG_RISCV_M_MODE)$(CONFIG_SOC_CANAAN),yy)