Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1823046rwb; Fri, 2 Dec 2022 01:23:50 -0800 (PST) X-Google-Smtp-Source: AA0mqf46RZ3i1FqkxTi/UXbGCoekJ2Z3xWKRG1/NEIz5eOG7IgMqP8XnOqG7DIw9xeV87MHSZ7Mz X-Received: by 2002:a63:ff20:0:b0:477:a48c:5a7f with SMTP id k32-20020a63ff20000000b00477a48c5a7fmr42105665pgi.62.1669973030508; Fri, 02 Dec 2022 01:23:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669973030; cv=none; d=google.com; s=arc-20160816; b=ZkChDRLzbQ1V84SgNd0U/R0HuktxBPuW/S2Q6LavXIvu7ptrD8kg9VlaaB82HTx6A8 Sq7RRNugoiLYINOmwWpG8l5mvTaeD28YdaYcby3ztdQXs85xD0KPhdLmBRxNRNJ3naf7 dtzjkmL1JnFgp0e50Vf5o0uUCcOduwU4wA20vmt2LR5NAzdIwNVHvz7vhwxcdIqLgSIR 6x22KSYqUlh3bmS2L9YW0njV4ubbpISRrnijEa0YIgMflvTJNjhQV+j3Hl1AueA6OLNX IKZ/vhyTm/jSXtGZ+4bAoAw4o44z5vWSib8SDesM1GKrmu0fCxDn3h7YnpkH+aqXU6zZ 8N+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=uHMoD/DcrhObTGtyvyKEig8wHn7CtcVTXrQ4ciasUkM=; b=avLfdBDrzzOuCcEt2+LUlLjwQbQ7fkpYPZjl6LjZQtKeBN8QNDq3YqygQeUf9K83k7 mj77USeuCk6dXMw3fYOox+45ZA7oQpVErelwGp839dDxzJmVneffdsRU/5ymWK2sKq4s 3fnY4nRIWeFTjlNR3j+2DSKRjesJHpTMEZeMFTCqIUXFKsmZ2OpFcgJuyG2K5iCSSKsA W2QaGqnCHSU4E2JqsyfX/V7vtK8oW1DnYXB5+EIIkfXBeQ0Q7Hsd4d8yQc416kztLL1A T3VNkmVICbm+BLsr6yGeK4rPDwjrnBcRusYU4KADbDe4gvgXXjAww6pavswItBMus9zq WaNg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JnXkfoFq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q16-20020a17090311d000b00188baabb422si7481762plh.487.2022.12.02.01.23.40; Fri, 02 Dec 2022 01:23:50 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JnXkfoFq; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232453AbiLBIkM (ORCPT + 82 others); Fri, 2 Dec 2022 03:40:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231730AbiLBIjv (ORCPT ); Fri, 2 Dec 2022 03:39:51 -0500 Received: from mail-io1-xd32.google.com (mail-io1-xd32.google.com [IPv6:2607:f8b0:4864:20::d32]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84AA4D113 for ; Fri, 2 Dec 2022 00:39:45 -0800 (PST) Received: by mail-io1-xd32.google.com with SMTP id e189so2692594iof.1 for ; Fri, 02 Dec 2022 00:39:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=uHMoD/DcrhObTGtyvyKEig8wHn7CtcVTXrQ4ciasUkM=; b=JnXkfoFq7hb5GNb8lyWcXA//VaK0QvOA+CpsnlLhjtGk/vicAEoolpKw3/6044ildC HAYIX8MfXJ49PDjbHXWmMFDTaR0CH+ZhQrs1XwGRHP3IIyImxckBaOFK9yyaCk7AIJSg C46zmAx4VHTTe8uzvUneLbW7Ma+M8EYqqdNw3yevC0CrxwD6TgYDzWcky8zM7UAWZxKq cRLeRQYIIy0kU7bFpUYZ5ntA0ybx9Og3/6jYUbdbjlvOTHcZbFfFUy1otbq0Jy3/muri wmpGYoVFBglbeRWCZa4Urowy4APUojbeQgCPCzYCVsh5pC4pNeFVd71gypdw6uVPln15 qKYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=uHMoD/DcrhObTGtyvyKEig8wHn7CtcVTXrQ4ciasUkM=; b=ifbZ9QpAwM5UHtQOUEDe3tr7RabRNnL9MCxdH7XSE13/1E5wOQ8Jf2rNORCfVqxQ9F Z8wcdtskzKKG7BXCPOL2uaOW4xSnIC9YgB5ryFaofZ42vi5I75f7AyS5uAQJiAnGUB7N GnZ2N6VyNOZRypw0Nir07DdJ4jvVchguJz9LiSP57Z7tzvCaX6QZruYSj4SUfbMqH1VZ /Ccij3GDNgA/A2SH7WQN6l1uk7SGUvf5eOH3uQGZaHVLTTsWXEjgZ+MOSJJOGsYormXQ CDrqNn7S1AactWg1RQpw0wzEeKL2LzT9vyI803DuE7Q7vvNuEidXB7erd0riIWwrD5or j+EQ== X-Gm-Message-State: ANoB5pnfVoUlGVeJwkQKWW1uU3dNuiXs0OBJezXRU7RP/RbA6lYiCpwP I3FdzPxumksnqCO+rt6vmh5kgj+5aPqM8242Mc95e6w99uGFGvVK X-Received: by 2002:a02:cc4d:0:b0:373:2fc2:96d7 with SMTP id i13-20020a02cc4d000000b003732fc296d7mr27723585jaq.177.1669970384908; Fri, 02 Dec 2022 00:39:44 -0800 (PST) MIME-Version: 1.0 References: <868rjrmmv2.wl-maz@kernel.org> In-Reply-To: <868rjrmmv2.wl-maz@kernel.org> From: Anders Roxell Date: Fri, 2 Dec 2022 09:39:33 +0100 Message-ID: Subject: Re: stable-rc-5.10: arm64: allmodconfig: (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset' To: Marc Zyngier Cc: Naresh Kamboju , linux-stable , open list , lkft-triage@lists.linaro.org, Greg Kroah-Hartman , Guenter Roeck , Arnd Bergmann , Linux ARM , Will Deacon , Catalin Marinas Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 1 Dec 2022 at 11:36, Marc Zyngier wrote: > > On Thu, 01 Dec 2022 09:39:57 +0000, > Naresh Kamboju wrote: > > > > [please ignore if it is already reported] > > > > The stable-rc 5.10 arm64 allmodconfig builds failed with gcc-12. > > List of build warnings and errors with gcc-12 are listed below. > > > > aarch64-linux-gnu-ld: Unexpected GOT/PLT entries detected! > > aarch64-linux-gnu-ld: Unexpected run-time procedure linkages detected! > > aarch64-linux-gnu-ld: arch/arm64/kvm/hyp/nvhe/kvm_nvhe.o: in function > > `__kvm_nvhe___kvm_tlb_flush_vmid_ipa': > > (.hyp.text+0x1a4c): undefined reference to `__kvm_nvhe_memset' > > Stupid gcc. Can you try the following patch and check if this works > for you? The patch didn't apply smodly, was a few minor issues. But it solved the build error. Cheers, Anders > > Thanks, > > M. > > From 4e775885654bd667a519df5ca5aaf702ce438f5e Mon Sep 17 00:00:00 2001 > From: Will Deacon > Date: Fri, 19 Mar 2021 10:01:10 +0000 > Subject: [PATCH] KVM: arm64: Link position-independent string routines into > .hyp.text > > Commit 7b4a7b5e6fefd15f708f959dd43e188444e252ec upstream. > > Pull clear_page(), copy_page(), memcpy() and memset() into the nVHE hyp > code and ensure that we always execute the '__pi_' entry point on the > offchance that it changes in future. > > [ qperret: Commit title nits and added linker script alias ] > > Signed-off-by: Will Deacon > Signed-off-by: Quentin Perret > Signed-off-by: Marc Zyngier > Link: https://lore.kernel.org/r/20210319100146.1149909-3-qperret@google.com > --- > arch/arm64/include/asm/hyp_image.h | 3 +++ > arch/arm64/kernel/image-vars.h | 11 +++++++++++ > arch/arm64/kvm/hyp/nvhe/Makefile | 4 ++++ > 3 files changed, 18 insertions(+) > > diff --git a/arch/arm64/include/asm/hyp_image.h b/arch/arm64/include/asm/hyp_image.h > index daa1a1da539e..e06842756051 100644 > --- a/arch/arm64/include/asm/hyp_image.h > +++ b/arch/arm64/include/asm/hyp_image.h > @@ -31,6 +31,9 @@ > */ > #define KVM_NVHE_ALIAS(sym) kvm_nvhe_sym(sym) = sym; > > +/* Defines a linker script alias for KVM nVHE hyp symbols */ > +#define KVM_NVHE_ALIAS_HYP(first, sec) kvm_nvhe_sym(first) = kvm_nvhe_sym(sec); > + > #endif /* LINKER_SCRIPT */ > > #endif /* __ARM64_HYP_IMAGE_H__ */ > diff --git a/arch/arm64/kernel/image-vars.h b/arch/arm64/kernel/image-vars.h > index c615b285ff5b..48e43b29a2d5 100644 > --- a/arch/arm64/kernel/image-vars.h > +++ b/arch/arm64/kernel/image-vars.h > @@ -103,6 +103,17 @@ KVM_NVHE_ALIAS(gic_nonsecure_priorities); > KVM_NVHE_ALIAS(__start___kvm_ex_table); > KVM_NVHE_ALIAS(__stop___kvm_ex_table); > > +/* Position-independent library routines */ > +KVM_NVHE_ALIAS_HYP(clear_page, __pi_clear_page); > +KVM_NVHE_ALIAS_HYP(copy_page, __pi_copy_page); > +KVM_NVHE_ALIAS_HYP(memcpy, __pi_memcpy); > +KVM_NVHE_ALIAS_HYP(memset, __pi_memset); > + > +#ifdef CONFIG_KASAN > +KVM_NVHE_ALIAS_HYP(__memcpy, __pi_memcpy); > +KVM_NVHE_ALIAS_HYP(__memset, __pi_memset); > +#endif > + > #endif /* CONFIG_KVM */ > > #endif /* __ARM64_KERNEL_IMAGE_VARS_H */ > diff --git a/arch/arm64/kvm/hyp/nvhe/Makefile b/arch/arm64/kvm/hyp/nvhe/Makefile > index ddde15fe85f2..230bba1a6716 100644 > --- a/arch/arm64/kvm/hyp/nvhe/Makefile > +++ b/arch/arm64/kvm/hyp/nvhe/Makefile > @@ -6,9 +6,13 @@ > asflags-y := -D__KVM_NVHE_HYPERVISOR__ > ccflags-y := -D__KVM_NVHE_HYPERVISOR__ > > +lib-objs := clear_page.o copy_page.o memcpy.o memset.o > +lib-objs := $(addprefix ../../../lib/, $(lib-objs)) > + > obj-y := timer-sr.o sysreg-sr.o debug-sr.o switch.o tlb.o hyp-init.o host.o hyp-main.o > obj-y += ../vgic-v3-sr.o ../aarch32.o ../vgic-v2-cpuif-proxy.o ../entry.o \ > ../fpsimd.o ../hyp-entry.o > +obj-y += $(lib-objs) > > ## > ## Build rules for compiling nVHE hyp code > -- > 2.34.1 > > > -- > Without deviation from the norm, progress is not possible.