From patchwork Tue Feb 7 07:28:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 53760 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2701254wrn; Mon, 6 Feb 2023 23:30:17 -0800 (PST) X-Google-Smtp-Source: AK7set8mZrKj9nrSoFSsnEeqT37yy1pyUwWs74ITJXe+1/UXTNtFmIGi+xx2naFifJ3/ZtxvodF1 X-Received: by 2002:a17:90b:3804:b0:230:537c:a399 with SMTP id mq4-20020a17090b380400b00230537ca399mr3051659pjb.24.1675755017322; Mon, 06 Feb 2023 23:30:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675755017; cv=none; d=google.com; s=arc-20160816; b=NUm2C/vmYd+GD6Qb0156vGPC/jzdXz1V4Z/FWStvXUXLGpyZq0DdYdB5pOj9JceSfr Un0NgZfbncXzd4l4r5wkn857JzTUAhZ8fveGHyzBiR0D3ebrEVMLxxqVynCQHqKRB9u1 /JxzjFR+vBkd+IlHp97A9C+RU1WZ+wm2zXJHCJ/WD5M555gS7tYYMisB6ktD4cs3OJOX bPP5KufVCA76B+qgwlQ65ZJRiKZSZcrKFS7/5unn/1AbkgJUkKZwxNGmzFVKM+LHI+m7 beVLck1iEKT+GCWX1Eog1Uxr2ivdlRmq5zfGfOz7bxKZT6600yC4whQbL7WumRSSCF24 e35g== 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=rbY40ezGliGVnHSth5hMXNDNMzMU7QLwqm1NaZ+5dkM=; b=svb5TWLwEkY6VQTMYwKixOOq6DAKfGFhbHulqN5MxKnn6jLBNWY3q3kRf0ttKJw0kX tHpOlOr31C8uD+EbZ4TBSvD8POhu790D0w4aiQpB2IThRtSA7tJgeF7M+ivOWPopKh79 zZG4eCE5Qf8wFwXn83PjKrb0mBO+n2UfWYs10mx7+8++yZ3RSQB/fE949RJ08nXsKfAN ReqC50RZW2TmEwdFkQ+g7UwDlJcN+KMoYIBcN3t3aERdRgT1VrejBHaJS1P/myiNtthP 5VoyhLIeRCSqrac4nhI/w2HsaUlWX6oSSUKwaJigetBTJVFSqqujff/RhaQPgXf72DOV 8jMQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=jO5CLX0x; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p5-20020a17090ab90500b0022c693182d3si19564505pjr.136.2023.02.06.23.30.05; Mon, 06 Feb 2023 23:30:17 -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=@suse.com header.s=susede1 header.b=jO5CLX0x; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229992AbjBGH3Q (ORCPT + 99 others); Tue, 7 Feb 2023 02:29:16 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229640AbjBGH3N (ORCPT ); Tue, 7 Feb 2023 02:29:13 -0500 Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 05FA732E7F for ; Mon, 6 Feb 2023 23:29:11 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 9E32F21EBA; Tue, 7 Feb 2023 07:29:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1675754950; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rbY40ezGliGVnHSth5hMXNDNMzMU7QLwqm1NaZ+5dkM=; b=jO5CLX0xWZHkj2UeNFp7sHfonkrtsyyATSHmwc/Kj7LOQ6K7zCAPf53+TN60RGd5qHyeEr QDMFsUrfE5zkMS5871Z37xsigU2CNsjkAmu1NlqLmB3WZ/h+Ab/lSeX1EUiYkCIzl+W5wt V2LD3eJTvJVvptr8534mzNyQfilK9OU= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5163613A8C; Tue, 7 Feb 2023 07:29:10 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 1Wd/Esb94WOfUQAAMHmgww (envelope-from ); Tue, 07 Feb 2023 07:29:10 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: lists@nerdbynature.de, mikelley@microsoft.com, torvalds@linux-foundation.org, Juergen Gross , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH 1/6] x86/mtrr: make mtrr_enabled() non-static Date: Tue, 7 Feb 2023 08:28:57 +0100 Message-Id: <20230207072902.5528-2-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230207072902.5528-1-jgross@suse.com> References: <20230207072902.5528-1-jgross@suse.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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?1757156493366877245?= X-GMAIL-MSGID: =?utf-8?q?1757156493366877245?= In order to be able to use mtrr_enabled() outside of MTRR code, make it non-static and add a sub for the !CONFIG_MTRR case. Signed-off-by: Juergen Gross --- arch/x86/include/asm/mtrr.h | 6 ++++++ arch/x86/kernel/cpu/mtrr/mtrr.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h index f0eeaf6e5f5f..29ec2d6f0537 100644 --- a/arch/x86/include/asm/mtrr.h +++ b/arch/x86/include/asm/mtrr.h @@ -31,6 +31,7 @@ */ # ifdef CONFIG_MTRR void mtrr_bp_init(void); +bool mtrr_enabled(void); extern u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform); extern void mtrr_save_fixed_ranges(void *); extern void mtrr_save_state(void); @@ -48,6 +49,11 @@ void mtrr_disable(void); void mtrr_enable(void); void mtrr_generic_set_state(void); # else +static inline bool mtrr_enabled(void) +{ + return false; +} + static inline u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform) { /* diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c index 783f3210d582..814cc13fd6eb 100644 --- a/arch/x86/kernel/cpu/mtrr/mtrr.c +++ b/arch/x86/kernel/cpu/mtrr/mtrr.c @@ -59,7 +59,7 @@ #define MTRR_TO_PHYS_WC_OFFSET 1000 u32 num_var_ranges; -static bool mtrr_enabled(void) +bool mtrr_enabled(void) { return !!mtrr_if; } From patchwork Tue Feb 7 07:28:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 53765 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2708288wrn; Mon, 6 Feb 2023 23:51:09 -0800 (PST) X-Google-Smtp-Source: AK7set8g3PPsEs9WXOd1ouNcj5xIx/Fs/jeqLKvEfEEEppZEA3mlwx2+bjAwdw4vW4mOZarfC40c X-Received: by 2002:a17:906:f8d9:b0:88c:a43d:81ba with SMTP id lh25-20020a170906f8d900b0088ca43d81bamr2339473ejb.11.1675756268868; Mon, 06 Feb 2023 23:51:08 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675756268; cv=none; d=google.com; s=arc-20160816; b=hH9S5EvDAncjNyCMxfGFVGx9Ahv2UAEqG9yzN6ca4wl+wF/m17UvPzvfxK+gL5NRWe LNv3ZEcCzNk2gCIjI0JFLoLYWvt5Yk/f53FmMaFGmuo3L0vzIA0SOvMcyc+qud0wnVrC AmZtDQeVtlGksDJNDPdlvKqFVeTZPr5nq3decENoYsAhYlgEdGTFSMmBO1dgK6ZsNWmX YKUF4MHNO0mxvqfEqVomeAnyOvkJowEeWYYw64OVuTLXHu6sbfQfBeQ0WyVZxPn9cNyi Mi7hSKm9at4gQCpQw3ZboEnSTEXXUBrWDQGNj6g4IRE/tEMSjbUp63JUNcU6zY1KJ8Zt dr+Q== 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=MDR6p3EEVdt6aI87yhW7ogY5yoUM9JM3hkrFmMLxzCQ=; b=tWd+oaeOqcpBKagFEs6tmiUaNW/JKD5mIGTt38yeL2QQtMm7POvZdQ4nb1I2Ek24pO WGlOhqiHXz2D612YD8dTNCxft5FFGA0UaOXcRBoSjt/B3cg15bNS0UadIYlghwBnINZy SGR0lpyn5n2vHgsJxN0Jn9wKVs0dlA+HiqW0pAoa8Ry9Fmx2LbY7Dc0Vk1uUuBw70VZx Fs9uRMLy7odrxAXi35hyQfj9oG36X6xg8OOvmCSCjWEHM2EaK6y7/qrxYM4SYfuIksxy 9XQUfX8xDCR+Cxy+h46OU0CUP4UfCVOt+QKdBKrU2y957K2ex4pmRwpU8kLAbMPLSVIF gRZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=tDbv7vnL; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gj32-20020a170907742000b00880823a20a3si15195606ejc.120.2023.02.06.23.50.45; Mon, 06 Feb 2023 23:51:08 -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=@suse.com header.s=susede1 header.b=tDbv7vnL; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230193AbjBGH3Y (ORCPT + 99 others); Tue, 7 Feb 2023 02:29:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229890AbjBGH3T (ORCPT ); Tue, 7 Feb 2023 02:29:19 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DA67836089 for ; Mon, 6 Feb 2023 23:29:17 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 68AE860F1F; Tue, 7 Feb 2023 07:29:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1675754956; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MDR6p3EEVdt6aI87yhW7ogY5yoUM9JM3hkrFmMLxzCQ=; b=tDbv7vnL7LeZnXzm7xPgZ0dgekKLu5Kq2IaGD8+x2/lhyO2fRjp33UC/eYHyw/oto49Z3l ui0fwheHnag2U7JLyNI+QwYEdOnhKIZRbuOMWZCJXEj5R9HbI/ooM4AhK751VnRmDKBsfr HRJ+nvkd9mP2RgasyzPodZaYgpy8G4g= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1160313A8C; Tue, 7 Feb 2023 07:29:16 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id n5fiAsz94WO4UQAAMHmgww (envelope-from ); Tue, 07 Feb 2023 07:29:16 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: lists@nerdbynature.de, mikelley@microsoft.com, torvalds@linux-foundation.org, Juergen Gross , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" Subject: [PATCH 2/6] x86/pat: check for MTRRs enabled in memtype_reserve() Date: Tue, 7 Feb 2023 08:28:58 +0100 Message-Id: <20230207072902.5528-3-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230207072902.5528-1-jgross@suse.com> References: <20230207072902.5528-1-jgross@suse.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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?1757157805132599085?= X-GMAIL-MSGID: =?utf-8?q?1757157805132599085?= Today memtype_reserve() bails out early if pat_enabled() returns false. The same can be done in case MTRRs aren't enabled. This will reinstate the behavior of memtype_reserve() before commit 72cbc8f04fe2 ("x86/PAT: Have pat_enabled() properly reflect state when running on Xen"). There have been reports about that commit breaking SEV-SNP guests under Hyper-V, which was tried to be resolved by commit 90b926e68f50 ("x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case"), but that again resulted in problems with Xen PV guests. Fixes: 72cbc8f04fe2 ("x86/PAT: Have pat_enabled() properly reflect state when running on Xen") Fixes: 90b926e68f50 ("x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case") Signed-off-by: Juergen Gross --- arch/x86/mm/pat/memtype.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c index fb4b1b5e0dea..18f612b43763 100644 --- a/arch/x86/mm/pat/memtype.c +++ b/arch/x86/mm/pat/memtype.c @@ -557,8 +557,12 @@ int memtype_reserve(u64 start, u64 end, enum page_cache_mode req_type, return -EINVAL; } - if (!pat_enabled()) { - /* This is identical to page table setting without PAT */ + /* + * PAT disabled or MTRRs disabled don't require any memory type + * tracking or type adjustments, as there can't be any conflicts + * between PAT and MTRRs with at least one of both being disabled. + */ + if (!pat_enabled() || !mtrr_enabled()) { if (new_type) *new_type = req_type; return 0; @@ -627,7 +631,7 @@ int memtype_free(u64 start, u64 end) int is_range_ram; struct memtype *entry_old; - if (!pat_enabled()) + if (!pat_enabled() || !mtrr_enabled()) return 0; start = sanitize_phys(start); From patchwork Tue Feb 7 07:28:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 53762 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2702852wrn; Mon, 6 Feb 2023 23:34:23 -0800 (PST) X-Google-Smtp-Source: AK7set/KvrsG7yHjtr1N8R2tIYGLwm2e8tav1TiLOnn0MZ+C+r9htEvMmoB9YY6/UGBYrU3ySBFR X-Received: by 2002:a17:907:8b14:b0:889:ed81:dff7 with SMTP id sz20-20020a1709078b1400b00889ed81dff7mr2886447ejc.9.1675755262987; Mon, 06 Feb 2023 23:34:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675755262; cv=none; d=google.com; s=arc-20160816; b=us1WKJimiiuPKZYFnc7rH5DZw8UJBGA3j6gQaMMz77uxe4Fv/v8AGV9Q14TKhRz4gQ LeGz0S5hDMWnQqgWkwP8JhX7oiw1m3OUoPkXaBmZpGCN66t5ynLYz7Np86+/kn/KF2pr U9xCa0ZfoOwDtImNCjkWc9/+UYZsb1OsT0FCQ5UVi0n+/dd4opznQqSkK90PCZ8GQgS+ 224GQa8PEJ3RZsG6htxgPvNJVYlxVfo91cAii2BkaLEC85t4RN5oBLihBYS2FXzI6bae Eqhz9rp5m+8kD9rJji0anNX0YQLfGlZhZ5OiPLzcDHG4C8xRB2zs32A4lbxaUIrUcPEZ YtEg== 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=t8iNxepBulbWBgnAjdjtTKND+wFOVAwDCXZSevLudto=; b=k2obMHPnZu5zVeA9SfPYI+tP/t+ENoUzDVnV2trPaqKEzjFAmZYbRaOheMHb7pFe4P ril+9BbbyGkSOel0FxAXkwjqAWMygiDA36ZBnSebvR7aF158VWe0gJne+5/YDSn66qvH l9hthLnWvHxWQJsoBMjjqEuTCu6zyVIEWD2jGKiYwgCHp9foRsKB9ZkpyJ7g4emr8qxh H22p/B+a62Zq7dAchQeGykIDNOMqE/07nPIEU83KahsX6lotGqmQpgoBtd/6dPu+NE6D VWcEJ2G8OZG1Q20x1f300UcJGACqM6xh6BWbFtzNU4LPz3KfWbCsijnhPlw8rXuXTxlO l+7Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=Rq9h6mL+; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id v18-20020a1709064e9200b00890ac0d6147si12360395eju.919.2023.02.06.23.33.59; Mon, 06 Feb 2023 23:34:22 -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=@suse.com header.s=susede1 header.b=Rq9h6mL+; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230235AbjBGH3b (ORCPT + 99 others); Tue, 7 Feb 2023 02:29:31 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230215AbjBGH3Z (ORCPT ); Tue, 7 Feb 2023 02:29:25 -0500 Received: from smtp-out1.suse.de (smtp-out1.suse.de [IPv6:2001:67c:2178:6::1c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9622036086 for ; Mon, 6 Feb 2023 23:29:23 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 3CC2633AF4; Tue, 7 Feb 2023 07:29:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1675754962; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=t8iNxepBulbWBgnAjdjtTKND+wFOVAwDCXZSevLudto=; b=Rq9h6mL+GTP/xnNyQnFdDsiIX+OQFnbl36tCwnJMdbwQvxr1N0kws9YN6BmImuHXn1JItC IIx/ndq4Q045WM2t2P6/NFeSRfczbTnJ7931JE1mX4jojk+bgyXvfiN5SHSH0NLWq0irZQ c21gnfbm/eoEHlaEEYJmvju92DYm1h4= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id DBBD113A8C; Tue, 7 Feb 2023 07:29:21 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id tUFjNNH94WO+UQAAMHmgww (envelope-from ); Tue, 07 Feb 2023 07:29:21 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: lists@nerdbynature.de, mikelley@microsoft.com, torvalds@linux-foundation.org, Juergen Gross , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" Subject: [PATCH 3/6] x86/mtrr: revert commit 90b926e68f50 Date: Tue, 7 Feb 2023 08:28:59 +0100 Message-Id: <20230207072902.5528-4-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230207072902.5528-1-jgross@suse.com> References: <20230207072902.5528-1-jgross@suse.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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?1757156750384219282?= X-GMAIL-MSGID: =?utf-8?q?1757156750384219282?= Commit 90b926e68f50 ("x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case") has introduced a regression with Xen. Revert the patch. Signed-off-by: Juergen Gross --- arch/x86/mm/pat/memtype.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c index 18f612b43763..2c6d95f95b49 100644 --- a/arch/x86/mm/pat/memtype.c +++ b/arch/x86/mm/pat/memtype.c @@ -387,8 +387,7 @@ static unsigned long pat_x_mtrr_type(u64 start, u64 end, u8 mtrr_type, uniform; mtrr_type = mtrr_type_lookup(start, end, &uniform); - if (mtrr_type != MTRR_TYPE_WRBACK && - mtrr_type != MTRR_TYPE_INVALID) + if (mtrr_type != MTRR_TYPE_WRBACK) return _PAGE_CACHE_MODE_UC_MINUS; return _PAGE_CACHE_MODE_WB; From patchwork Tue Feb 7 07:29:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 53761 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2701714wrn; Mon, 6 Feb 2023 23:31:12 -0800 (PST) X-Google-Smtp-Source: AK7set/OvhJd2Aj1EaOlGREIFaXzzPShfRhMKRfOaT8vx2j5YtoUnfAAQwL5zJSwu/h9RL57bxtD X-Received: by 2002:a05:6a20:12cd:b0:bc:c663:41be with SMTP id v13-20020a056a2012cd00b000bcc66341bemr2951299pzg.30.1675755072238; Mon, 06 Feb 2023 23:31:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675755072; cv=none; d=google.com; s=arc-20160816; b=QeVqL25aFkRhUy+fQ0SPfGF8c3iMJFwB5d134P2Ct6bfcKe2Mops9A07i4DLu9AQOH mBsDIIR1njBMtomMu/J5W9gWax+9S5shjwYQiV42BnVe1AD6nNn4z5ynPPIanMr3oHPT r9aXj7b49bp26DXBgJatMW8865UZQaHMtFW2wMFy14ivrVQe5K4rfr9Y994PuB4Qi8id Ozi19KC9TAnVQX4n+Aju7SrFRMfo0s3lUDmnQQ3VMrxzte96b1vKdBqjMclP0+fW1Zve cbHg4/eypf9auvBIrA21O1uKIWAzt9koju8nNZejD+RYCfmmKSJDQBVVwRDYNSPWlyKD TBaw== 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=FL8lZ8VzNgVUhkoi8dmft+rrAn+Q6LoB7UFRnauUMu0=; b=Pu17CubHZC3+HQ6pGqpGO5J6doaBSubGpt2MDG9HKIKmU5hNRlbMyKPpAtyUM5U41p c4ajPYB/oejQlONXrUtq/kbmCh2lws6NnPcyUTyDjNiUP552IqefESO6IEcsPV+oIRph 9F07/fD51DMVwjMaioQ3wDYCxsn55tW4CUQRIT0AgeYl+dbiRJtCOl9KXXKpVlhKfb1T s9HZlVrj512CMlYFAFG0eO0pMBWxvFpLRqPaFCusvg9ODcvTqwmGB8Cp4VSwuDextZWv TND951C21Oqz5WVYYUJ09o2nGKGjbA02xf+UtTpVGtDoiQeN84Qg0crX/sjFWTPOmcJo plQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=dVFX1eOA; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p6-20020a639506000000b004ded554485bsi13959430pgd.663.2023.02.06.23.30.59; Mon, 06 Feb 2023 23:31:12 -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=@suse.com header.s=susede1 header.b=dVFX1eOA; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230232AbjBGH3p (ORCPT + 99 others); Tue, 7 Feb 2023 02:29:45 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230079AbjBGH3i (ORCPT ); Tue, 7 Feb 2023 02:29:38 -0500 Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2001:67c:2178:6::1d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 728B6360B3 for ; Mon, 6 Feb 2023 23:29:29 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id E5D1960F1F; Tue, 7 Feb 2023 07:29:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1675754967; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FL8lZ8VzNgVUhkoi8dmft+rrAn+Q6LoB7UFRnauUMu0=; b=dVFX1eOAI+AHMp/mXW02giADSuEANXVa3rEQogBIx/Qwagzw60RQaeO9BHKPUtVaTXgtfX C4zJ64w+HEu6kN8neiYYSg/4W6pAfUK2jWRY1TqABNawzFK0zT6xMk69o4yH321E9wgtBA sAewnLXp/xK10S7tEq5PljbDHH7OAkY= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 97EE413A8C; Tue, 7 Feb 2023 07:29:27 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id Cmm0I9f94WPQUQAAMHmgww (envelope-from ); Tue, 07 Feb 2023 07:29:27 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: lists@nerdbynature.de, mikelley@microsoft.com, torvalds@linux-foundation.org, Juergen Gross , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH 4/6] x86/mtrr: don't let mtrr_type_lookup() return MTRR_TYPE_INVALID Date: Tue, 7 Feb 2023 08:29:00 +0100 Message-Id: <20230207072902.5528-5-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230207072902.5528-1-jgross@suse.com> References: <20230207072902.5528-1-jgross@suse.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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?1757156550627104501?= X-GMAIL-MSGID: =?utf-8?q?1757156550627104501?= mtrr_type_lookup() should always return a valid memory type. In case there is no information available, it should return the default UC. At the same time the mtrr_type_lookup() stub for the !CONFIG_MTRR case should set uniform to 1, as if the memory range would be covered by no MTRR at all. Suggested-by: Linus Torvalds Signed-off-by: Juergen Gross --- arch/x86/include/asm/mtrr.h | 7 +++++-- arch/x86/kernel/cpu/mtrr/generic.c | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h index 29ec2d6f0537..c12c73d48f08 100644 --- a/arch/x86/include/asm/mtrr.h +++ b/arch/x86/include/asm/mtrr.h @@ -57,9 +57,12 @@ static inline bool mtrr_enabled(void) static inline u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform) { /* - * Return no-MTRRs: + * Return the default MTRR type, without any known other types in + * that range. */ - return MTRR_TYPE_INVALID; + *uniform = 1; + + return MTRR_TYPE_UNCACHABLE; } #define mtrr_save_fixed_ranges(arg) do {} while (0) #define mtrr_save_state() do {} while (0) diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index ee09d359e08f..c749ec4436a1 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c @@ -262,10 +262,10 @@ u8 mtrr_type_lookup(u64 start, u64 end, u8 *uniform) end--; if (!mtrr_state_set) - return MTRR_TYPE_INVALID; + return MTRR_TYPE_UNCACHABLE; if (!(mtrr_state.enabled & MTRR_STATE_MTRR_ENABLED)) - return MTRR_TYPE_INVALID; + return MTRR_TYPE_UNCACHABLE; /* * Look up the fixed ranges first, which take priority over From patchwork Tue Feb 7 07:29:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 53766 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2708575wrn; Mon, 6 Feb 2023 23:52:03 -0800 (PST) X-Google-Smtp-Source: AK7set+sBZrTjjqPiSHyjPAMitenxxcg+Zc8ak66SJ95sErF9fclMzrWbSuNi/AFT/8aBxc66Kqt X-Received: by 2002:a17:907:9b09:b0:88d:ba89:184e with SMTP id kn9-20020a1709079b0900b0088dba89184emr18698264ejc.31.1675756323145; Mon, 06 Feb 2023 23:52:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675756323; cv=none; d=google.com; s=arc-20160816; b=YF/gPK/BihahJlg/XvDsPfd6lUbPCJuq8IcsnFp7xFeqG2aq7b601E0WWktTOLh/Ip Atu2Io/8teTHVFOUVHMNOM2c18Vq2xTIL58pbGf+8CDLu012Tg82E+J8TYnh9x9hYHcU XbuIzMX9vTsdkvHjbT7GuceI+dXobnR36bx3VuNGp8m7ch1IbAjtDaX0gVwCW16qb6XJ XDt181UtchzHI4SdoG9QdeFak4PM+2/Kiszipub29FkulgtD/pGcWpRQSnvt1tsKJ6MM t66rNzN1DmbF2h6g83E2Tp7YuHlw6MVX5xS/ffY8JirJh7agVhiFV32aAB9Vd/DSOWA/ HdFw== 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=JQKD/lPKkbb0qc+8vhUXutdmkqWMq0MqdsxYYVlo8yw=; b=ZEa1iTLx2mnNYNHx9Uq7DaAfEhpHJbDr4xJf5H8Ask2lO4OZsC/ou3yy2ndt8Wq5/1 0gcXUDQ7ttAUjHat04+nsPFMYEexExAR3I804XkfYR7zU9ZODDzE3p7oovXTbeJZAwMk kbHKt7Qjw7c80YnIxJ19vcCeAXJ1xXFvYbXShUbuioShEwB6QoZpLV0xFuDWTWPidt/1 OdmhhpzaIrB0MXKrEeka6nwRgogD2UJvxBzwm5cZrBdiQOXH8w0SeEoHzb6GnvVEM4Rs LTKfs8APO1QCAbGwYlzPfGe0V45KSkzQOldeanu943CDmQf/2l1odJ5tgdpqPLikvUwG Id3g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=rhN5jlM6; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cj22-20020a17090715d600b008a6109abff5si4275219ejc.815.2023.02.06.23.51.40; Mon, 06 Feb 2023 23:52:03 -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=@suse.com header.s=susede1 header.b=rhN5jlM6; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230191AbjBGH35 (ORCPT + 99 others); Tue, 7 Feb 2023 02:29:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54194 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230203AbjBGH3n (ORCPT ); Tue, 7 Feb 2023 02:29:43 -0500 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1E88B37B59 for ; Mon, 6 Feb 2023 23:29:35 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id AD38333E13; Tue, 7 Feb 2023 07:29:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1675754973; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JQKD/lPKkbb0qc+8vhUXutdmkqWMq0MqdsxYYVlo8yw=; b=rhN5jlM6O0ZsxdaBTemQtSJgkBZPcxAZaNNtQJLq5Ihc0NbsHPi20j4I7fjRtIto2K4d4X zIDf3658nAGwSKwguO4O/FDqknFHsNoGM589ogc/tD0JkZ0n9T3dret8xtcVctvZFUQg5h qphoyoKo95W/LGOBbq3SIF1tfcz1TUM= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 54F1713A8C; Tue, 7 Feb 2023 07:29:33 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 83VgE9394WPaUQAAMHmgww (envelope-from ); Tue, 07 Feb 2023 07:29:33 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: lists@nerdbynature.de, mikelley@microsoft.com, torvalds@linux-foundation.org, Juergen Gross , Dave Hansen , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" Subject: [PATCH 5/6] x86/mm: only check uniform after calling mtrr_type_lookup() Date: Tue, 7 Feb 2023 08:29:01 +0100 Message-Id: <20230207072902.5528-6-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230207072902.5528-1-jgross@suse.com> References: <20230207072902.5528-1-jgross@suse.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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?1757157862121588389?= X-GMAIL-MSGID: =?utf-8?q?1757157862121588389?= Today pud_set_huge() and pmd_set_huge() test for the MTRR type to be WB or INVALID after calling mtrr_type_lookup(). Those tests can be dropped, as the only reason to not use a large mapping would be uniform being 0. Any MTRR type can be accepted as long as it applies to the whole memory range covered by the mapping, as the alternative would only be to map the same region with smaller pages instead using the same PAT type as for the large mapping. Suggested-by: Linus Torvalds Signed-off-by: Juergen Gross --- arch/x86/mm/pgtable.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index e4f499eb0f29..7b9c5443d176 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -721,8 +721,7 @@ int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot) u8 mtrr, uniform; mtrr = mtrr_type_lookup(addr, addr + PUD_SIZE, &uniform); - if ((mtrr != MTRR_TYPE_INVALID) && (!uniform) && - (mtrr != MTRR_TYPE_WRBACK)) + if (!uniform) return 0; /* Bail out if we are we on a populated non-leaf entry: */ @@ -748,8 +747,7 @@ int pmd_set_huge(pmd_t *pmd, phys_addr_t addr, pgprot_t prot) u8 mtrr, uniform; mtrr = mtrr_type_lookup(addr, addr + PMD_SIZE, &uniform); - if ((mtrr != MTRR_TYPE_INVALID) && (!uniform) && - (mtrr != MTRR_TYPE_WRBACK)) { + if (!uniform) { pr_warn_once("%s: Cannot satisfy [mem %#010llx-%#010llx] with a huge-page mapping due to MTRR override.\n", __func__, addr, addr + PMD_SIZE); return 0; From patchwork Tue Feb 7 07:29:02 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Gross X-Patchwork-Id: 53763 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2703749wrn; Mon, 6 Feb 2023 23:36:55 -0800 (PST) X-Google-Smtp-Source: AK7set9ggz2oE4gqDV9lAX7zwVuso7xDtpu9WNpybt9ENQYOTGI96jdhqdthLAedvuF6ovaz2Fkp X-Received: by 2002:a17:906:ca2:b0:887:7871:2b2f with SMTP id k2-20020a1709060ca200b0088778712b2fmr2555995ejh.61.1675755415114; Mon, 06 Feb 2023 23:36:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675755415; cv=none; d=google.com; s=arc-20160816; b=Utn1y6CTM+INlfICMbMZmZ/zgZigOdGucgPs8iZ6XqhjvFLSeJOO1LKJ4HoTOpPqTx lKfvOApuDrY597UqIvaE5SMk1WGX3uokl2b2kuR+32hVkqNvZvE4RvH0j+u98kAW95Wi CAephtLpQmi4b8fSnxl9PD9pRmiD0QtgisqE1oVngnRkH58xF8lqrzarxbsoxAQeH9pw NhQKOc5VLv6fCot0S9Dq8s4y/+BtWg/D7COcpXvoRPE8HoLtgINo5Pwsj9GaGS9Ligkx jiYEsnJHFt2to0tuOpsTSNXf2QFzp2JgIPfgin4MUeeTZHo8qoYLPmqM+25qpcI5vA3n GyPw== 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=8efLSwTwFHqSKPYOUuhtVE2c23rg89tSCfxytpWfroA=; b=0gIySK8XbMslIijr6v1nTledITOXRYcoEC7FRjIcqBeWGMGJoBjCaikQGLmw+Njg7I hS7VhMWCAWtwzo0E7Pi9pKT1BQf8u6TThlaQ2gfBdgLdPOoFZTDKKPjDvcijeW4Z7S99 5g2S08mGn1YdXC113/nrnQzlaO+lwUK8hHqz6v8J0FitLGK0g1R0ERXB/MrfBdmZJlKs IX3RYh+TlOqELWwiWYp8Vk4FNj5WCMCfJyxosikoKpOCDMwNfjme4goQPwqL38hMSgmp OQbExEftXQ5sZaW0jJx11Us8FlaOc33bmsx5dYhFtwyCKOJc5lNHtIR8zUq/JHVyv0ww 91yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=Fns5WTkk; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id fd23-20020a1709072a1700b0088429fefa58si16295576ejc.31.2023.02.06.23.36.32; Mon, 06 Feb 2023 23:36:55 -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=@suse.com header.s=susede1 header.b=Fns5WTkk; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229890AbjBGHaD (ORCPT + 99 others); Tue, 7 Feb 2023 02:30:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230401AbjBGH3v (ORCPT ); Tue, 7 Feb 2023 02:29:51 -0500 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B2FDA3525B for ; Mon, 6 Feb 2023 23:29:40 -0800 (PST) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id 7003333AEE; Tue, 7 Feb 2023 07:29:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1675754979; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8efLSwTwFHqSKPYOUuhtVE2c23rg89tSCfxytpWfroA=; b=Fns5WTkkkQ6yqDv5E+lCxZqrmv7sKPqKMzeVV0ljqwpWsuYhjG83UIs3erUJ7mKFm/pVnp 7HoSHoCrjBQU3f7W/Juzu1+E/kX/5V3bnWHVoqSHxcibyBySOaFL9ezuHhWE9r+KrNi8Sp kLCOxl88lfOFxtr9fM3JbCva+/LFMfQ= Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1D04E13A8C; Tue, 7 Feb 2023 07:29:39 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id Noq+BeP94WPpUQAAMHmgww (envelope-from ); Tue, 07 Feb 2023 07:29:39 +0000 From: Juergen Gross To: linux-kernel@vger.kernel.org, x86@kernel.org Cc: lists@nerdbynature.de, mikelley@microsoft.com, torvalds@linux-foundation.org, Juergen Gross , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , "H. Peter Anvin" Subject: [PATCH 6/6] x86/mtrr: drop sanity check in mtrr_type_lookup_fixed() Date: Tue, 7 Feb 2023 08:29:02 +0100 Message-Id: <20230207072902.5528-7-jgross@suse.com> X-Mailer: git-send-email 2.35.3 In-Reply-To: <20230207072902.5528-1-jgross@suse.com> References: <20230207072902.5528-1-jgross@suse.com> MIME-Version: 1.0 X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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?1757156910112393726?= X-GMAIL-MSGID: =?utf-8?q?1757156910112393726?= mtrr_type_lookup_fixed() contains a sanity check for the case it is being called with a start address above 1 MB. As it is static and it is called only iff the start address is below 1MB, this sanity check can be dropped. This will remove the last case where mtrr_type_lookup() can return MTRR_TYPE_INVALID, so adjust the comment in include/uapi/asm/mtrr.h. Note that removing the MTRR_TYPE_INVALID #define from that header could break user code, so it has to stay. Signed-off-by: Juergen Gross --- arch/x86/include/uapi/asm/mtrr.h | 6 +++--- arch/x86/kernel/cpu/mtrr/generic.c | 6 +----- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/arch/x86/include/uapi/asm/mtrr.h b/arch/x86/include/uapi/asm/mtrr.h index 376563f2bac1..4aa05c2ffa78 100644 --- a/arch/x86/include/uapi/asm/mtrr.h +++ b/arch/x86/include/uapi/asm/mtrr.h @@ -115,9 +115,9 @@ struct mtrr_state_type { #define MTRR_NUM_TYPES 7 /* - * Invalid MTRR memory type. mtrr_type_lookup() returns this value when - * MTRRs are disabled. Note, this value is allocated from the reserved - * values (0x7-0xff) of the MTRR memory types. + * Invalid MTRR memory type. No longer used outside of MTRR code. + * Note, this value is allocated from the reserved values (0x7-0xff) of + * the MTRR memory types. */ #define MTRR_TYPE_INVALID 0xff diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index c749ec4436a1..c17cb00aac6a 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c @@ -114,16 +114,12 @@ static int check_type_overlap(u8 *prev, u8 *curr) * 0xC0000 - 0xFFFFF : This range is divided into sixty-four 4KB sub-ranges * * Return Values: - * MTRR_TYPE_(type) - Matched memory type - * MTRR_TYPE_INVALID - Unmatched + * MTRR_TYPE_(type) - Memory type */ static u8 mtrr_type_lookup_fixed(u64 start, u64 end) { int idx; - if (start >= 0x100000) - return MTRR_TYPE_INVALID; - /* 0x0 - 0x7FFFF */ if (start < 0x80000) { idx = 0;