From patchwork Fri Jun 9 18:36:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Shishkin X-Patchwork-Id: 105779 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:994d:0:b0:3d9:f83d:47d9 with SMTP id k13csp1120639vqr; Fri, 9 Jun 2023 12:03:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6qiA5yjMl2kd/5VcjhZYnUxQkaMue3xtptZ4gsmLaER9jZO5OAOHiCFuau/4OvyG02Lw2k X-Received: by 2002:a17:90a:3e05:b0:253:6637:5656 with SMTP id j5-20020a17090a3e0500b0025366375656mr2116579pjc.16.1686337389752; Fri, 09 Jun 2023 12:03:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686337389; cv=none; d=google.com; s=arc-20160816; b=tYPeBa+fNCLukEIMO2N4Ej4ELCV7MwKh91YhXPYbfj7yECItfnbeklZamXSWrjJNU9 umXfxXGn6QNfKmBi1aJneTr44R7WcjLEfxm+3gSNXWSn9G2p3iGkOuTtrzv6wLpF3GTx PGVNqGxxNEJY5KOeoK/ny8drFc03+pOAh+CVtS10TkKnNsDPB2bx2vJVQQuyZovvVNxR kyJgCXs8hsWG+4U9OPb9ogj6k14eD6tJ68QNZ0Pfw5eIg7J+aZ+55jPWFsx7ol2bPiw8 uMB2AclC4eZ679wukc5JFu2qdCyAk7Ok098PEgcpmOAAnmmulMDuOD1buMFreTJF092P dwKw== 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=WvrCpHe3ACSU8WfaVHVgrBBHulzCrSix81C9upZH7E4=; b=Oh17xW0DlNT9R5bC8ziQMKqTmIDkm+VzRCqRnnF3Eb4x3r5N+rAxIS8ezwXoT5g/Ht SRVvbFGi60LT0rvPoabqbKO56O+AGVdnBMhf6ze350i1LJWUh6+oVcuOQuIgV6iHO+q7 yVMMkxVdq8J4IDvDJ5YG7I9L87hMutdFrz3dAdMAudGbLCu7phTJazI8RyKcB0gzBYB/ iGs8XCIviWRGzsj/XxJK6GsQhWG3m5Kelwaua7MetQQc2DalXtHTSP62rFD7OsKaG+DP RuAPX4cv7Svb3yz6LmqVNC1amYpYw8Bf0XH15wyD9hnQCco2lp4oyp/smSLJWa+wErac dhvg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=NjzZInyS; 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: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pi12-20020a17090b1e4c00b00256d7cc5b67si3186865pjb.133.2023.06.09.12.02.48; Fri, 09 Jun 2023 12:03:09 -0700 (PDT) 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=NjzZInyS; 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 S231805AbjFIShe (ORCPT + 99 others); Fri, 9 Jun 2023 14:37:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50170 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231779AbjFIShZ (ORCPT ); Fri, 9 Jun 2023 14:37:25 -0400 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4E2793ABF for ; Fri, 9 Jun 2023 11:37:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1686335832; x=1717871832; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=jwp2HjzYTo7V1oc3MvCqOYLHYFthgPfSLKoKbfmVBTI=; b=NjzZInySB9HgOhCIiP8pcWuNdaboqXoixvdOPMDviVqYfaBOjMZ6pup4 U6C9sfDfqQtyHUP7Iq5n5DkuD0BX+dkoVa40YSMOuv9bd6iJzXsK5Ar6g gQmp4GNNLegUJLnWNdS1ZsWmEOKa2njb7kbUA3jOvJojwMV9AdzfBfngA DTgVwK2p7zG7vBThoCT5y70maXfCs9p57IRCwU3gZiK39kqqbU5gld2V3 b36ByPgcZRJ+B+9RChiXorlYGxsGFymEap3cBzbo5E9q6Ivky32/GFaKZ jR3HaNmm6jgmE+9nRDqw6mYS8XEGBwm3okA+8t9jRPupP0VZNAgF5wiaZ A==; X-IronPort-AV: E=McAfee;i="6600,9927,10736"; a="338022169" X-IronPort-AV: E=Sophos;i="6.00,230,1681196400"; d="scan'208";a="338022169" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Jun 2023 11:37:12 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10736"; a="710444055" X-IronPort-AV: E=Sophos;i="6.00,230,1681196400"; d="scan'208";a="710444055" Received: from black.fi.intel.com (HELO black.fi.intel.com.) ([10.237.72.28]) by orsmga002.jf.intel.com with ESMTP; 09 Jun 2023 11:37:09 -0700 From: Alexander Shishkin To: linux-kernel@vger.kernel.org, x86@kernel.org, Andy Lutomirski , Dave Hansen , Ravi Shankar , Tony Luck , Sohil Mehta Cc: Dave Hansen , Alexander Shishkin Subject: [PATCH v3 07/12] x86/traps: Consolidate user fixups in exc_general_protection() Date: Fri, 9 Jun 2023 21:36:27 +0300 Message-Id: <20230609183632.48706-8-alexander.shishkin@linux.intel.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230609183632.48706-1-alexander.shishkin@linux.intel.com> References: <20230609183632.48706-1-alexander.shishkin@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED 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-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1768252915071482166?= X-GMAIL-MSGID: =?utf-8?q?1768252915071482166?= From: Sohil Mehta Move the UMIP exception fixup along with the other user mode fixups. No functional change intended. Suggested-by: Dave Hansen Signed-off-by: Sohil Mehta Signed-off-by: Alexander Shishkin --- arch/x86/kernel/traps.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c index 58b1f208eff5..f3e619ce9fbd 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -736,11 +736,6 @@ DEFINE_IDTENTRY_ERRORCODE(exc_general_protection) cond_local_irq_enable(regs); - if (static_cpu_has(X86_FEATURE_UMIP)) { - if (user_mode(regs) && fixup_umip_exception(regs)) - goto exit; - } - if (v8086_mode(regs)) { local_irq_enable(); handle_vm86_fault((struct kernel_vm86_regs *) regs, error_code); @@ -755,6 +750,9 @@ DEFINE_IDTENTRY_ERRORCODE(exc_general_protection) if (fixup_vdso_exception(regs, X86_TRAP_GP, error_code, 0)) goto exit; + if (cpu_feature_enabled(X86_FEATURE_UMIP) && fixup_umip_exception(regs)) + goto exit; + gp_user_force_sig_segv(regs, X86_TRAP_GP, error_code, desc); goto exit; }