From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 28A4CC36002 for ; Wed, 9 Apr 2025 15:16:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4152D280090; Wed, 9 Apr 2025 11:16:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 39DD828008F; Wed, 9 Apr 2025 11:16:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 267BA280090; Wed, 9 Apr 2025 11:16:01 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 0790A28008F for ; Wed, 9 Apr 2025 11:16:01 -0400 (EDT) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id A06C31A03C6 for ; Wed, 9 Apr 2025 15:16:01 +0000 (UTC) X-FDA: 83314855722.23.9DF3E77 Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) by imf15.hostedemail.com (Postfix) with ESMTP id A62F1A0027 for ; Wed, 9 Apr 2025 15:15:59 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kozQo5ck; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.178 as permitted sender) smtp.mailfrom=ubizjak@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744211759; a=rsa-sha256; cv=none; b=0X/h6RPBQVKVMc9Zb2QvWSq2t0be6BaGXQlqSFQ112ImUAWsadcKGo82Z7xup81b+tHepq 47mARWRe+ByAZeOVa7xz/Rpe6JbB8lwEnQy3sH1jMsNKDxdz935NDHmM0ZUUhOXJCRTIhD 4G8tTQ37QXikY/5ZK+mIKSYJAWeYfUc= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=kozQo5ck; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of ubizjak@gmail.com designates 209.85.208.178 as permitted sender) smtp.mailfrom=ubizjak@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744211759; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=B0/uW4jPxHZ/GoeUPgM6M/7DEGndKYYoe9YilYwKUUw=; b=AloGTnDuUXzXKcpSUHrada4IsmAkl47Gptjb/CFdQIgcDi8KL+vdgNXyealU3Bm7E4BURY Mw0fq7WcuCzVLgsTxREagGIzjWM6WwfiY6GXvt6RdTT5ztD2lakM3cUU23zobFd9ImjRXm Ue8cC3Z48APmcikUmGdelgGPvDIwOQU= Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-30bee1cb370so60983751fa.1 for ; Wed, 09 Apr 2025 08:15:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744211758; x=1744816558; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=B0/uW4jPxHZ/GoeUPgM6M/7DEGndKYYoe9YilYwKUUw=; b=kozQo5ckQf8x3Q4Y8MGXoh6TVNLNJjMC3wPLdemce8HQyzHiMFtcUhNdAi8qFsv/Cy XA0FdfN/qmFx8sbVg9tTcHkwc+gbKZH41r+77KgrCvdRERGF0jezPnP8m1tJP7QCtrVy zO6a+6kBmkBf3BSHeotJ/1cwBUv5ZcRQ2Ju3UidC1yYMu6IHis+IFS8MBkIeQ1UuO1lU F9V2OWJu83RHrFeeTkQADByUCWx7ukjb2+pfJsTrZXxoxx0wu8cFSnIjeOCGrRTL+ztS edZsSSAPiiLCezNhgW6pp8KpTZKBTPeosAHHN8U1igl1G2s4hewJWMke4DMBdEr5i+rQ oF5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744211758; x=1744816558; h=content-transfer-encoding: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=B0/uW4jPxHZ/GoeUPgM6M/7DEGndKYYoe9YilYwKUUw=; b=psaMiHsE+TPGxJtXCq50riVxrWPRDJiSExfuhqGPVrjvPEidWDoAA6kCnXwrrmYBJt gQqWqgUTuK39RLQMWrRRNjsEWjTzQlusaYlqX/vZ8jDbcq8z4npAeyrE3U2tLPTpsfmc LqtkQjx/clvAWQYJWAv0hxk4oyXi2P4J+AZNnqlBHEboecgPOzoZgRuIdFX/GuhWneVq jBtfWN+mHpGHCJw2s6nan9yH7O9O3HGb2QUWzk7KdV3GXg2S3S/uF+qjNhdzDuGcPaV5 ObbfB+pq7RV2qBtcUw2BT7Y0K9YRWOfmW6WMO+31sQswZjr9f6Wp/nJX16f32JZBuyD3 MWxg== X-Forwarded-Encrypted: i=1; AJvYcCXTRX2ZNsQnlURme8qBhrC2WmNd06PUAVdV9UpQ8NQ/5HIQXgKZC1HM7IbSX0UR7+HEm/bIWHLLeA==@kvack.org X-Gm-Message-State: AOJu0YxJ9lrUC09KMAIIidCYDDvLOy2rZjqpkTCAnfkgO5FcPMxFT/29 8KGPr/R6dvbDFSqckq8ajB+RASWhP129bEwm7pUizuoO2owYusOMW9JT6RG1oHnhHSy9d/HT9qs ZrALvqcMx+wIoVqzrZVgg5x4RWOM= X-Gm-Gg: ASbGnctydU8VNUwGmGgMtj709SU7AYl06I/LmE82Klj7HBNQv8MNOTDlwVbKbhc7yg1 uuXBJtM9+A7w4+oZCIdV4V2i1lgewZaJtIxPuAdrQBKcW9KzjN7nbsthm3/AYDO92ANzW7pKp41 h/XRFr4+dOLnEufgIjsTyWfw== X-Google-Smtp-Source: AGHT+IGNIwqxn5mFZL5/yjjNE/1+c0Q5XXczzTx4ISCw+fSAPDJR88uRUs5CfplseOFx7Y7BUJqkOOXlpJ/JHLnOpnI= X-Received: by 2002:a05:651c:1475:b0:308:e5e8:9d4c with SMTP id 38308e7fff4ca-30f43894d5cmr14376751fa.28.1744211757664; Wed, 09 Apr 2025 08:15:57 -0700 (PDT) MIME-Version: 1.0 References: <20250127160709.80604-1-ubizjak@gmail.com> <20250127160709.80604-7-ubizjak@gmail.com> <66e54eb9-58b3-4559-af32-66a77fe1ea01@kernel.org> <77B3F3ED-102D-4759-98F1-622629EBF9AF@zytor.com> In-Reply-To: <77B3F3ED-102D-4759-98F1-622629EBF9AF@zytor.com> From: Uros Bizjak Date: Wed, 9 Apr 2025 17:15:45 +0200 X-Gm-Features: ATxdqUFXaMouhTV-LvYcXiA_EezjmjAt_Olprrf1g0qki_J08Ltm70ceNO6A5E4 Message-ID: Subject: Re: [PATCH v4 6/6] percpu/x86: Enable strict percpu checks via named AS qualifiers To: "H. Peter Anvin" Cc: Jiri Slaby , x86@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-bcachefs@vger.kernel.org, linux-arch@vger.kernel.org, netdev@vger.kernel.org, Nadav Amit , Dennis Zhou , Tejun Heo , Christoph Lameter , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Linus Torvalds , Andy Lutomirski , Brian Gerst , Peter Zijlstra Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A62F1A0027 X-Stat-Signature: eyetjruuwq71656qp7ucozbrw5sh53oc X-Rspam-User: X-HE-Tag: 1744211759-791309 X-HE-Meta: U2FsdGVkX19GNsss84wXJBkKMm6S51Z4Uqd2qvYIUD7J4LCk1usaxXUTuS44DJ+F/UL+6NGt406rjDQCTAnS6uEsrA8koXEo7VJ1uZYMqFluMA4EMQggMwhj/x4cHSkMC7+rPhxPltB5e4GhxHfttBIQ8vbgzpcx42Nq5zDLvvNAg6jhGZI3IBrZ6DM1uJ00GwCogPhkfqduQ3GWVV1Qq0H/Oyu8m4o5NjdL00L3vqan6bFGxeX2/qN15KDGpyU2hTpbG9EfVuQJ1aPohKxnUgO0dWV4BIXBGayuHBXzZdyCsJbwCeQogh95gvubkz9DUqtM9QfUxfWNh3b2I/BM14af289H9evQA8STqL8TWa1g8GcaDlGkrMiY1puiFsjQJfFWwKInrRmXYcWv33CneYVXo/+8y7wVVOSwrwWrnlI56H8tJXBYfytaomrH/lG+0bNgF1aposCz1oPNngeA7McFLu4XeSUggwJNUKwtf/I4S1T8xBqay7LPArlJKb5CRYJXqega57rg2NgrcvZgLHRuxVwWvsXeF7/6YFTn0OHtQ5Bgnn/y4tAjaZGwXKHaOEEjoTYmQGtWb9kY7iYqZVeI3+Aw572RR+REPHkp3BPuMcXyiuPZy7RZJ1WaYoCSUrftCawnKrt0JkYJ6n7flLLGFTQ2L5cAZcdazRb/fYDVePWiG55TJ6jypkeTSglOnnSC69L0Rwo7XARR9/bGKcko/wx+c6sOU/9I74xmnNiTQi9TNhLJ30PLKNf95upjhwOsSKEefNddIv/ICihmcp6lJZtyEn5ygphc2w3DCTMJX5VnEt6nXvH8/9FKmDZdcIweju3stxqFDsPEqXnBud9WuA/USvxOgh7YonNHzEbdqVLJe86/9vuFfPv+TFpxfmK2zXw0k8QjwWUCLSf6Mlu/I4vnrZ5R6eppsQJ/bh4Z2EasNvJUe6loMoVCU1Dwv3waPi1R9vkKTQA30+l oHI2OCzY /49A/aFJX5u/HqZoSs0Wqt9Ryvkst4SNEIOGpSsHdrDXiCvXw+smeEfn6/lIJMpw1Omr/5YMQGLdsIckgTHCsZAy1Wk2yDUj/IshsClLfdYPp8j4VHe+iqD0pYzcGL+YvXFnGHSiCbsrKDsOu6+sFPMb2PzsTaPKl30f39Cs5k/nACb2qBiqF8vRrZnmuN6zfn0gGq5GYzDJc7GAFmkQ8Bm8qu9iuzbv3apW21f0dEpE1anfUEEg9EaYS3qotmpegtZ2dZADNa0K5bvPJ6I9NCn/ZHhjNTsm1o5U0QTTdMHf52m1HPcr1m+ykmrZpN/Jumw/i/VF7PKslncjv3NXcipk7kLKfmPnhfbHot/l2I1eLD1JpQCCpwPj2ApN+5+uNeKFi+GDu9L2PeIyEREehQNxG8oQJvVjr7BJfMxuezQCfV8v7fZiJzEMNh9hto6ulR+eoG/j33GtpvgnxttiKfR+ezPonNIfI+zQnaVqFVZ0Ykx6G+zfkkGzrmw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Wed, Apr 9, 2025 at 5:09=E2=80=AFPM H. Peter Anvin wrote= : > > On April 9, 2025 4:43:27 AM PDT, Uros Bizjak wrote: > >On Wed, Apr 9, 2025 at 1:07=E2=80=AFPM Jiri Slaby = wrote: > >> > >> On 27. 01. 25, 17:05, Uros Bizjak wrote: > >> > This patch declares percpu variables in __seg_gs/__seg_fs named AS > >> > and keeps them named AS qualified until they are dereferenced with > >> > percpu accessor. This approach enables various compiler check > >> > for cross-namespace variable assignments. > >> > >> So this causes modpost to fail to version some symbols: > >> > >> > WARNING: modpost: EXPORT symbol "xen_vcpu_id" [vmlinux] version gene= ration failed, symbol will not be versioned. > >> > Is "xen_vcpu_id" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "irq_stat" [vmlinux] version generat= ion failed, symbol will not be versioned. > >> > Is "irq_stat" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "fred_rsp0" [vmlinux] version genera= tion failed, symbol will not be versioned. > >> > Is "fred_rsp0" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "cpu_dr7" [vmlinux] version generati= on failed, symbol will not be versioned. > >> > Is "cpu_dr7" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "cpu_tss_rw" [vmlinux] version gener= ation failed, symbol will not be versioned. > >> > Is "cpu_tss_rw" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "__tss_limit_invalid" [vmlinux] vers= ion generation failed, symbol will not be versioned. > >> > Is "__tss_limit_invalid" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "irq_fpu_usable" [vmlinux] version g= eneration failed, symbol will not be versioned. > >> > Is "irq_fpu_usable" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "cpu_info" [vmlinux] version generat= ion failed, symbol will not be versioned. > >> > Is "cpu_info" prototyped in ? > >> > WARNING: modpost: EXPORT symbol "gdt_page" [vmlinux] version generat= ion failed, symbol will not be versioned. > >> > Is "gdt_page" prototyped in ? > >> > ... > >> > >> That happens both with 6.15-rc1 and today's -next. Ideas? > > > >https://lore.kernel.org/lkml/20250404102535.705090-1-ubizjak@gmail.com/ > A lot of those seem to be things that definitely shouldn't be expected... These symbols are just declared with an extra __seg_gs that genksyms doesn't understand, e.g.: extern __seg_gs __attribute__((section(".data..percpu" "..hot.." "this_cpu_off"))) __typeof__(unsigned long) this_cpu_off; The workaround falls back when __GENKSYMS__ is defined to: extern __attribute__((section(".data..percpu" "..hot.." "this_cpu_off"))) __typeof__(unsigned long) this_cpu_off; which is what genksyms processes without problems. Uros.