Received: by 2002:a4a:311b:0:0:0:0:0 with SMTP id k27-v6csp4806444ooa; Tue, 14 Aug 2018 10:48:47 -0700 (PDT) X-Google-Smtp-Source: AA+uWPympTyz6akGtjI5LX4SmVbloiIZrs6zSDberPwAdrjP6xPOKSlo/TDVQj34bYdYDtURoW2u X-Received: by 2002:a17:902:758b:: with SMTP id j11-v6mr21328451pll.29.1534268927679; Tue, 14 Aug 2018 10:48:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534268927; cv=none; d=google.com; s=arc-20160816; b=E9tz+hP/797WXJ4dBZsrXimb8Qul5PYkl/Ht7dzmnNt87xDmSwNaN/eAYL9BJz0DL3 FsAs2Q9YPouGsfAHUVK7AVFRQqD7wua3TC9k9Vm98T0O3aRztaT28+T9hkon67iNcoHb SVaHJau6dcMxPue/vwBAdcj0oR3o+mRDHJFFOIPPSvnmp+W/xU4JH6boEpg7we6ZDFMx gjUwblHx0D9qbK7syDMgHEGA32TFYwGNoG6id7hvPRA5mMPLkZ+Ozr2WsE1U1A7V39X9 5V2rM9iyoimROwz7wtP15lWlEryrJhUectjvqxfZuzLAVn0+QP9iY06yVwoVs04Xg2c1 XKDg== 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 :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=tI+lensB84QAinnxJaGfuxG7VSyE+3Q5OLEziTiIPkM=; b=nP6ZAB7QHLsyWS/xD+GdoSU6htAn3BA38nkE11hUb/jtZ979jmkn0HyHqcrdKuhtgO 3UzX7R/as/U8Y7yZOMkbOKfJotJK+HGvoAEwNH6u998Z9c1085hl32H988BBrgIy1fpm vhNUi/VLmtdNA0eV2rr+mW2NqbF0GNqQq3jHhc4C5QhHF7LRV1FWswwKbSA9k6QpqZdu V7duHqxK7nkgYrmPx6Y70sF54QxvWJLZZ1aYoZoGXAtSiaXfU/wkQHzuDEe0ldt60BAj 4280aQ3JTbdVh+rFx2vAe/x7dwbN0a33GKXVxYX1aDoTyKP0b3GJsO/7DU51pSZxJU0S dUTw== 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 o5-v6si17258857pll.449.2018.08.14.10.48.33; Tue, 14 Aug 2018 10:48:47 -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 S2403804AbeHNUfc (ORCPT + 99 others); Tue, 14 Aug 2018 16:35:32 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:60936 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390379AbeHNUfb (ORCPT ); Tue, 14 Aug 2018 16:35:31 -0400 Received: from localhost (unknown [194.244.16.108]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 78BD3C74; Tue, 14 Aug 2018 17:47:18 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Williams , David Airlie , Matthew Wilcox , Ross Zwisler , Andrew Morton , Linus Torvalds , Guenter Roeck Subject: [PATCH 4.4 31/43] mm: fix cache mode tracking in vm_insert_mixed() Date: Tue, 14 Aug 2018 19:18:07 +0200 Message-Id: <20180814171519.142204859@linuxfoundation.org> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20180814171517.014285600@linuxfoundation.org> References: <20180814171517.014285600@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dan Williams commit 87744ab3832b83ba71b931f86f9cfdb000d07da5 upstream vm_insert_mixed() unlike vm_insert_pfn_prot() and vmf_insert_pfn_pmd(), fails to check the pgprot_t it uses for the mapping against the one recorded in the memtype tracking tree. Add the missing call to track_pfn_insert() to preclude cases where incompatible aliased mappings are established for a given physical address range. [groeck: Backport to v4.4.y] Link: http://lkml.kernel.org/r/147328717909.35069.14256589123570653697.stgit@dwillia2-desk3.amr.corp.intel.com Signed-off-by: Dan Williams Cc: David Airlie Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Guenter Roeck Signed-off-by: Greg Kroah-Hartman --- mm/memory.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) --- a/mm/memory.c +++ b/mm/memory.c @@ -1654,10 +1654,14 @@ EXPORT_SYMBOL(vm_insert_pfn_prot); int vm_insert_mixed(struct vm_area_struct *vma, unsigned long addr, unsigned long pfn) { + pgprot_t pgprot = vma->vm_page_prot; + BUG_ON(!(vma->vm_flags & VM_MIXEDMAP)); if (addr < vma->vm_start || addr >= vma->vm_end) return -EFAULT; + if (track_pfn_insert(vma, &pgprot, pfn)) + return -EINVAL; /* * If we don't have pte special, then we have to use the pfn_valid() @@ -1670,9 +1674,9 @@ int vm_insert_mixed(struct vm_area_struc struct page *page; page = pfn_to_page(pfn); - return insert_page(vma, addr, page, vma->vm_page_prot); + return insert_page(vma, addr, page, pgprot); } - return insert_pfn(vma, addr, pfn, vma->vm_page_prot); + return insert_pfn(vma, addr, pfn, pgprot); } EXPORT_SYMBOL(vm_insert_mixed);