Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp2318946imc; Tue, 12 Mar 2019 11:16:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqwcQ4QN3Ely7YV+s0leMIECGxHDLBv/b+4qkdnZVYZ5bpkC1gB1mH4zCqemRyvTjdMobkHN X-Received: by 2002:a17:902:6942:: with SMTP id k2mr40686186plt.136.1552414596276; Tue, 12 Mar 2019 11:16:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552414596; cv=none; d=google.com; s=arc-20160816; b=dPyx43eKJkD8Vr5GV+6GI6UIq4++nAku+IlBBFW2Oxb0cix2ixzspxec6UvdnZr+CH 71pJnLqK+0FoxXh42Lzrjsjfz4mRJtaIIaS2vvzVfgpa5duoxdyqB3qjhD7f6n2aJNAn XhGLy6m65U7wpC8raSpbM6Dg/tv2qdNgIXwUbE2qrYEMUAGkmDnXEoOh/Dm5T/hmDNRS yYmIZKh8OPS7DNLfmbaFhpf416dqKTVh82zRj/3exdimHe+NQq+TGjjbUVXnP0ROTJl7 eJmuRzMa7KMI7+CggUalJNOImhweX4MurjV1eRVVAG8V6vA6711U6CvTXqzWv3t7YMsy Wm9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject; bh=jcH8r1UPvtN5pBGCt43Ie/+3l+YDA8LvhavfOaiHAIU=; b=XqaWgzxLx3dm3rdVStx3tbZzubhctre+T4EhMEX19QO3+n90tAlTUe3DhweViV2rR1 dm/BSqm6RA7KMD4WjxFPf6VcQsuwpndvUOv+Xm//5sFBUVXeVbKw4fV/x9d5Fmw6RLPy Yj5tprZrPtkxR8DOXZMehvtK50HtywAsEj4ZYEEFXyW5D+kHRfY0MWB5AW6ea77u/xWY TvyCFCGv+QrM8CJXhHge5OKcFMFzjUqWAg2doRhGnxqaJP7PqpbdEtJam55s71cA5QHD K3skQTG2KNJ4zp9/knm+xJsHRUR6L6CS7ckJRbixdTJDjnNmfRubwy7OAeIVOGC/6opJ YB4A== 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 189si7874002pgb.412.2019.03.12.11.16.20; Tue, 12 Mar 2019 11:16:36 -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 S1727372AbfCLSON (ORCPT + 99 others); Tue, 12 Mar 2019 14:14:13 -0400 Received: from smtp.ctxuk.citrix.com ([185.25.65.24]:15910 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727003AbfCLSOK (ORCPT ); Tue, 12 Mar 2019 14:14:10 -0400 X-IronPort-AV: E=Sophos;i="5.58,471,1544486400"; d="scan'208";a="87173174" Subject: Re: [Xen-devel] xen: Can't insert balloon page into VM userspace (WAS Re: [linux-linus bisection] complete test-arm64-arm64-xl-xsm) To: Boris Ostrovsky , David Hildenbrand , Matthew Wilcox , Julien Grall CC: Juergen Gross , , Stefano Stabellini , Kees Cook , Konrad Rzeszutek Wilk , "VMware, Inc." , osstest service owner , "linux-kernel@vger.kernel.org" , , Julien Freche , Nadav Amit , References: <80211e70-5f54-9421-8e8f-2a4fc758ce39@arm.com> <46118631-61d4-adb6-6ffc-4e7c62ea3da9@arm.com> <20190312171421.GJ19508@bombadil.infradead.org> <45323ea0-2a50-8891-830e-e1f8a8ed23ea@citrix.com> From: Andrew Cooper Openpgp: preference=signencrypt Autocrypt: addr=andrew.cooper3@citrix.com; prefer-encrypt=mutual; keydata= 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 6+ahAA== Message-ID: <6e5309b3-2910-b556-da8d-05b529de1d18@citrix.com> Date: Tue, 12 Mar 2019 18:11:14 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Language: en-GB X-ClientProxiedBy: AMSPEX02CAS02.citrite.net (10.69.22.113) To AMSPEX02CL02.citrite.net (10.69.22.126) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12/03/2019 18:02, Boris Ostrovsky wrote: > On 3/12/19 1:24 PM, Andrew Cooper wrote: >> On 12/03/2019 17:18, David Hildenbrand wrote: >>> On 12.03.19 18:14, Matthew Wilcox wrote: >>>> On Tue, Mar 12, 2019 at 05:05:39PM +0000, Julien Grall wrote: >>>>> On 3/12/19 3:59 PM, Julien Grall wrote: >>>>>> It looks like all the arm test for linus [1] and next [2] tree >>>>>> are now failing. x86 seems to be mostly ok. >>>>>> >>>>>> The bisector fingered the following commit: >>>>>> >>>>>> commit 0ee930e6cafa048c1925893d0ca89918b2814f2c >>>>>> Author: Matthew Wilcox >>>>>> Date: Tue Mar 5 15:46:06 2019 -0800 >>>>>> >>>>>> mm/memory.c: prevent mapping typed pages to userspace >>>>>> Pages which use page_type must never be mapped to userspace as it would >>>>>> destroy their page type. Add an explicit check for this instead of >>>>>> assuming that kernel drivers always get this right. >>>> Oh good, it found a real problem. >>>> >>>>> It turns out the problem is because the balloon driver will call >>>>> __SetPageOffline() on allocated page. Therefore the page has a type and >>>>> vm_insert_pages will deny the insertion. >>>>> >>>>> My knowledge is quite limited in this area. So I am not sure how we can >>>>> solve the problem. >>>>> >>>>> I would appreciate if someone could provide input of to fix the mapping. >>>> I don't know the balloon driver, so I don't know why it was doing this, >>>> but what it was doing was Wrong and has been since 2014 with: >>>> >>>> commit d6d86c0a7f8ddc5b38cf089222cb1d9540762dc2 >>>> Author: Konstantin Khlebnikov >>>> Date: Thu Oct 9 15:29:27 2014 -0700 >>>> >>>> mm/balloon_compaction: redesign ballooned pages management >>>> >>>> If ballooned pages are supposed to be mapped into userspace, you can't mark >>>> them as ballooned pages using the mapcount field. >>>> >>> Asking myself why anybody would want to map balloon inflated pages into >>> user space (this just sounds plain wrong but my understanding to what >>> XEN balloon driver does might be limited), but I assume the easy fix >>> would be to revert >> I suspect the bug here is that the balloon driver is (ab)used for a >> second purpose > Yes. And its name is alloc_xenballooned_pages(). FWIW, I did express my views that this was a BadIdea(tm) when that logic was first introduced. But yes - now is clearly the time to fix this properly. ~Andrew