Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp1684916pxp; Thu, 10 Mar 2022 10:02:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJz0wMFq6DQ1/eyO14cyPMTyks1DQipCHaNZ7waVyKk+FOTI9TJiERl2cDSW+Z8Mh1R8KByl X-Received: by 2002:a17:906:c18c:b0:6d5:8518:e567 with SMTP id g12-20020a170906c18c00b006d58518e567mr5125408ejz.37.1646935368214; Thu, 10 Mar 2022 10:02:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646935368; cv=none; d=google.com; s=arc-20160816; b=WSkCveduBx68APZGloKE2VzI4+jvOF5ZHXiRAVb8ndMxIW4d8AcGV1ldMSmMXEWsrk /Ul9Elcxhl9SvwtgTpvS/zn3bpXlfwCzlMbGfxCjS2wb8N7A3jKj0qLwGHWXj59L4PMx iDXb1JjYPUUdLqoTw5GK2aGWfi5pShmfZEXYrct4/csjEadwt5aWLNs52WCw0WpHjuLO 5xHUaAgFRYdCxrX6zlUbazgNl1tAdIvQyS1SHRqHV1xqEYCy7uVtweyDQOKRfmm7Uird V9epybKAuLFKEswnV0IK+k1WYRUxOn8g8+7qtTNp6x06qBrwywPnOKXCtpZk9I20OvRY YsRg== 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=7L13FtSWOvqDU5zN9Kz3/ac1FIL9BoD92WuZfFlqufI=; b=XpJFWBiY1qjCUB9cNxHc4DYExGM+xVxLHuezfVi8C669EFEuhb32BD1b9jskosowTI ugFxVcNPwoCQoK9zIDl7cGeKAwsDAr6HjXO3M6ZeeOjihyTm79po5lpviwXHG7R4Se/Y b/zq/MkkhlgoYo1AAd2B9i+b55U4uTxMA+GoKGlU2E6oXbKl/u0tUKcuC8Vl2Nd2Lqvb 63Qad1UHcJFQMQ1IxQxjiWL72bOBWFt9D4MPb4l1eHudxr+iTa0Vvfevf2xJKCRsJpsE UommXFtTikoYzmUGT7dcISsp9OIMwXG5NPpu08vB69HEZkORFYvUUByOAucTP2gQnkuO pJzA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=RNPSn3O7; 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 sg6-20020a170907a40600b006db3accad46si3838264ejc.576.2022.03.10.10.02.23; Thu, 10 Mar 2022 10:02:48 -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=RNPSn3O7; 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 S244526AbiCJRV4 (ORCPT + 99 others); Thu, 10 Mar 2022 12:21:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52528 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244519AbiCJRVq (ORCPT ); Thu, 10 Mar 2022 12:21:46 -0500 Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AE50C194141 for ; Thu, 10 Mar 2022 09:20:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646932844; x=1678468844; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=GEA3SMd1Hyd9mgC2yPlyiFisBoFISvY6li4UoRH0Ugk=; b=RNPSn3O7G1EegiUNwKb0XdNMJ17NW5pbaK+mUGhFh5OgpiWE33gH5YwD ty32j+YyrNJbEQjdTZAT5en2ICJlxxkwanVp86iSf9NB8518SKCtGynts y5TQSUHJ3SkBi3neykHIVszGG7rYr5O4r7P3qm7MWSiq8XVVj7jy4Q23N O6KHCFw04YYBdCQAYFY9Z5dxsgLItw3uG1me+Itj3nF2JaCWNmLAaDsOb kmDSvOzdSJb+yMxVM0wkvDjp2bHeMfdpGpowZNd/B2c9aG+dfrhe+qYuW XthWTKEsbQLuDdhwfr0DCZf1PsPAniOx0HqWDnfz6wwRgvfqZCranfkri g==; X-IronPort-AV: E=McAfee;i="6200,9189,10282"; a="255049053" X-IronPort-AV: E=Sophos;i="5.90,171,1643702400"; d="scan'208";a="255049053" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Mar 2022 09:20:44 -0800 X-IronPort-AV: E=Sophos;i="5.90,171,1643702400"; d="scan'208";a="538541689" Received: from gdavids1-mobl.amr.corp.intel.com (HELO localhost) ([10.212.65.108]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Mar 2022 09:20:43 -0800 From: ira.weiny@intel.com To: Dave Hansen , "H. Peter Anvin" , Dan Williams Cc: Ira Weiny , Fenghua Yu , Rick Edgecombe , "Shankar, Ravi V" , linux-kernel@vger.kernel.org Subject: [PATCH V9 08/45] x86/fault: Adjust WARN_ON for pkey fault Date: Thu, 10 Mar 2022 09:19:42 -0800 Message-Id: <20220310172019.850939-9-ira.weiny@intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220310172019.850939-1-ira.weiny@intel.com> References: <20220310172019.850939-1-ira.weiny@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.9 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, 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 From: Ira Weiny Previously if a protection key fault occurred on a kernel address it indicated something wrong because user page mappings are not supposed to be in the kernel address space. With the addition of PKS, pkey faults may now happen on kernel mappings. If PKS is enabled, avoid the warning in the fault path. Simplify the comment. Cc: Sean Christopherson Cc: Dan Williams Signed-off-by: Ira Weiny --- Changes for V9 From Dave Hansen Clarify the comment and commit message --- arch/x86/mm/fault.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index d0074c6ed31a..5599109d1124 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -1148,11 +1148,11 @@ do_kern_addr_fault(struct pt_regs *regs, unsigned long hw_error_code, unsigned long address) { /* - * Protection keys exceptions only happen on user pages. We - * have no user pages in the kernel portion of the address - * space, so do not expect them here. + * PF_PF faults should only occur on kernel + * addresses when supervisor pkeys are enabled. */ - WARN_ON_ONCE(hw_error_code & X86_PF_PK); + WARN_ON_ONCE(!cpu_feature_enabled(X86_FEATURE_PKS) && + (hw_error_code & X86_PF_PK)); #ifdef CONFIG_X86_32 /* -- 2.35.1