Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1996411imm; Mon, 3 Sep 2018 15:29:53 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZ4BerH2CM/v65QRESfUdP6Jh2JeEbGKWomIaQRV1qkjFN/vHh5yjR/fv0pVZMLiPZoIKfR X-Received: by 2002:a65:66d4:: with SMTP id c20-v6mr7884341pgw.55.1536013793823; Mon, 03 Sep 2018 15:29:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1536013793; cv=none; d=google.com; s=arc-20160816; b=ZLV9zLrUzBT71s+xrmmFK+/JW4rY0YloECQ+xpVbHVzQveA1zu3+U2TEn/TysjPR8E KeQth26W1grMoMNq2k1K+ucND0BQwlqr60GMbuALrdR38Z7Z1RISTLP0AdqJIOb2Nd9w l/jlktErigZ54rMwgojvoq1b1Ep66ZMMP+SOZu7ybClRxbgKawFMVXCBHtKgY2BGvh6x rzHZSTGR2hTCOcl7vTp30+C0zNVnYU9y/p4IwuewZjysqfbM72nBafAUmBWZUmKiAEhn xrj3FwzXuuruwSj234y58kxGc+kIU7np47RIvezZRLrPwT45bUkZu9lRlQzNOr4t4xTC dmRA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date :arc-authentication-results; bh=brAWACOVKX405Pvn2WM02cGZeFjMsqTlcBHyctv9wWA=; b=ZI0mPYaMbiTgtnTu9Q4O4TIZpMpIviOqs0yzfQaGa1AVBP73sY4iPYMFYIoT9gtMqC zeRt6E7KeztfhTOzYqCp19Ouehd09HOSgNhzCFMw5kgI85O1ZVlgEI1jjBKVePvcg1TS 5awxq4oEoiu1QDXqxAvWeDcxYpFYepsFbdwGGmxm+cRTgLoKZG6uXVFhGoROn7r2nS+i InvlqdDJ3iiUYmCgpd4n+CLE2FugmeAzPYPTdIzmYd8pAraFMIK/VuAyy/XtRoBgUUmY p+L2NaKk8EleOD0ObrerpkN8tvhruIB8KuGeBpjnWoLz3Dkhr10xoFjI/P3P56ZcGzME 5J2g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c133-v6si19984099pfb.296.2018.09.03.15.29.38; Mon, 03 Sep 2018 15:29:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726749AbeIDCt5 (ORCPT + 99 others); Mon, 3 Sep 2018 22:49:57 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:55894 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725955AbeIDCt5 (ORCPT ); Mon, 3 Sep 2018 22:49:57 -0400 Received: from p4fea45ac.dip0.t-ipconnect.de ([79.234.69.172] helo=[192.168.0.145]) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1fwxJr-0001yd-5v; Tue, 04 Sep 2018 00:27:39 +0200 Date: Tue, 4 Sep 2018 00:27:38 +0200 (CEST) From: Thomas Gleixner To: Bin Yang cc: mingo@kernel.org, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, peterz@infradead.org, dave.hansen@intel.com, mark.gross@intel.com Subject: Re: [PATCH v3 5/5] x86/mm: add WARN_ON_ONCE() for wrong large page mapping In-Reply-To: <1534814186-37067-6-git-send-email-bin.yang@intel.com> Message-ID: References: <1534814186-37067-1-git-send-email-bin.yang@intel.com> <1534814186-37067-6-git-send-email-bin.yang@intel.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 21 Aug 2018, Bin Yang wrote: > @@ -625,6 +625,7 @@ try_preserve_large_page(pte_t *kpte, unsigned long address, > > psize = page_level_size(level); > pmask = page_level_mask(level); > + addr = address & pmask; > > /* > * Calculate the number of pages, which fit into this large > @@ -636,6 +637,12 @@ try_preserve_large_page(pte_t *kpte, unsigned long address, > cpa->numpages = numpages; > > /* > + * The old pgprot should not have any protection bit. Otherwise, > + * the existing mapping is wrong already. > + */ > + WARN_ON_ONCE(needs_static_protections(old_prot, addr, psize, old_pfn)); The check itself is fine, but it just emits a warning and goes on as if nothing happened. We really want to think about a proper way to fix that up without overhead for the sane case. Thanks, tglx