From patchwork Sun Dec 3 23:19:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 173026 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp2451803vqy; Sun, 3 Dec 2023 15:21:08 -0800 (PST) X-Google-Smtp-Source: AGHT+IEyMPf03wY+Sj4pqIa39LicogJ+Cf8e64AEkdWj4W3IGwL2PQqUcTA+RrE/tSiLDzzum9zW X-Received: by 2002:a05:6808:30a3:b0:3b8:b063:503f with SMTP id bl35-20020a05680830a300b003b8b063503fmr4515444oib.64.1701645668135; Sun, 03 Dec 2023 15:21:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701645668; cv=none; d=google.com; s=arc-20160816; b=MyLQXg0iZQOTo/dHLdoCzAvAvKSRqaWUI9tsFi638RDa4dWsCk+fDYdL5W00/yWrJr BqDXhjPR+L/ZNjCplQpvs8qjk0froyyOPmjOABd7XMJvvkvUsiqvSE7I3J7a791atAOk rN2dqKcwIki6EMmcI2Q4AaMUfOCEtgv94wFhBgkv96lE1cYajV3W1Ghh/Zx2RItZB3TR m8rnSiAjdvMUT8/RWDI11RaQuFX/6ksCgsljXdRorlkOZEpqPAlHlwsmPU3rn8da5C61 pi/S7bmtlmt67n1o1MDypAKFdxJPfgbjdKTqNKo+sOt98m1Pbwy754PBdYXCKtgJ2xBt Bk8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=U/WOpD6r5y0Ok3tYpWvI/WXVRtBKW+2PA57aZ1Qk9dM=; fh=RG81z/Hx5yQPYynbH2fyLvJdTMRM0l6VgTlyKjMN48M=; b=emSnSNBZj0P/jKFv0UpApGU0Qw3Tet0hqKZ7bADE29dMHON/FijsrSpM4q//dkm7PF RJFWrtFdqlDoHzDAQW1FmQPKTor6xBwOvvEvcMUvDm/5HZ87k1MhpzcwB6X09t+eN8u0 7y3ixEisBeNGMM50Lc4kNyfvcdef0gc+/cDtzayV4u9FZVEaeB8IW3bF2hQuhXOYA/VS ADkkOH3hrTfIwJpl9p3V1I37bwpbwm81Qz7QWPRffwPNIOAw4ku0bhIyzK2i0zbd3kaK GUI5MuJnZMmd5uaPPgfiaEiJzfqVZXEDSr4qkLAlJw26vxcYQZd9l9bepQyxQ5cbUSYJ yRpw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=B2iCgx1z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id a19-20020a056a000c9300b006ce51901fdfsi660901pfv.310.2023.12.03.15.21.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 15:21:08 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=B2iCgx1z; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id A7F44806E3CE; Sun, 3 Dec 2023 15:21:05 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234086AbjLCXUh (ORCPT + 99 others); Sun, 3 Dec 2023 18:20:37 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54626 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229793AbjLCXUg (ORCPT ); Sun, 3 Dec 2023 18:20:36 -0500 Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 13A6CE5 for ; Sun, 3 Dec 2023 15:20:41 -0800 (PST) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-40b54261524so46230375e9.3 for ; Sun, 03 Dec 2023 15:20:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701645639; x=1702250439; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=U/WOpD6r5y0Ok3tYpWvI/WXVRtBKW+2PA57aZ1Qk9dM=; b=B2iCgx1z0ACts2HyK1PnF1HqWHwTsqbqOeWXwxlhKjYW8h6lIfQOwTd065g75oCae9 sdAQzJIe/Sw63usMQwDwdi5z8Qh33zCzItcLJIg4LWgFmrRll4xW71v4hyM1TsOfDT8h nYXXfqJksHF/fQZOzOHM4V3VPiqDM79hNPuOxmv5KFl7oK1Mrbz5t1+0pAAfYd5ApvNr srtZA9/uDevWx7hIIX5RQhPBSjvyI8imFgki8ar/NeYqItN3ooE8teQBe3zJDwk2vEjz t66eOxfn0FK6mIdojXxW7Oic52qnihfgNSgHW/yxMXimTTL4/1jZ3gUUX8O8KVSnmc8g BInw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701645639; x=1702250439; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=U/WOpD6r5y0Ok3tYpWvI/WXVRtBKW+2PA57aZ1Qk9dM=; b=sNhuOpv1cFdh6OqAjFzvg349DAnsRm5HPoHowtcC2h4E880wsn3fDXPL316vzBT+mg BodEI8aCvK3hoVmYfNzFxJ7u3ZY1QrpYkmS/l8872+tkeE59qYAXueHulDW0eqKZRZY3 cCJCQyulONgxoWiFWLOSsmgiYZLmtSMSaubaxVXWn97iL4i0tZVWMNeVOaNY6hQHQCjv mc/hU/eCGHmFwmH8bPbPUQExmPBBMDwbRVQao6ZQLl7Eo0dNdcOPFsDK0c0Z3GAvQ7dl S5JBMZsK0AdA466mETviLZBIXav/egM2GHOwA+TAvQhPfRNTJ1Cwfyu6a58OSsU5qgev avLw== X-Gm-Message-State: AOJu0YyM5qi6UgstP7vkShmbUp0oqBVmT2hFvwENG3SUep5l0R7QCOEv M0mdUuA7aJcb4P3mTnm8JGIPnLXADaY74myp X-Received: by 2002:a05:600c:11d2:b0:409:19a0:d247 with SMTP id b18-20020a05600c11d200b0040919a0d247mr2303177wmi.18.1701645639202; Sun, 03 Dec 2023 15:20:39 -0800 (PST) Received: from localhost.localdomain ([46.248.82.114]) by smtp.gmail.com with ESMTPSA id o15-20020a05600c510f00b004064cd71aa8sm11566222wms.34.2023.12.03.15.20.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 15:20:38 -0800 (PST) From: Uros Bizjak To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: Uros Bizjak , Andy Lutomirski , Brian Gerst , Denys Vlasenko , Ingo Molnar , "H . Peter Anvin" , Linus Torvalds , Peter Zijlstra , Thomas Gleixner , Josh Poimboeuf Subject: [PATCH -tip v2 1/3] x86/percpu: Fix "const_pcpu_hot" version generation failure Date: Mon, 4 Dec 2023 00:19:38 +0100 Message-ID: <20231203232017.994963-1-ubizjak@gmail.com> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Sun, 03 Dec 2023 15:21:05 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784300466075046846 X-GMAIL-MSGID: 1784304807999034136 Version generation for "const_pcpu_hot" symbol failed because genksyms doesn't know the __seg_gs keyword. Revert commit 4604c052b84d "x86/percpu: Declare const_pcpu_hot as extern const variable" and use this_cpu_read_const instead to avoid "sparse: dereference of noderef expression" warning when reading const_pcpu_hot. Cc: Andy Lutomirski Cc: Brian Gerst Cc: Denys Vlasenko Cc: Ingo Molnar Cc: H. Peter Anvin Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Cc: Josh Poimboeuf Signed-off-by: Uros Bizjak --- v2: Use BUILD_BUG() instead of BUG(). --- arch/x86/include/asm/current.h | 5 +++-- arch/x86/include/asm/percpu.h | 7 +++++++ arch/x86/include/asm/processor.h | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/current.h b/arch/x86/include/asm/current.h index 9fbd7cb2dc86..c8c5674d69f6 100644 --- a/arch/x86/include/asm/current.h +++ b/arch/x86/include/asm/current.h @@ -37,12 +37,13 @@ static_assert(sizeof(struct pcpu_hot) == 64); DECLARE_PER_CPU_ALIGNED(struct pcpu_hot, pcpu_hot); /* const-qualified alias to pcpu_hot, aliased by linker. */ -extern const struct pcpu_hot __percpu_seg_override const_pcpu_hot; +DECLARE_PER_CPU_ALIGNED(const struct pcpu_hot __percpu_seg_override, + const_pcpu_hot); static __always_inline struct task_struct *get_current(void) { if (IS_ENABLED(CONFIG_USE_X86_SEG_SUPPORT)) - return const_pcpu_hot.current_task; + return this_cpu_read_const(const_pcpu_hot.current_task); return this_cpu_read_stable(pcpu_hot.current_task); } diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index 0f12b2004b94..3859abad19ec 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h @@ -28,6 +28,7 @@ #else /* ...!ASSEMBLY */ +#include #include #include @@ -462,6 +463,7 @@ do { \ #define this_cpu_write_8(pcp, val) __raw_cpu_write(volatile, pcp, val) #endif +#define this_cpu_read_const(pcp) __raw_cpu_read(, pcp) #else /* CONFIG_USE_X86_SEG_SUPPORT */ #define raw_cpu_read_1(pcp) percpu_from_op(1, , "mov", pcp) @@ -486,6 +488,11 @@ do { \ #define this_cpu_write_8(pcp, val) percpu_to_op(8, volatile, "mov", (pcp), val) #endif +/* + * The generic per-cpu infrastrucutre is not suitable for + * reading const-qualified variables. + */ +#define this_cpu_read_const(pcp) ({ BUILD_BUG(); (typeof(pcp))0; }) #endif /* CONFIG_USE_X86_SEG_SUPPORT */ #define raw_cpu_add_1(pcp, val) percpu_add_op(1, , (pcp), val) diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h index 061aa86b4662..1188e8bf76a2 100644 --- a/arch/x86/include/asm/processor.h +++ b/arch/x86/include/asm/processor.h @@ -534,7 +534,7 @@ static __always_inline unsigned long current_top_of_stack(void) * entry trampoline. */ if (IS_ENABLED(CONFIG_USE_X86_SEG_SUPPORT)) - return const_pcpu_hot.top_of_stack; + return this_cpu_read_const(const_pcpu_hot.top_of_stack); return this_cpu_read_stable(pcpu_hot.top_of_stack); } From patchwork Sun Dec 3 23:19:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 173024 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp2451743vqy; Sun, 3 Dec 2023 15:20:55 -0800 (PST) X-Google-Smtp-Source: AGHT+IHd5LwaCYsOgq7F3cpCmFnSd1K1i9V2OjFueyNu3rJvrtNzBivMi4x8jv3YjdyIYKQoY3rC X-Received: by 2002:a05:6358:e49b:b0:16e:29cf:33b3 with SMTP id by27-20020a056358e49b00b0016e29cf33b3mr4285304rwb.30.1701645655683; Sun, 03 Dec 2023 15:20:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701645655; cv=none; d=google.com; s=arc-20160816; b=pT5XrkMiOVS76VmRc9S+DFL7PeAq3y6MBQ+LLWUm+MwNDL+eSRpa/IsqQ2xiELFKW1 r8jNBqi2sHhMkFoMus/U+r+9Jk63qQJJ+NRoIfDrBkkZLgHVRbjxAFKg60l3TNxrmbUw fZWbpV6+Q1Gs9EpjFln+JyCDyrWNQR0CDi5N6EoQ+7SSq4apAtojZSdAcGbpMlcBC4Z2 e+fsdfO6aivsCjS5KY/+IkokK5p1DYUFLUbHtVBrO9thjfzbcel4ouguIayvXXuQPE1/ tad8fKhax+pcqxAz6nrsH2ELlqwOajbNpu9+DsRj8WZZbetlp4ET3me6ujIxosmAXGrM WERw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Jl45wvWcP4iiFsyKLXsZFij0FbjKyVAo4CJ25+GOTjE=; fh=Lg0n8Kt1FzrWrrpdAJIEZ+A+M/gVozJpG8E4qEdoiqc=; b=nIC9QKcCabs12LRycoQQmmukyi59b4ZH4IuYMUgBwi1n38CJ4pGi1Tmhk9hvaLoMUE fSYgoUh1/RQZa2uFInUIZO67Ye/0SU3EWvjSLC3wba3AJHo1JJpccOPY1DOSRxSE//WY uouMiuIQsxZV1fgW7PXbw801rx7ICf8tdzxEketfZfJi02z2RJMkROzxqkvmCbSjcXDA vLpLRg62OKWFdvR61oXOE0UciqQZr4NvTTk5RRzyz7H9TQqHvjjFFX3cUpjBB6sJHN60 jbevXEwlzw9acXBJNt3QuXXNVByv+6QvC71Zy/drPRjNpQ/jkBiSb29NwWHDUX+0eB4+ 1oPg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Vw+cIUHF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id q5-20020a170902b10500b001d0a0ee28eesi704620plr.254.2023.12.03.15.20.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 15:20:55 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=Vw+cIUHF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id F1750806A118; Sun, 3 Dec 2023 15:20:53 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234095AbjLCXUj (ORCPT + 99 others); Sun, 3 Dec 2023 18:20:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234004AbjLCXUg (ORCPT ); Sun, 3 Dec 2023 18:20:36 -0500 Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 586CFD9 for ; Sun, 3 Dec 2023 15:20:42 -0800 (PST) Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-40c08af319cso9684455e9.2 for ; Sun, 03 Dec 2023 15:20:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701645641; x=1702250441; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Jl45wvWcP4iiFsyKLXsZFij0FbjKyVAo4CJ25+GOTjE=; b=Vw+cIUHFphIuGolOq/WjcyMdohXYFmMDnOwx+bjwMIwg0mh47gehGK271JPmQhuQuz 4Tw12YGtyYd8z9kmpGnN8XjxH5UhNZ+Tx/DZUAxMXHhxFsdyq5g13RJGrK//IkELPcEj QoaXQYxMx+9co82ysMC3cIJW2EZImZDK2oGYFgEytSR9Wt1k7S7M4X42570VQBp7LhVd KuNQ3pHGjnwe+xjZIzxlmBE5v0XoFqGZ5+6naszr90gR/RHnkWpFKEulB+Let10VUvC1 Wf+KRpI94Qn1ZYYQHhvPZrEG2FlH4het168PZNRUHu6A9FdlR/cNtJuAMS0Smro7d9A0 q6Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701645641; x=1702250441; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Jl45wvWcP4iiFsyKLXsZFij0FbjKyVAo4CJ25+GOTjE=; b=CAE1kG9eK2xr4ZrcfNjx9M/F+Mb/Wt3wTBmL25pIebnsiWG91n4HOtaMtM6nXSSCsJ iSiTZ6iZByqLiosFtOHi1VOgLvGIhBmgxfcfydvZXYuOUuGn6OQFe+rUGkIKBdpKy5eM vxSoQpww7cYIr+Nyl7I/TM3fBj6gSgfN70J7KakagYwzdx4CYUz/3LNDGMrwzPi9pp1I HEtiXbFXslAkp0ja7Yt/kJC11wPL4VXmOqiDsKCrDsR35eSfseV84bh2Xqkhjo1MykXl B10T0waveREoUkA5EsQfi7+b6Pn+eRAVL5Xgl+jSIU16qfeJnLNl9+8xVHGUYwi49fs2 k2Fw== X-Gm-Message-State: AOJu0YxrHzaJVDoU7SD69gq/Arrg0UFE1LGgvwGpzP5C9mXgnzSQulxH QpOuJOO+spAXPiCFX3FbMLn40J+ZA5defQ== X-Received: by 2002:a05:600c:4713:b0:40b:5e1c:5c26 with SMTP id v19-20020a05600c471300b0040b5e1c5c26mr1947287wmo.59.1701645640562; Sun, 03 Dec 2023 15:20:40 -0800 (PST) Received: from localhost.localdomain ([46.248.82.114]) by smtp.gmail.com with ESMTPSA id o15-20020a05600c510f00b004064cd71aa8sm11566222wms.34.2023.12.03.15.20.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 15:20:39 -0800 (PST) From: Uros Bizjak To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: Uros Bizjak , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH -tip v2 2/3] x86/traps: Use current_top_of_stack() helper in traps.c Date: Mon, 4 Dec 2023 00:19:39 +0100 Message-ID: <20231203232017.994963-2-ubizjak@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231203232017.994963-1-ubizjak@gmail.com> References: <20231203232017.994963-1-ubizjak@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sun, 03 Dec 2023 15:20:54 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784304795319793812 X-GMAIL-MSGID: 1784304795319793812 Use current_top_of_stack() helper in sync_regs() and vc_switch_off_ist() instead of reading top_of_stack percpu variable explicitly. Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" Signed-off-by: Uros Bizjak --- arch/x86/kernel/traps.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index c876f1d36a81..78b1d1a6ed2c 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -772,7 +772,7 @@ DEFINE_IDTENTRY_RAW(exc_int3) */ asmlinkage __visible noinstr struct pt_regs *sync_regs(struct pt_regs *eregs) { - struct pt_regs *regs = (struct pt_regs *)this_cpu_read(pcpu_hot.top_of_stack) - 1; + struct pt_regs *regs = (struct pt_regs *)current_top_of_stack() - 1; if (regs != eregs) *regs = *eregs; return regs; @@ -790,7 +790,7 @@ asmlinkage __visible noinstr struct pt_regs *vc_switch_off_ist(struct pt_regs *r * trust it and switch to the current kernel stack */ if (ip_within_syscall_gap(regs)) { - sp = this_cpu_read(pcpu_hot.top_of_stack); + sp = current_top_of_stack(); goto sync; } From patchwork Sun Dec 3 23:19:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Uros Bizjak X-Patchwork-Id: 173025 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:bcd1:0:b0:403:3b70:6f57 with SMTP id r17csp2451787vqy; Sun, 3 Dec 2023 15:21:05 -0800 (PST) X-Google-Smtp-Source: AGHT+IG60EDmJkRVDtAEkXx7l4TVPruTMe3HtTysaEHAhqymO5C55EbjTQD3OTQVm/kYcsV88dYS X-Received: by 2002:a05:6a00:cd0:b0:6ce:2731:a090 with SMTP id b16-20020a056a000cd000b006ce2731a090mr4195492pfv.63.1701645665300; Sun, 03 Dec 2023 15:21:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701645665; cv=none; d=google.com; s=arc-20160816; b=cTPHFoxzma/mYwWehIrjUmytwEK5xcfzrOvC9pYr4tio+j8n3zkLxh5JxZdmwnh4x7 I1DvXZf4v7WVRHCIP5iLX7PcPyjbSNFGB6MoydFevMFUPXqiDvqvAzeRpzyjUsKHebSy aQ/60sRmFUrBlrBy7pL+OgB1VQQeGi3SRIm0qYKMk7J76w65hlgLLjFn7L6/eap6CpC1 p4cV6KivkpPrLEE65W5LZDiclAa26vYW+RqWP7nM42r80YkQL/zLmnuqsAaFsGaoCBQ+ 4BYg7z2ALO+UHH29IV/AA5DBcZiAd+Gynd4fi/lOuk7UdQk+fBBGm3dQx5X9U9YRvCAc EXng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QOzPbwmzOzmza0UhjuLR6+wHBK/5W4fSzHoOkFgrGaI=; fh=BqJHm/9wTiUJTC+Wj20hu12Du/VNpV6fDewxlodtHdo=; b=gxcoG26Yd2RY0xIy7paEuWYdBOYTaT+On61mVCZj1yNOcTntxJ52GSyDEpDdaPxdBK t6h9z8R/LDy3m42YV5qoAsk5q7U5PxVmkp2hz62dplySNp6dp8MKX41RdvKwEU7szuRQ M0DZhHVxFsQb74DvJVAnSVN5qBlcdXUUivVdJIebpCZLjoToI6L7v5eQW29VZdRkNUEK q66fkWpw0v+EwL/HHUIWv8Kr/FEBbhzQfwH6sN0V9woBCszcNxWEmt8gvJzMOAvIXm5e jO+M9u3k7D8blZVhjN4AZYEQ3GCHN56H7FLltLN1ljH7XWNkSVcDBOjxz1EuU8jY/IJv H7PA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=iO6iB61N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id c16-20020a056a000ad000b006cb686c08f4si6956968pfl.211.2023.12.03.15.21.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 15:21:05 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=iO6iB61N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 4F64E806A11A; Sun, 3 Dec 2023 15:21:04 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234160AbjLCXUl (ORCPT + 99 others); Sun, 3 Dec 2023 18:20:41 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54670 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234087AbjLCXUh (ORCPT ); Sun, 3 Dec 2023 18:20:37 -0500 Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92184FC for ; Sun, 3 Dec 2023 15:20:43 -0800 (PST) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-40c0a0d068bso5756095e9.3 for ; Sun, 03 Dec 2023 15:20:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701645642; x=1702250442; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QOzPbwmzOzmza0UhjuLR6+wHBK/5W4fSzHoOkFgrGaI=; b=iO6iB61NJAQdg59dTUY8uR3gqgylC10D5BcGmY5dilrWiasKGM2xNOn8FtoNKjn5fg BAw/uRbiCNWIIVhoh3NWe3drGcIue2nGjFrkpebtAEaSkRgokMnE2NKQhMJ7nn5KhzIU qiLb+GpExiRhLvhvl6xF+uuOhnvspEDlwbMa6qkSyR7Qsu1X7J2+0j8sON1o7Xo+JE84 Oz/Sv6PChKgFAFz/LoCu8z19ObDfezyvrhnqyUAsRTUHqnErNEg36xPs8xRBqtfB9ei2 8HmEKYE80H0Mnw7msV7U2zOfg23M+d0TbJQR2vxTJ2VToH5RBKimjTiKkblkEnGTaUME JA5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701645642; x=1702250442; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QOzPbwmzOzmza0UhjuLR6+wHBK/5W4fSzHoOkFgrGaI=; b=E27gU1SlTkNEkB+Aae1IXXwWwl9FIBsJ2EOsrObd2i8SoQi7N+znpuwnUXCm+4iwpH SOM8t80pQhjLFSHQHNQlESxQKm2ieGgWw4ONr/6WmhXcEqL7OOSwGDEzxpGK2GzKryRr 2KMaLYiGEYr86pYp45hdmilINgDBO5FKO5trSIU3ITHOm1v7IJtic6tlA7saMyWlBgYc Dc47f2lLCc/hQj3NSkFIZjH5fRlFR2rwUi5U8MntuDr4CoBCiFqAAX7q+fb9yvXqn5eZ a/8JE/LswgJvIjMNgqiopurPD/Um5eP+Bma48tpwZxJFhwuOcdjR+Wv+qxKA4wH8d9Nl RRng== X-Gm-Message-State: AOJu0Yw93OD7XSzVDg9tvw1q+vekegT3HS01+fJF7CioDJreP0JKy/fz iP0CULkpPN4xEnTYKvUtFp4= X-Received: by 2002:a05:600c:5008:b0:40b:5e22:985 with SMTP id n8-20020a05600c500800b0040b5e220985mr2331500wmr.116.1701645641790; Sun, 03 Dec 2023 15:20:41 -0800 (PST) Received: from localhost.localdomain ([46.248.82.114]) by smtp.gmail.com with ESMTPSA id o15-20020a05600c510f00b004064cd71aa8sm11566222wms.34.2023.12.03.15.20.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 03 Dec 2023 15:20:41 -0800 (PST) From: Uros Bizjak To: x86@kernel.org, linux-kernel@vger.kernel.org Cc: Uros Bizjak , kernel test robot , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH -tip v2 3/3] x86/percpu: Avoid sparse warning with cast to named address space Date: Mon, 4 Dec 2023 00:19:40 +0100 Message-ID: <20231203232017.994963-3-ubizjak@gmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231203232017.994963-1-ubizjak@gmail.com> References: <20231203232017.994963-1-ubizjak@gmail.com> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Sun, 03 Dec 2023 15:21:04 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1784304805018304413 X-GMAIL-MSGID: 1784304805018304413 Currently sparse does not know about __seg_fs and __seg_fs named address space qualifiers. Avoid thousands of warnings about unexpected keyword at the end of cast operator by removing named address space qualifier from __my_cpu_type() when __CHECKER__ is defined. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202310080853.UhMe5iWa-lkp@intel.com/ Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Dave Hansen Cc: "H. Peter Anvin" Signed-off-by: Uros Bizjak --- arch/x86/include/asm/percpu.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index 3859abad19ec..cc4212d1491e 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h @@ -96,6 +96,15 @@ #endif /* CONFIG_SMP */ +/* + * FIXME: Drop this hack once sparse learns how to ignore + * __seg_fs and __seg_gs named address space qualifiers. + */ +#ifdef __CHECKER__ +#undef __percpu_seg_override +#define __percpu_seg_override +#endif + #define __my_cpu_type(var) typeof(var) __percpu_seg_override #define __my_cpu_ptr(ptr) (__my_cpu_type(*ptr) *)(uintptr_t)(ptr) #define __my_cpu_var(var) (*__my_cpu_ptr(&var))