Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp2585042pxb; Thu, 3 Feb 2022 09:36:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJxqA+3EDmCXmn8h/5xMMnWTSWeKN9E0hCsbfckX0OcDh6Ctk4bGwAoch5pC6cWEJJuqtIef X-Received: by 2002:a17:90b:4c44:: with SMTP id np4mr14879970pjb.81.1643909766671; Thu, 03 Feb 2022 09:36:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643909766; cv=none; d=google.com; s=arc-20160816; b=p48a63Ubg/f0Prr1HxRSKEb8L16RSgnoaxDcqTC9MA0mUNHZknp0FsJM2eYZFUVMXi HXPiXL08Q8RM6KCZ6y/o2ipcJl9kU1U6V81rDesPnY4pH6wQtBBtGe9bmkkjWEuZ8R2O FcKZbYGFi+pe3LsSxci+KAtnJkZCjGtP4ggFRwdwDKRDKBGRjIEUHdvLCJFYF5ex78y3 oWN62qq2KfCvKZLLsTmLXeYntTaD3Vdff+VNbf7/mtTg6dHkar10ZEPz487nJl7y1FYd BUKa9Y2E1CHXHkUT7LVTLurewiYJR5JXF2DwFNed6/NsRF9i56Qx2pQPXDlkVZXDLyc8 C91Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:subject :from:references:cc:to:content-language:user-agent:mime-version:date :message-id:dkim-signature; bh=EG6EHvkjRq4/lARF6E6zgiQ+lewXDGtiYZJ9nq/nvPM=; b=VGDCXNhKjoIFbXcSrMuV4bkb4PIcQEbuHzBzWnclRuoYO9D2Ai25bIa5HCSGeASa9g ru+bhbr5Tu71EPH1H1Uj4zjULt9l8PRsxy/j1Zp5bydvHQ/M4XkbEcbuUx98wlqWZ4in w2mt9muXHiVDI8FqJV/AZmF7B60Rhj9NW7FdBBhu3rDfqRmBU1igfE4kMSb6stygxgc/ WU7PotMDHjA+IGeUwpT9Dne00kZcTYfQo7h29EFK3BWtMXq63kXbiPjWNEvP95I43tPz IIMlwVlNhEl8tI+fjij+BqyUIeznLF9uB7iXOEWlmlsd1T0mfxnSUSYLBv2mHQuQwjC9 htaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=QXoK4beE; 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=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b13si22548250pfm.244.2022.02.03.09.35.52; Thu, 03 Feb 2022 09:36:06 -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=@intel.com header.s=Intel header.b=QXoK4beE; 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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347085AbiBBU0t (ORCPT + 99 others); Wed, 2 Feb 2022 15:26:49 -0500 Received: from mga09.intel.com ([134.134.136.24]:62073 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241602AbiBBU0r (ORCPT ); Wed, 2 Feb 2022 15:26:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1643833607; x=1675369607; h=message-id:date:mime-version:to:cc:references:from: subject:in-reply-to:content-transfer-encoding; bh=6sKq2MjxIt1l7/Gwb7wKTBHSzTyoMFcVetlwwPR3+iY=; b=QXoK4beEAg7W+jpO5ne25UIgWAy8kjQtanaC+DE7CCO7eIv18ZbhG9Tg P0IsJ/HN/l356Jcw+sqBBA2Vy1X6h5RVdezyDWl8mWktctXmXFr4UHJws azDcvl07FCfB83KvwtFtC+/pC5vj8wv4jWDLwjgJT6u+YkeoIS+h3q8ux DVHvoWFIcXalXhfGVjl9O7CHKKmoQjMi8bBoSm2DYK8btl9JQKk5zn/W+ HbtYPFDQV199E3D0BcSD3OuMBEzgumiRzvHBEfwEiYrsBYi5GNsGpy0qS P9GTUqh77T4eXn5NFASP/5UVA18MXfh1BCow0Gr14h0gMKcFvkeB8DxJZ A==; X-IronPort-AV: E=McAfee;i="6200,9189,10246"; a="247780989" X-IronPort-AV: E=Sophos;i="5.88,337,1635231600"; d="scan'208";a="247780989" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 12:26:47 -0800 X-IronPort-AV: E=Sophos;i="5.88,337,1635231600"; d="scan'208";a="699043634" Received: from akashch1-mobl10.amr.corp.intel.com (HELO [10.212.210.91]) ([10.212.210.91]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Feb 2022 12:26:47 -0800 Message-ID: Date: Wed, 2 Feb 2022 12:26:44 -0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Content-Language: en-US To: Ira Weiny Cc: Dave Hansen , "H. Peter Anvin" , Dan Williams , Fenghua Yu , Rick Edgecombe , linux-kernel@vger.kernel.org References: <20220127175505.851391-1-ira.weiny@intel.com> <20220127175505.851391-5-ira.weiny@intel.com> <8967ea5a-99bf-8990-6ee1-8e0d32031f16@intel.com> <20220202202159.GU785175@iweiny-DESK2.sc.intel.com> From: Dave Hansen Subject: Re: [PATCH V8 04/44] x86/pkeys: Add additional PKEY helper macros In-Reply-To: <20220202202159.GU785175@iweiny-DESK2.sc.intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/2/22 12:21, Ira Weiny wrote: > On Fri, Jan 28, 2022 at 02:47:30PM -0800, Dave Hansen wrote: >> #define PKR_WD_MASK(pkey) (PKR_WD_BIT << PKR_PKEY_SHIFT(pkey)) >> >> Which says, "generate a write-disabled mask for this pkey". > > I think the confusion comes from me having used these as mask values rather > than what PKR_AD_KEY() was intended to be used for. > > In the previous patch PKR_AD_KEY() is used to set up the default user pkey > value... > > u32 init_pkru_value = PKR_AD_KEY( 1) | PKR_AD_KEY( 2) | PKR_AD_KEY( 3) | > PKR_AD_KEY( 4) | PKR_AD_KEY( 5) | PKR_AD_KEY( 6) | > PKR_AD_KEY( 7) | PKR_AD_KEY( 8) | PKR_AD_KEY( 9) | > PKR_AD_KEY(10) | PKR_AD_KEY(11) | PKR_AD_KEY(12) | > PKR_AD_KEY(13) | PKR_AD_KEY(14) | PKR_AD_KEY(15); > Hah, I'm complaining about my own code. > u32 init_pkru_value = PKR_AD_MASK( 1) | PKR_AD_MASK( 2) | PKR_AD_MASK( 3) | > PKR_AD_MASK( 4) | PKR_AD_MASK( 5) | PKR_AD_MASK( 6) | > PKR_AD_MASK( 7) | PKR_AD_MASK( 8) | PKR_AD_MASK( 9) | > PKR_AD_MASK(10) | PKR_AD_MASK(11) | PKR_AD_MASK(12) | > PKR_AD_MASK(13) | PKR_AD_MASK(14) | PKR_AD_MASK(15); > > It seems odd to me. Does it seem odd to you? Looks OK to me. It's build a "value" out of a bunch of individual masks. > Looking at the final code I think I'm going to just drop the usages in this > patch and add PKR_WD_KEY() where it is used first. > > Also, how about PKR_KEY_INIT_{AD|WD|RW}() as a name? For the PKR_AD_KEY() macro?