Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp647691imu; Fri, 11 Jan 2019 06:46:05 -0800 (PST) X-Google-Smtp-Source: ALg8bN6yAtG/pW4DPu7Nf5D7GYZUNT5qP2c2YDG6zhdkFobVKnOE4jD/TGccbOxGmTIaTX0bi2mt X-Received: by 2002:a62:8add:: with SMTP id o90mr14685836pfk.210.1547217965573; Fri, 11 Jan 2019 06:46:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547217965; cv=none; d=google.com; s=arc-20160816; b=tInGfWEiJHLfQ/KDnwiTi5gqlZKZZ2Z4ykpszojoLaJtM66VY6Wk2+f+ntNQaSyCzu afFH+yG5LfhPQBzoOG9VA4evWyZ1WxCQ2iVNGaqmNro2Ut0pUVITosviyNn9QaJtbt46 M9gF63nzGtPNDfTRm0VWHRF+l7aVWott+4dts7BuNjyGTfzsjSGPoqxO5xdamOpBMXCc MeIjYx4qG8o/Kml9CY2+SkCB7pIBA8SP0w2IIBesq643nM89jNo3036WAI5CgIqfWJb1 MeRBb08GmRCrmtnb8+nfR5IPZOBLvRZGt29m2/I/XaI1kIYu3MB/cqLvnYiGKPPm3E3m 89iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=n1gd2SsrFq5LPsnNvlCzKT9qzT1mfFH/thxIO2JysZM=; b=EXzmqrkqd9O04V0exCK4AvUAH51Ss2mft1uyA2bouM/GlyH73/QM12Oy2z5q69njFU IP36yYh7ShOGrwKjK4cPme60tKYDj/sOh2juWZFLfkuOebzRmsH5bDWrI3iAFr0Te9fW ppUcz9dPFS8uWs6QmcQ6ALBsSZRhWzvuAqW2EK8zo+OwqinCfP//X9WU3ck5EwFdjWrT B95mv/mwjRPAu6W6qs3tPjQRL7nzxJTWocsLqz5rKCDwKPHynZtw7Vh8KG8nz4Ii0xFg /SfNL8yP8BRWwabcxMcfr3P+QpuolnPhUnfXdRTdF/d5+stDwM21O4w285FGmINT0xfj uCwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vLWEPg6O; 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 j35si23875654pgl.223.2019.01.11.06.45.50; Fri, 11 Jan 2019 06:46:05 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=vLWEPg6O; 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 S2404268AbfAKOmz (ORCPT + 99 others); Fri, 11 Jan 2019 09:42:55 -0500 Received: from mail.kernel.org ([198.145.29.99]:35644 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404247AbfAKOmv (ORCPT ); Fri, 11 Jan 2019 09:42:51 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 802E32063F; Fri, 11 Jan 2019 14:42:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1547217771; bh=n3Wg0exKWeHjLI9VlCGMIwSyw9bhqGn1K7kkmK9Me+M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vLWEPg6OxVHNAnJ8qQ8CVOcjU6/dVncEcpBUXCNEvXaNqYJOTli7B9P9PXvgprfHc CP2757K3qx6eGpX5Rk+2LmqQK91AFvOtPmHTwLzzTcQRWpkEc6AK1/t6QesRoO5H/p 3HUMkYhEfxknPjhkV+/wLzccy3tEv5mgi6R2dCZ4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Dan Williams , Christoph Hellwig , Michal Hocko , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Balbir Singh , Logan Gunthorpe , Andrew Morton , Linus Torvalds Subject: [PATCH 4.20 06/65] mm, devm_memremap_pages: mark devm_memremap_pages() EXPORT_SYMBOL_GPL Date: Fri, 11 Jan 2019 15:14:52 +0100 Message-Id: <20190111131057.030483512@linuxfoundation.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190111131055.331350141@linuxfoundation.org> References: <20190111131055.331350141@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.20-stable review patch. If anyone has any objections, please let me know. ------------------ From: Dan Williams commit 808153e1187fa77ac7d7dad261ff476888dcf398 upstream. devm_memremap_pages() is a facility that can create struct page entries for any arbitrary range and give drivers the ability to subvert core aspects of page management. Specifically the facility is tightly integrated with the kernel's memory hotplug functionality. It injects an altmap argument deep into the architecture specific vmemmap implementation to allow allocating from specific reserved pages, and it has Linux specific assumptions about page structure reference counting relative to get_user_pages() and get_user_pages_fast(). It was an oversight and a mistake that this was not marked EXPORT_SYMBOL_GPL from the outset. Again, devm_memremap_pagex() exposes and relies upon core kernel internal assumptions and will continue to evolve along with 'struct page', memory hotplug, and support for new memory types / topologies. Only an in-kernel GPL-only driver is expected to keep up with this ongoing evolution. This interface, and functionality derived from this interface, is not suitable for kernel-external drivers. Link: http://lkml.kernel.org/r/154275557457.76910.16923571232582744134.stgit@dwillia2-desk3.amr.corp.intel.com Signed-off-by: Dan Williams Reviewed-by: Christoph Hellwig Acked-by: Michal Hocko Cc: "Jérôme Glisse" Cc: Balbir Singh Cc: Logan Gunthorpe Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman --- kernel/memremap.c | 2 +- tools/testing/nvdimm/test/iomap.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) --- a/kernel/memremap.c +++ b/kernel/memremap.c @@ -233,7 +233,7 @@ void *devm_memremap_pages(struct device err_array: return ERR_PTR(error); } -EXPORT_SYMBOL(devm_memremap_pages); +EXPORT_SYMBOL_GPL(devm_memremap_pages); unsigned long vmem_altmap_offset(struct vmem_altmap *altmap) { --- a/tools/testing/nvdimm/test/iomap.c +++ b/tools/testing/nvdimm/test/iomap.c @@ -113,7 +113,7 @@ void *__wrap_devm_memremap_pages(struct return nfit_res->buf + offset - nfit_res->res.start; return devm_memremap_pages(dev, pgmap); } -EXPORT_SYMBOL(__wrap_devm_memremap_pages); +EXPORT_SYMBOL_GPL(__wrap_devm_memremap_pages); pfn_t __wrap_phys_to_pfn_t(phys_addr_t addr, unsigned long flags) {