From patchwork Tue Nov 21 21:20:11 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Kelley X-Patchwork-Id: 13463576 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EE29C61D97 for ; Tue, 21 Nov 2023 21:20:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CC61C6B046F; Tue, 21 Nov 2023 16:20:39 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C754C6B0492; Tue, 21 Nov 2023 16:20:39 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AEDE46B0494; Tue, 21 Nov 2023 16:20:39 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9BE946B046F for ; Tue, 21 Nov 2023 16:20:39 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 7B84D1202A1 for ; Tue, 21 Nov 2023 21:20:39 +0000 (UTC) X-FDA: 81483230598.03.5DC298E Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by imf11.hostedemail.com (Postfix) with ESMTP id A2CEE40016 for ; Tue, 21 Nov 2023 21:20:37 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SCXv8ELp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of mhkelley58@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=mhkelley58@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1700601637; h=from:from:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=WDCKZynU08jauQ6ld+7iiO8G5I0+Mgx4PpyHnd5gkcg=; b=MQFQv7fc48if+AUz/mmuu//UwjW79jmYwx3wEefEPZfPjCZeBjDUSXutcgY9tfv2Vi0PFi qhAJkHCyE3Ae3DRaXoiS1hic+prUl66cb9sH8w2ceSShQs12Ld9GY4i1OZkaNxUtXCkO6W l6V86krXW6YqdUC1+xsm1THo6KWI1lg= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SCXv8ELp; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf11.hostedemail.com: domain of mhkelley58@gmail.com designates 209.85.214.177 as permitted sender) smtp.mailfrom=mhkelley58@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1700601637; a=rsa-sha256; cv=none; b=6j8tLU6dLAQhboq+6fJcXNp4bPEecDqwuB0hFekSwrZ5SpsFdwE2OUVLe7wnmdpMO+1PMt DPToSHfN+3fO2DGVdZlUqN0/wlAtTggmyKA/eNXd+LjCP65jjdBHxXKeDOOA9GkFZimc5n KmTyL7Rb+L+Zz2HurmLDVp3YZot4QPU= Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-1cf69f1163aso16219295ad.3 for ; Tue, 21 Nov 2023 13:20:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700601636; x=1701206436; darn=kvack.org; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:to:from:from:to:cc:subject:date :message-id:reply-to; bh=WDCKZynU08jauQ6ld+7iiO8G5I0+Mgx4PpyHnd5gkcg=; b=SCXv8ELpP8Oh5o2i/CDujKRQHnRbjzPdXLLsJ5E5wTwqJzLqX7uk+G5bIs0oVCX/90 f8dV9tDUTEyWvZP450ZtEvXpngPBTelk9JBQbW5Ug/LtKjM5qQDvNMdTatmia1hFCB2B O4D+i1Ja1YfbrWoq2qoYGHol/8lMfGCDm3DW4CNzuP1cm9UAs0h1ZrzJ4LjvMOjNUhVx c7xjGAuvl1E3xJ9h3LHNPRlDhaHdvUJXK1tgTT7NcgBDG5jxtQIrXWWKX/YdtH9+GsoE IlIEV0xCOidgeXgZxYCuGPC1yXYvJGI6Xvv4IQ0ZxRcwzuFhnmYeTE2f7St9B1wEvGWm PtTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700601636; x=1701206436; h=content-transfer-encoding:mime-version:reply-to:references :in-reply-to:message-id:date:subject:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=WDCKZynU08jauQ6ld+7iiO8G5I0+Mgx4PpyHnd5gkcg=; b=kOO0ikdPaXZdrw9GkTGZxf4Uu5s/9IPUdyjFOTtgk6V+msGthoZxE4rvjcixeXDIi3 3dMJrJ92lW/z+at+tEE9mfptZ3sqP/n4cx56AT0HFtlQdMtVdh03TrnDt87CRSeMjAcV UGSM2b3Q/owV8qTndZcBbGkLopmaR5ekZxhg3SSTQrsALaVH/gq1fCFN2/KhlqNZqmxj ws7v8ED0gXFMNgWaVTdJkpmm2pbfJXmS70n/it/YRa2Nq1kLPUOTLDZGF7kOVDoTxrdX 8BtBpmyAuJHpgA3/gY9h0Mw9K8/tbsA+bWTfAfnn+Qd8c1MY7S7csor2r4vnrGVwkwox Rq5A== X-Gm-Message-State: AOJu0Yx8+9Ibk2dRcXXVXiAoNpN3oiZYvlXiBf/njVYq0Do8mkUX3iVx +qutfoeBLb8jMyNLt2uUZx4= X-Google-Smtp-Source: AGHT+IHGih5jJrhH0e5Fitw1xqGZ2tbx4HII00I2SufuwbFYeK8kmL25D5zlL+pZpN85Iq/vTDPqHw== X-Received: by 2002:a17:902:ec84:b0:1c9:faef:5765 with SMTP id x4-20020a170902ec8400b001c9faef5765mr603101plg.5.1700601636565; Tue, 21 Nov 2023 13:20:36 -0800 (PST) Received: from localhost.localdomain (c-73-254-87-52.hsd1.wa.comcast.net. [73.254.87.52]) by smtp.gmail.com with ESMTPSA id j2-20020a170902758200b001bf52834696sm8281924pll.207.2023.11.21.13.20.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Nov 2023 13:20:36 -0800 (PST) From: mhkelley58@gmail.com X-Google-Original-From: mhklinux@outlook.com To: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, kirill.shutemov@linux.intel.com, kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, luto@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, urezki@gmail.com, hch@infradead.org, lstoakes@gmail.com, thomas.lendacky@amd.com, ardb@kernel.org, jroedel@suse.de, seanjc@google.com, rick.p.edgecombe@intel.com, sathyanarayanan.kuppuswamy@linux.intel.com, linux-kernel@vger.kernel.org, linux-coco@lists.linux.dev, linux-hyperv@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 3/8] x86/mm: Remove "static" from vmap_pages_range() Date: Tue, 21 Nov 2023 13:20:11 -0800 Message-Id: <20231121212016.1154303-4-mhklinux@outlook.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20231121212016.1154303-1-mhklinux@outlook.com> References: <20231121212016.1154303-1-mhklinux@outlook.com> Reply-To: mhklinux@outlook.com MIME-Version: 1.0 X-Rspamd-Queue-Id: A2CEE40016 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: d8n9rm1j3ht435sgyz7ncbg15bfsw5ou X-HE-Tag: 1700601637-119657 X-HE-Meta: U2FsdGVkX1/5O7T2ljx5QUzniBt9l2wTzzszylpZRBUT9IIlVR4qx7R5oo17pJebA8TW1YhdHftUTy/dnOTEVhcYTjiXsjXWRJoVWv1JzWq01Gk4L48DSzehjN5eOiQpztVRr9IQQLBoCJooMNtBXTkEeiBUeazFpU2FxLarqxsjiKJlXy8+fI4e22WB6NUYMTvJCsqD+VIdZtDFggdbQSlPPCBMs/8Pd4M+99Wjea/EgQW7aLYe0yyasnh53Oa4i3HyRIfdehyQPd6hYt12SjYgRL76IWhgYiztVqRJlqsXUqnVObXoKGXtR74mgBgRvYd75vauR1ZTFNIkFy9BXPf32jCE6NQBuhass8Ws8y1MQXco4okIGLoF03mpQaqGaCrgdGJXNA+UYUqYxcq6XSNPl3qPcvcxqGiTnHLeyWEj71ZsMcxbGKvaKmNa6UXEwGm6dHC1Lz1/H9H13msHBQwLm84RAKNeV/AEgEmAAG44+hAHkKbt4E4y7POdrNFNDgiFCQTHfL53tXd6Dj00wehhYAXIG1olrnFAWG40gRmTk58lnv/BgkFTVub7desSyqOOv5YpMR/bbUV+LtPO2l0WBmD8L2+96lWv45t1m8E7UWJfwmhDa+VJwphei4kbx42z3BUVktdBxWsdte1hEjXXqqiBPMcI68gSbZHsZbA3Cjti4a0LyIuGaL+59S6yRmADOYxJsOea7wSHgzyyJ6K2lqTsaiMvKfl7jcdFzQDBR32F3+P9SEtiQF6F2mXwNvBqQSZJtDP4HGmhvkgwAJEFDuPNXkWgRjCGiME0cp5HkdKN4088Nl8HMc7mhGvt80hTBZOeM37IhMu0lR8VPiXMM76ZtBe2ULGTyZ1ZKpGpDPHkg305XqfWSTb7ajeECKyACbuK8U3y7Or6uJBSbYS8Xcx8PxdfN51G81OQuPmtsH/K78aKRzB0svhvio8e+FOuxo5BwPAHECVTC/L Ywk/U7DX Duc5bkWWdrIZnkE75j3XxSUg8Yn7cu7pkV2hWO+HeLWto39dd16J39Wn54KazPNnffDLSNohiFMR9jtvP1tTl3kUmcN6CU2RY1Mp1WhA8/hXJZdp9JHY0tB9bk2dTeL91yhO97bXtUV87uU1piqfuUW1Iepn04rTcrdtIEv8UVObNj/amWc+Rnk3Njte28U21mqn8RR9wPM+x2NV2aPNMeMeacsVYm90FgfPfipJRZefOPOBP3D1ikl0q1/IHFVCOGht1xR3q/VsKFSSwjAag9fxQ5NJlCblcN8GGJXrY03BznGydzcs4mc57ApwPwnuIYk1RvUyAFW9k2OHmEH3WC7CbO2eHlciSWadmQ4VnUvVsKksYIwHrQAOqjeXQyqUSNzr5+CuYNTifx4gfNvBiVpCp7YT/P4ZD26xXUadgIIyGQQOHtDQ2jOpoIeZN22NRjU4lpRTODOzYP9eEVxKON5DsAdzHwoAixR2WMjc/aF3cq4YZoRjOOoW612mZ/k/lrVsHLOwx+Hp/S3BL2Qsh020IGiY1m+LAHG4NNGmi30oNFk2ehOkDGCkkiEq20QUHVy9nv3iidzAmnXiqWy9aORW5qkjpzs3yfIZvhtQLPsKV1VbDy9GIQoKTIQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: From: Michael Kelley The mm subsystem currently provides no mechanism to map memory pages to a specified virtual address range. A virtual address range can be allocated using get_vm_area(), but the only function available for mapping memory pages to a caller-specified address in that range is ioremap_page_range(), which is inappropriate for system memory. Fix this by allowing vmap_pages_range() to be used by callers outside of vmalloc.c. Signed-off-by: Michael Kelley --- include/linux/vmalloc.h | 2 ++ mm/vmalloc.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index c720be70c8dd..ee12f5226a45 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h @@ -233,6 +233,8 @@ static inline bool is_vm_area_hugepages(const void *addr) #ifdef CONFIG_MMU void vunmap_range(unsigned long addr, unsigned long end); +int vmap_pages_range(unsigned long addr, unsigned long end, pgprot_t prot, + struct page **pages, unsigned int page_shift); static inline void set_vm_flush_reset_perms(void *addr) { struct vm_struct *vm = find_vm_area(addr); diff --git a/mm/vmalloc.c b/mm/vmalloc.c index d12a17fc0c17..b2a72bd317c6 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -625,7 +625,7 @@ int vmap_pages_range_noflush(unsigned long addr, unsigned long end, * RETURNS: * 0 on success, -errno on failure. */ -static int vmap_pages_range(unsigned long addr, unsigned long end, +int vmap_pages_range(unsigned long addr, unsigned long end, pgprot_t prot, struct page **pages, unsigned int page_shift) { int err;