From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1033148AbdDZX4h (ORCPT ); Wed, 26 Apr 2017 19:56:37 -0400 Received: from mail-dm3nam03on0045.outbound.protection.outlook.com ([104.47.41.45]:51025 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1033124AbdDZX40 (ORCPT ); Wed, 26 Apr 2017 19:56:26 -0400 From: Nadav Amit To: Andy Lutomirski , "x86@kernel.org" CC: "linux-kernel@vger.kernel.org" , "Borislav Petkov" , Rik van Riel , Dave Hansen , Michal Hocko , Sasha Levin , Andrew Morton Subject: Re: [PATCH v3 1/4] x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly() Thread-Topic: [PATCH v3 1/4] x86/vm86/32: Switch to flush_tlb_mm_range() in mark_screen_rdonly() Thread-Index: AQHSuzZGppOzsSIHjkWnHSVwsMiFdqHX5aEA Date: Wed, 26 Apr 2017 23:56:22 +0000 Message-ID: References: <791a644076fc3577ba7f7b7cafd643cc089baa7d.1492844372.git.luto@kernel.org> In-Reply-To: <791a644076fc3577ba7f7b7cafd643cc089baa7d.1492844372.git.luto@kernel.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: kernel.org; dkim=none (message not signed) header.d=none;kernel.org; dmarc=none action=none header.from=vmware.com; x-originating-ip: [208.91.1.34] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BY2PR05MB2216;7:SmPZvIqrX6naRakoez4pbpeNJ3u6NCYuiuwrRoXDlPDSQhutIStl6KP4+sl72Cd1sXdBGTiT8m36l1KGVDbN6Ovfzif+36Dxj4kaJZAvD0o83LAv6EVFAQ4AgnIw6EjTpLsCdIlNhnSvhoFtjKKXWGlsRv6M5hwVE0UI4EU4kLvxe+dYRgfb+dc/SJbrw9ci3NlWnX+Rzz2NJCrmnzn0crhlXmzR3GlDnQD+kd+3BXc6MqRMtyXc1VWJLk20+u1NVSJDVxAFwlWeKKWa9BUWR+5haZhiNNPM+jP+5H9cn/38xiaRu0EIQ+d+S5eWYD8PcFYi2pD0BP5PjRCt9KoC1g==;20:Ft0zhX34ajjuCW6iKVxqWzu6ljobL+VkLpWcUzn7Skt6nlvbjB+ISNWoZOPbaWIqlQ7y1bmQcIkdhE/shfqsaZ3caCIigNgE/KS3uyceTPCNSuwTB0DJpGFm7fdiLtiv7yWXKTTXJ+LCGM9biva29gqLTjUf7YNHke0TpAiOyr4= x-ms-office365-filtering-correlation-id: 976312de-0a25-4688-69d0-08d48cffd7b9 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(201703131423075)(201703031133081);SRVR:BY2PR05MB2216; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(61668805478150)(146099531331640)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(6041248)(20161123558100)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123555025)(20161123562025)(6072148);SRVR:BY2PR05MB2216;BCL:0;PCL:0;RULEID:;SRVR:BY2PR05MB2216; x-forefront-prvs: 0289B6431E x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39450400003)(39840400002)(39860400002)(39410400002)(39850400002)(39400400002)(377454003)(24454002)(305945005)(81166006)(2900100001)(83716003)(6512007)(6436002)(6486002)(76176999)(38730400002)(50986999)(99286003)(54356999)(77096006)(8936002)(6506006)(54906002)(82746002)(3660700001)(6246003)(5660300001)(7736002)(53936002)(102836003)(2906002)(33656002)(2501003)(86362001)(6116002)(3280700002)(229853002)(3846002)(122556002)(53546009)(189998001)(8676002)(4326008)(36756003)(2950100002)(66066001)(25786009);DIR:OUT;SFP:1101;SCL:1;SRVR:BY2PR05MB2216;H:BY2PR05MB2215.namprd05.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Apr 2017 23:56:22.8478 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR05MB2216 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v3QNugBd017562 It may be benign, but I don’t think that flushing the TLB without holding the ptl or the mmap_sem (for no apparent reason) is a good practice. On 4/22/17, 12:01 AM, "Andy Lutomirski" wrote: mark_screen_rdonly() is the last remaining caller of flush_tlb(). flush_tlb_mm_range() is potentially faster and isn't obsolete. Compile-tested only because I don't know whether software that uses this mechanism even exists. Cc: Rik van Riel Cc: Dave Hansen Cc: Nadav Amit Cc: Michal Hocko Cc: Sasha Levin Cc: Andrew Morton Signed-off-by: Andy Lutomirski --- arch/x86/kernel/vm86_32.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c index 23ee89ce59a9..3eda76b3c835 100644 --- a/arch/x86/kernel/vm86_32.c +++ b/arch/x86/kernel/vm86_32.c @@ -193,7 +193,7 @@ static void mark_screen_rdonly(struct mm_struct *mm) pte_unmap_unlock(pte, ptl); out: up_write(&mm->mmap_sem); - flush_tlb(); + flush_tlb_mm_range(mm, 0xA0000, 0xA0000 + 32*PAGE_SIZE, 0UL); } -- 2.9.3