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 3541FE7717F for ; Tue, 10 Dec 2024 03:59:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7CB8B6B0111; Mon, 9 Dec 2024 22:59:18 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 754BC6B0112; Mon, 9 Dec 2024 22:59:18 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5CE946B0113; Mon, 9 Dec 2024 22:59:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 38D766B0111 for ; Mon, 9 Dec 2024 22:59:18 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 9C2D6140296 for ; Tue, 10 Dec 2024 03:59:17 +0000 (UTC) X-FDA: 82877693934.04.D518D95 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) by imf28.hostedemail.com (Postfix) with ESMTP id 18E50C0007 for ; Tue, 10 Dec 2024 03:58:50 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=quarantine); spf=pass (imf28.hostedemail.com: domain of dennisszhou@gmail.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=dennisszhou@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733803135; a=rsa-sha256; cv=none; b=vvFEtbX2TErvTf1CVeXeCLlug3cvWuGCSqJvOmCbLdXM6SE32isviIwHPMx9iYnCVPsbH4 m0y7Y0JlBJAt8qK/NtzAPT0fkIRgAnCi/1ptFto8Wh+uV6Ic48gF8hhsIS0NLH48iUFiLs +rOjTyvrnNt+pGoz+YiwAS+rIjoL0K4= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=none; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=kernel.org (policy=quarantine); spf=pass (imf28.hostedemail.com: domain of dennisszhou@gmail.com designates 209.85.210.174 as permitted sender) smtp.mailfrom=dennisszhou@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1733803135; 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: in-reply-to:in-reply-to:references:references; bh=uZdH4tcmxivh4QDFce0d2NRScLtiuHUjaYwYxPLsFgg=; b=Ik2UKr7E7Z7ZWz1BC1izLFfsolQOATvRMmDFoSQFWiAtyDe5y0GpcvFTYYxN4ICnDg8L7h k4YQ96aNIVcbfGWPS2BOO4cDDm1qf/yM+aAbd9UIjcqQUPcaGQAPKCaeP8Jf0Bz7Dl2oDx vuYz+LuKUL7aQFsF83t08wiI4msSZRc= Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-725f4025e25so1175869b3a.1 for ; Mon, 09 Dec 2024 19:59:15 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733803154; x=1734407954; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=uZdH4tcmxivh4QDFce0d2NRScLtiuHUjaYwYxPLsFgg=; b=OCIoqo8t6PB6pgL5kY844fmVz3xAubAcEtXAZ17Zv4zEgucnGJgdyGCSWRd2i53eYG RdwIZYYKdH/KyPm2SyIlYlZVbqOfCanfEvAjXeyuwgLh+byqoxtGO56SXZ9AS+QW/0/1 lOMNz1X9taBLzGEzn12a9QSNKtclrRm756DqELhm7pIKwMfq+Vs2FjZMljNU3b7jQIc3 HrZpqbXUengq5l0KUTyLvHACOqFQwFw1y18NY22qc6EBBOY/ysF2EYbaQeeS3Jm7xc9P zCHgmE/97Q+El88BGMc0D3vobqxPHHloZXmTSikjuyBURhz8UoAn7DjUEu+0yvy8IHvd 8yGQ== X-Forwarded-Encrypted: i=1; AJvYcCXsTmxq3fh9q+4tKGJdQiccI6fhit8YSxSdbZM7je/FKb6HJBp7kzJfyWKQExxtMHCqRhEEc2VfHQ==@kvack.org X-Gm-Message-State: AOJu0YwvUgM1w/1vRmtJ+vnwXduyjznJZ5SwxzwaRFE/rYxVQdGi59rA nq9MUFhmDiYzAdUGDd2dMAqmAsPjLHcLvcrkBRi3DX5K5x3inHqV X-Gm-Gg: ASbGncvzbpdFVA1TIBPY20LVSK6hFW1jKY5ZK/eDtwgUhfzIzeijrx4DgEgVy8E6pX0 pQXtz4v03RjADP95fZVj2aMZRILUDES5pFUIG3jriBrR4+Y7uwoOdEhzuarO+wi2dEYjDo5PNQq QwEJg0nPsGmzhLmK4u2xkF4xcD3Qj4srmRAqoUbEI/Hua6ggXQ12R4+AlVfkTHEq3vLWJTpWCO6 UnELPR9xCBJP6t4nNaSsey13Ae6X8eKr4Rz1VVAp79RChqs36v6aRgPTr2AGNN2NIG6+tkmIvmK GDjjndB2KNuuJ3QgVF801A== X-Google-Smtp-Source: AGHT+IFLYl8oqU728VFGIiHD6jjP0ttkMIa5bvlvQdGUuldgwTreeyu+gObx0DLr0uZOxz9WXJqBCQ== X-Received: by 2002:a05:6a00:1c85:b0:727:3b77:417c with SMTP id d2e1a72fcca58-7273b774407mr5601322b3a.20.1733803154288; Mon, 09 Dec 2024 19:59:14 -0800 (PST) Received: from V92F7Y9K0C (c-73-162-198-50.hsd1.ca.comcast.net. [73.162.198.50]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-725c91baf30sm5510482b3a.80.2024.12.09.19.59.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Dec 2024 19:59:13 -0800 (PST) Date: Mon, 9 Dec 2024 19:59:10 -0800 From: Dennis Zhou To: Uros Bizjak Cc: 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, Thomas Gleixner , Tejun Heo , Christoph Lameter , Linus Torvalds , Andy Lutomirski , Ingo Molnar , Nadav Amit , Brian Gerst , Dan Carpenter , "H . Peter Anvin" , Peter Zijlstra Subject: Re: [PATCH v3 0/6] Enable strict percpu address space checks Message-ID: References: <20241208204708.3742696-1-ubizjak@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241208204708.3742696-1-ubizjak@gmail.com> X-Stat-Signature: y648nstdg7o8nu3eg4weygigd7b59ti9 X-Rspam-User: X-Rspamd-Queue-Id: 18E50C0007 X-Rspamd-Pre-Result: action=add header; module=dmarc; Action set by DMARC X-Rspamd-Server: rspam08 X-Rspam: Yes X-HE-Tag: 1733803130-917486 X-HE-Meta: U2FsdGVkX1+plOujzBiHjwiLKPtsfcIoxmscJ1adjxCxIFtMXXgqH+oVkPmZkhb5ZKZyTUyU0AJLo5lAygunx/HauHsng6LmIW1C42zxw4Rw5dIeV5rTjS9IAvLcXB+53TfEXZWTBPGofyIfMVoZJEj2I+apKilnAUpun/tarzw7+4FmXiBq/8ExPc3HbxUqmnln5rjIvGpnX8LvCk96sCTlDZxSE5+ztxeOjxzVhLo/MxVdqJnY5AhNYMqZ9eHrZBc/AZj/fuPttDr2wniROUg8vkmIh74qB5qdtB7EAzmIbcyr7pTj+qinuMGzvtK/g/KiIzI+Ic8L8dNGIkUSEA0rjiY1n5hyx3AWvmJtYsb6E2KqI0hS3F6mv3YZKsk/QRVZgwrlyCvVCsDEX1G0WclzyNlW/zu5rsG5/qYIptNFjdbXcgGLVleGhECd5aN7cXpfQtoA4ReDpo46pobpaovvKEs+PqBQvuXmp30b2DSqocJTdjlE3tsr7YPxZ7QzuWIpjvFtJ+oSWSZmu0/ULSiBQAmpXqIEHwdCRXfts17HPRQKqmRIOVatDJP6WdG2YLxGE+/s+n3E7cQ3+0vWflLOIgepQJluczy+DbYhrxW/wlJXalJihpBIEKdc0YHPGAvR4vsU9F7VOOwimwLZDI6YoyB2k6s2kMO2W+jMfWv8DFVMsJK7NCp7TCEUIOgIyKW6I14Kfwwb6eJ/3Eu0OyPeIphiXlIx2MLjm5wza4etPNHlZvuW46Evbghm6cSL9fhCscaV98n+cXQuFVzGmdV5k322WgyMhCrEwk9mnQ8S7YmE38Vfol+40JCsGT1ae/sRDVGxCF/hMHx25whtvevAKLoeLTJSUeL5z0Qm1ithffK7yjF24MTXQMiYL7U0giVMvti9xSBWyYd5C5VQNMRCaSbc0ReaGnfJtyrEYve2zz1lNB1dFOSmDA4YlP89cxWLqvwuKPqo9P/D7+G MsR+GZji EH6Apk8SKmv4Zm8p+x5EUh7VFlESAZ6CV2OUocvAw0mV9FVDuGPNe8YMhsqUmXHZid+oa7hTCCKdjU62KywxWIV9plRsb9LcNq/ZvlrUNDPNDjmM0r0ZuAnjNO+n8XeDVLl1nucGOf0K1XMPs73hJJJcgPj1Hysad+x8WoosgkuGLB98Eukzies/0bgn28ZohM8dMbcbkkSmX37sabuHFxkWHjc4Er8lnmAX5W7MTf1BBBit0axLwynS+S7Wp3icydNt1blTOdZAbm1mBZPIErIFj8aDY3uvfamqGzIYLd4iuPMEISzU2oozjtDGH7ZDsSmgNx/NazKxtlOBwmCvnyeDP7kyiqhSDwhFCik/P/nichZAx1ujcDpHwcP7YWPr+Pp4aP8Q2zIRamNFxNSW+Y2ZVXFHdcUIPW6Ab6F303dTfyflfNthnCDTalr5h076+j9s0TSooiGOFn6YOxLNFgY/oS+ORUVxoLVfR4T2AOIl0iVOdU1keT6ny6r5vbuNITs8hdBgtUKFGm7DTq+WN+riFh0TD5Mb/ZbP+JSjtJ708v8xAuwO3a3UoSTeAACbfD3F/Ay3TgsRIPKw7StwK6y/ClSfwqf4I9NtcTEpD1Xq9iX2n7JKof2fiznUmev/tdzKR2OtHP4ar5zbca8r4uq6fS0n4VQcWMTN0AIPkhAgXPTvERZ35S2L6LhiryoMwc/GSoCw3/yZ77AMso1L1d0TJG2QEorMkQon6MQanf3TCD+yaHJflQzv0rx8hE4uk5dqJhqwMGadvCOtiyxNkBs68qbTNESALyXwavgGjPsB8SEeMHr0F3loLsrD+XIYUorDvAGCpZ8n+EKQ= 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: Hi Uros, On Sun, Dec 08, 2024 at 09:45:15PM +0100, Uros Bizjak wrote: > Enable strict percpu address space checks via x86 named address space > qualifiers. Percpu variables are declared in __seg_gs/__seg_fs named > AS and kept named AS qualified until they are dereferenced via percpu > accessor. This approach enables various compiler checks for > cross-namespace variable assignments. > > Please note that current version of sparse doesn't know anything about > __typeof_unqual__() operator. Avoid the usage of __typeof_unqual__() > when sparse checking is active to prevent sparse errors with unknowing > keyword. The proposed patch by Dan Carpenter to implement > __typeof_unqual__() handling in sparse is located at: > > https://lore.kernel.org/lkml/5b8d0dee-8fb6-45af-ba6c-7f74aff9a4b8@stanley.mountain/ > > v2: - Add comment to remove test for __CHECKER__ once sparse learns > about __typeof_unqual__. > - Add Acked-by: tags. > v3: - Rename __per_cpu_qual to __percpu_qual. > - Add more Acked-by: tags. > > Cc: Thomas Gleixner > Cc: Dennis Zhou > Cc: Tejun Heo > Cc: Christoph Lameter > Cc: Linus Torvalds > Cc: Andy Lutomirski > Cc: Ingo Molnar > Cc: Nadav Amit > Cc: Brian Gerst > Cc: Dan Carpenter > Cc: H. Peter Anvin > Cc: Peter Zijlstra > > Uros Bizjak (6): > x86/kgdb: Use IS_ERR_PCPU() macro > compiler.h: Introduce TYPEOF_UNQUAL() macro > percpu: Use TYPEOF_UNQUAL() in variable declarations > percpu: Use TYPEOF_UNQUAL() in *_cpu_ptr() accessors > percpu: Repurpose __percpu tag as a named address space qualifier > percpu/x86: Enable strict percpu checks via named AS qualifiers > > arch/x86/include/asm/percpu.h | 38 ++++++++++++++++++++++++--------- > arch/x86/kernel/kgdb.c | 2 +- > fs/bcachefs/util.h | 2 +- > include/asm-generic/percpu.h | 39 ++++++++++++++++++++++------------ > include/linux/compiler.h | 13 ++++++++++++ > include/linux/compiler_types.h | 2 +- > include/linux/part_stat.h | 2 +- > include/linux/percpu-defs.h | 6 +++--- > include/net/snmp.h | 5 ++--- > init/Kconfig | 3 +++ > kernel/locking/percpu-rwsem.c | 2 +- > net/mpls/internal.h | 4 ++-- > 12 files changed, 82 insertions(+), 36 deletions(-) > > -- > 2.42.0 > This all looks good to me. Acked-by: Dennis Zhou Thanks, Dennis