Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp7109632imu; Tue, 22 Jan 2019 00:08:05 -0800 (PST) X-Google-Smtp-Source: ALg8bN69EYh4CZTry5oup1E1rcL2RGNUAChWt6UC3X8ymhK6n8AWZ+2bpl+gEEdA+coJ0FaUr1TF X-Received: by 2002:a17:902:2:: with SMTP id 2mr34013061pla.228.1548144485276; Tue, 22 Jan 2019 00:08:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548144485; cv=none; d=google.com; s=arc-20160816; b=tWOm/mp1hxrV0C6KUJNUOWSVOK2Bb0fZ7zMl7yx9EIVDHzkaz9WTznDwD0z/4iHyvu hCdrE90vw3qjFOudmJZnwybht3cLERUeXGeWcs5bJuB1gGXKkaHAi3gA3jWW7AR/d0ZI M1JZcA6oin8GTcRMyOTrFzkAstP5OIcwKynoLSQ87M+dJ4ArLrJ5xGtHNaufqJJ1xydo Fw91NYO2y5mP8c7PWH5MBa6t7kAMgEFsSlrL5Mjx/mM9dQWeM7CH4GeKZ+wS4nldlZ9d hs0UGLt/AN7rHaHljFhEhQnAX1u3In2XYqeCetz8IGmikDTen3a8/5bF7g1Ssz+x+Vn0 RgRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=Hkn/H6wRl5CXt170DQFWWBGCucNqpPEm5tuMMldE3pw=; b=nXg2RlVuxY5qQODiFK1hxhg5SeLY1GU2pinsVK6tesc/GFrdDRzRv50oqRvdzJXQJL x5c1GVQ1sHddIFYLeyXZD/f8s3psDMJfnX4L7ScdOpn2ZAeTY9G00G7Rd3EvCGKITjWc 2S3lVqXV/E1qAGhoTjjYG2nIl0wsFYAWOWi78kyjUfXgoBSnEVJDofjfBmOqbiA2djHt F5yxxKXFBSbntRQtHkNywUf1xUIXIr5oXu8o/bEgnzVeRzsSTu6lDlzVkmD2DC15kN5r v/C9hOxAI97FhngS2hqKXLxCFtMjnNBhfRb9BkHmU98GGd92NDsrsSKE+H7Moy/aocrs o+Jw== 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 m33si14412825pgl.379.2019.01.22.00.07.48; Tue, 22 Jan 2019 00:08: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; 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 S1727565AbfAVIGl (ORCPT + 99 others); Tue, 22 Jan 2019 03:06:41 -0500 Received: from mx2.suse.de ([195.135.220.15]:48834 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727498AbfAVIGk (ORCPT ); Tue, 22 Jan 2019 03:06:40 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 2B335AC91; Tue, 22 Jan 2019 08:06:39 +0000 (UTC) From: Juergen Gross To: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, x86@kernel.org, linux-mm@kvack.org Cc: boris.ostrovsky@oracle.com, sstabellini@kernel.org, hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, Juergen Gross Subject: [PATCH 2/2] x86/xen: dont add memory above max allowed allocation Date: Tue, 22 Jan 2019 09:06:28 +0100 Message-Id: <20190122080628.7238-3-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190122080628.7238-1-jgross@suse.com> References: <20190122080628.7238-1-jgross@suse.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Don't allow memory to be added above the allowed maximum allocation limit set by Xen. Trying to do so would result in cases like the following: [ 584.559652] ------------[ cut here ]------------ [ 584.564897] WARNING: CPU: 2 PID: 1 at ../arch/x86/xen/multicalls.c:129 xen_alloc_pte+0x1c7/0x390() [ 584.575151] Modules linked in: [ 584.578643] Supported: Yes [ 584.581750] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.4.120-92.70-default #1 [ 584.590000] Hardware name: Cisco Systems Inc UCSC-C460-M4/UCSC-C460-M4, BIOS C460M4.4.0.1b.0.0629181419 06/29/2018 [ 584.601862] 0000000000000000 ffffffff813175a0 0000000000000000 ffffffff8184777c [ 584.610200] ffffffff8107f4e1 ffff880487eb7000 ffff8801862b79c0 ffff88048608d290 [ 584.618537] 0000000000487eb7 ffffea0000000201 ffffffff81009de7 ffffffff81068561 [ 584.626876] Call Trace: [ 584.629699] [] dump_trace+0x59/0x340 [ 584.635645] [] show_stack_log_lvl+0xea/0x170 [ 584.642391] [] show_stack+0x21/0x40 [ 584.648238] [] dump_stack+0x5c/0x7c [ 584.654085] [] warn_slowpath_common+0x81/0xb0 [ 584.660932] [] xen_alloc_pte+0x1c7/0x390 [ 584.667289] [] pmd_populate_kernel.constprop.6+0x40/0x80 [ 584.675241] [] phys_pmd_init+0x210/0x255 [ 584.681587] [] phys_pud_init+0x1da/0x247 [ 584.687931] [] kernel_physical_mapping_init+0xf5/0x1d4 [ 584.695682] [] init_memory_mapping+0x18d/0x380 [ 584.702631] [] arch_add_memory+0x59/0xf0 Signed-off-by: Juergen Gross --- arch/x86/xen/setup.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index d5f303c0e656..5929a6ba5c25 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -785,6 +786,10 @@ char * __init xen_memory_setup(void) /* How many extra pages do we need due to remapping? */ max_pages += xen_foreach_remap_area(max_pfn, xen_count_remap_pages); +#ifdef CONFIG_MEMORY_HOTPLUG + max_mem_size = PFN_PHYS(max_pages); +#endif + if (max_pages > max_pfn) extra_pages += max_pages - max_pfn; -- 2.16.4