From mboxrd@z Thu Jan 1 00:00:00 1970 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 38939C369AB for ; Tue, 15 Apr 2025 18:59:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0614C6B0182; Tue, 15 Apr 2025 14:59:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 00F466B0183; Tue, 15 Apr 2025 14:59:24 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E18C56B0184; Tue, 15 Apr 2025 14:59:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id C3B2D6B0182 for ; Tue, 15 Apr 2025 14:59:24 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id A0C3EC1879 for ; Tue, 15 Apr 2025 18:59:24 +0000 (UTC) X-FDA: 83337191448.05.7679CBE Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.47]) by imf08.hostedemail.com (Postfix) with ESMTP id 9AE19160002 for ; Tue, 15 Apr 2025 18:59:22 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cJiXdkTV; spf=pass (imf08.hostedemail.com: domain of salvatore.bonaccorso@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=salvatore.bonaccorso@gmail.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744743562; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=hkp2i5c9bgqxiRKG/3h+HqHChQz8elSJkULnjDgaezo=; b=YEW02Vu/fyVYbq+T64g8LrkYUt59S3qXs39PIhj3ndTLJrYfD4CDOJKG4EJ/9vB+q9+/yM XX8EaI7qY4aEOVbx3SSWpsLUsqR9gEYpHrxZsvFKftPrX0WFrETqm40rU0kP9khL0Yum+r 3Ql+iDpZeTXNqLBmZrt2pDzhzPJMF2c= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744743562; a=rsa-sha256; cv=none; b=4KyblLwEywnMOl6yWGF4NciAxAttyNXNy4KKeXbMisq+f1YQ7eo7yZSk6LsWWiGlLeptoL muHZFiNX5vp+WQqdkgS4kFl0GFZMCPckYyGhiImGJsvO/eYBqW3nSW9RR71X6a4ib74Sh3 7jRL+MU48hfTO4t3XdMGFoDVJXYruAo= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=cJiXdkTV; spf=pass (imf08.hostedemail.com: domain of salvatore.bonaccorso@gmail.com designates 209.85.218.47 as permitted sender) smtp.mailfrom=salvatore.bonaccorso@gmail.com; dmarc=none Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-ac25d2b2354so934759666b.1 for ; Tue, 15 Apr 2025 11:59:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1744743561; x=1745348361; darn=kvack.org; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :sender:from:to:cc:subject:date:message-id:reply-to; bh=hkp2i5c9bgqxiRKG/3h+HqHChQz8elSJkULnjDgaezo=; b=cJiXdkTVvwoAa3NgfyFugmpe5qS5YLOjMrYqVpy7A7YFckuqa68iNCt7SLTICFvN/m MVMI55hHEAZJJqr3wAMUrFqoSu/fL2splsvcWr6JUIllWEg4r5AfAYVAxYZr/+0AWNrJ Zk8spYxZ3CG5fV8z9zOipe5yyFW+VcCqn7lyLK4WGyla1MTll0a+MdhcnBfxsabCEAjn b6jYwC9fv+jEi9RiHWNc+LZs6Tryi3fpPlMYT2drMVRz6OHWTo55fGSyH5CjasEaTV+r Skn13kOKYKjGWCiYKD1p3tDeeZ73TmQD+CA/YS/gX77O6BvTAIYGaBjDccGc9CUAhbHW aYlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744743561; x=1745348361; h=content-disposition:mime-version:message-id:subject:cc:to:from:date :sender:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=hkp2i5c9bgqxiRKG/3h+HqHChQz8elSJkULnjDgaezo=; b=W6EeSY5HY+GPmW8xCisYHExNH/JJVHYitfrNFPG83Ksh6Notck0PfZNv2cwsxjgA42 0yWClPIMGgaTMyEgmi5jAECu80JMfCQ7GtCWAgM60x6m7b2o3V9eiE8v/bPQdUBh5kGV VSnm5YrQ9u0yF9W4wBfSl41ys+f3L3jzWS+sejan+HT2Iq9fzLfC3rEbCa1a+lM25kEU 0JUZse9tflNtZ/yYKTwRYqUn6VBsxQ6sSgiIDALU0MyzyXRvuSOOzNoHM1GI4pjsjknw pHxaSLKTUi8lMdyZuK7ed0NODNM3MiWfQFYyJthnWIiuer8WorQ/2p6v9SDt8aB0R+dS tn+A== X-Forwarded-Encrypted: i=1; AJvYcCWLML8LAqmJAAsGJfkhabf8J/xdOkVfw+mfoFMM2PmISZCWU39zKqCGPI8PQnDq61nksHMMbypbsw==@kvack.org X-Gm-Message-State: AOJu0YwqdeCZsKC8wA7VPBdWKzqImyioyaoiqa3R084wb6U9XBi9KYD5 6/LI2O0/4AWQL2e4zkRUQilKWw0gTK2yt5kAE9liY/9RcOiVCMee X-Gm-Gg: ASbGncthzQDB4CU/aTE4mJmeSkMNPbVmMOgldVCPXRi1tQRaphOme2KjHt26xKJZajv ZrMrOEWvLuvTPlxMUc7gyv0kVO83Vx9NRS+a4zChuOrKcnxOY2aPCNL0vDhvwHNAEx/rg2RghAg Pjo0PeYuJOLdAteeNygw/S/a1+SzRrm3QCI6XdM/whGhVDPZZD7rRwXHkSfizpP7KRsAynR7rQn M4QOf6oUGIwav/+8ACJlnFMElo4N4G56LlVsnLF3hxKLJqTN8SEIJ1ILSufR873SPG8YXBzCF4B uWfiXZozdwB4cwsJxLaqm5BAjWQSEXGBSPYieyCAAet1OtyWdyCDPCG7NYhsr0yJ2vvyCOMUsw= = X-Google-Smtp-Source: AGHT+IGTCiRplDt7X2b9oOiIqzPnVtzAVrCP2VkK30vBE7aX2MZ8ZaJbKZHqziYeL/Ig1EMQ0/BoBQ== X-Received: by 2002:a17:907:720a:b0:abf:6cc9:7ef5 with SMTP id a640c23a62f3a-acb3850f00dmr12406966b.47.1744743560630; Tue, 15 Apr 2025 11:59:20 -0700 (PDT) Received: from eldamar.lan (c-82-192-244-13.customer.ggaweb.ch. [82.192.244.13]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-acb20c03de9sm177102666b.71.2025.04.15.11.59.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Apr 2025 11:59:19 -0700 (PDT) Received: by eldamar.lan (Postfix, from userid 1000) id 25073BE2DE0; Tue, 15 Apr 2025 20:59:19 +0200 (CEST) Date: Tue, 15 Apr 2025 20:59:19 +0200 From: Salvatore Bonaccorso To: David Howells , Christoph Hellwig , David Hildenbrand , Lorenzo Stoakes , Andrew Morton , Jens Axboe , Al Viro , Matthew Wilcox , Jan Kara , Jeff Layton , Jason Gunthorpe , Logan Gunthorpe , Hillf Danton , Christian Brauner , Linus Torvalds , Sasha Levin , Greg Kroah-Hartman Cc: linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, regressions@lists.linux.dev, table@vger.kernel.org, Bernd Rinn , Karri =?iso-8859-1?Q?H=E4m=E4l=E4inen?= , Milan Broz , Cameron Davidson , Markus Subject: [regression 6.1.y] Regression from 476c1dfefab8 ("mm: Don't pin ZERO_PAGE in pin_user_pages()") with pci-passthrough for both KVM VMs and booting in xen DomU Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Stat-Signature: fbdzbwzt8y1wdjy6jjb7cbapintiq3hx X-Rspam-User: X-Rspamd-Queue-Id: 9AE19160002 X-Rspamd-Server: rspam08 X-HE-Tag: 1744743562-217761 X-HE-Meta: U2FsdGVkX197h8xy9cYVI3CX9bnFE1/GLpZCnNNDCY+aNGAOHO6Tm6mSkMKrxqh6t+e+yVNumDKy0+ff0GVw8ODS5Pv5ah5dC5WlXCQiE8rdBKUR1xp+qlMRz34Tg7ST/u5zLWSmDAM/aqsa4klAjdT8zwoF3+RNqJqd1RqoBkvJS37Clm/qCPz8cGFEWLP0VIgvDsey7LPc+et1iesXs09ksClbHJl3Jjoj/0lEyZQFWKHquerlzOwvnT/f5xRSqhIufEPp1NnhCiLdQDWLUxC8whTGSeBw77uTuhiPO9l9BD+E+sY4Vy0kfW20lmfktpBxzhns1+W1ipAEKsnAi9q3t5WxZ5isifkSUqk6BncbYRUMnOWorbQAXT9yGKjwvDIBKlvQSERNaXutBF/NAgWHDKIIYOx1OnYDdrlSDB0qoWTrLAIB5e6jGXpSjqd6pt8Znf0oSm6ltq/MZOC685a8yksyhnaNIfCRO5VB9E3p84t6Of607ok71mMVp3AO46p4o1iJa1vfjB3w2Ydpud/TKmizPTjg/dJH5Pa3jyHZz+NKbGD8LDNSUBHLwuXGC9bap2vPOnkz2a9xvQWM58WX99BDnz6eoT/Psb52pLSWOrCgu8WTpdwi73uIkgOHbggBJZzDxMOSWVm9+t07ucARtOwHGV/wg6BitbfwxUd3zB5c/OVKUJVZM8MFpIgZCSatjcuEcIWanQxFRwBNVmkS1h1J9ND9Kh5MgvwWVfonPB0c5qroxqZAuDSlD+BBqLgZo3mzBscNKmR6iDjIF57OPbd8S3DxxQtu46UoKV1Pn+H9Rgf6KfYWD+Mkr1mUsbIVnnwaAqkWRd+iFAlDXTJDv3Q0e5MOk1h3vu5y5x72bscfLiNCo/ILyBWdpBODDCOg/ajNEsbHt/SqhNea4tWfS+V32bRPBS6JhGAJKMA76BEDyhlYPv6QQXuyrMrPwfqCWZnP9xYDFGCwGVs C3ujg+6X 3yOkl9OvHdBS5sXQXxIr4/6kuq+aLrFpWEWWrPvuRgXprWxVITEjL8ZYIqnxk6WA6Mr/YZSVu+6irMbO2c6cmavWQGV21I7YVpK4iPxIHG7ToVBXFaGvI+CfdM8nAJMlOgdWZtF0Rl2YEAhZSZVeKLJEFhUQDCPtCkHKNh4iTku0baw5xq2NS3f/WHUUdtjmLod9IZZXyYeCODFiqzAXq+ldXIh9urVWhpz6etUqwCE7lwYhk+zBlig4iy/1ZzzIu9xjtfPZpzUs4fFvVV2QPXVPrO3ukZYpMLbwpHj+se6Vwdpq9jeNE6LdzyF3nSOabQU5gvkbu2bU3jCx38EfdVXBmWjO8WzLgpkAa7KQy+jsgh3kNDcPjjhcKUCIHQJ2p9dM0ka2vIbh2SFlcWaY3fsCsGG5XDFRsuJj2VB8u6gjVziYShgBLiamliX2D7HzPBcREqp5Kx5Xb38uahaLR5pIq/dc93Nv7ix3kiPo7P4ICTfBKQAzJ3KsTrghN0AzMeL9sG/QoZQ5q0Gf8Z1y1GX0SkQtL4UGKlUJJbsVZn2OtEKfKZKPCCEJ791HYA6uNnBC2LD75tFbtSUJwVC7e+VhfP4lTy6mTZ3AEj/pTUjkUJMA/hLwUjTcD5hH03XD80i2LrkTXLB7wbzYrdccB9ephKbUIvP3OvJ9qI7ZOl+6cWYsuaFqXbbDz46E8CRJ9uNtTcokXHq5cpFwj6K2jtNNf41R7fFXr0pRWy3tY3JgJCQs8ItffGIriV+nwt53BFdFodeymyfOB0Aj4IwSH5fRPKr+AKrxByb9HOUF1UNzke/pbk4AbiWCAhfKWzMkxnZuK3Ba8cn3Numitg4OCouZCA9ZhxLE85M/7imGc+nUdEunNvLX+t/rZOARmNcezCNwOLbgX/fMsFEDxwW+j2dQXgxVbg6lTtpwOBrO57xdvdYE= 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: Hi [Apologies if this has been reported already but I have not found an already filled corresponding report] After updating from the 6.1.129 based version to 6.1.133, various users have reported that their VMs do not boot anymore up (both KVM and under Xen) if pci-passthrough is involved. The reports are at: https://bugs.debian.org/1102889 https://bugs.debian.org/1102914 https://bugs.debian.org/1103153 Milan Broz bisected the issues and found that the commit introducing the problems can be tracked down to backport of c8070b787519 ("mm: Don't pin ZERO_PAGE in pin_user_pages()") from 6.5-rc1 which got backported as 476c1dfefab8 ("mm: Don't pin ZERO_PAGE in pin_user_pages()") in 6.1.130. See https://bugs.debian.org/1102914#60 #regzbot introduced: 476c1dfefab8b98ae9c3e3ad283c2ac10d30c774 476c1dfefab8b98ae9c3e3ad283c2ac10d30c774 is the first bad commit commit 476c1dfefab8b98ae9c3e3ad283c2ac10d30c774 Author: David Howells Date: Fri May 26 22:41:40 2023 +0100 mm: Don't pin ZERO_PAGE in pin_user_pages() [ Upstream commit c8070b78751955e59b42457b974bea4a4fe00187 ] Make pin_user_pages*() leave a ZERO_PAGE unpinned if it extracts a pointer to it from the page tables and make unpin_user_page*() correspondingly ignore a ZERO_PAGE when unpinning. We don't want to risk overrunning a zero page's refcount as we're only allowed ~2 million pins on it - something that userspace can conceivably trigger. Add a pair of functions to test whether a page or a folio is a ZERO_PAGE. Signed-off-by: David Howells cc: Christoph Hellwig cc: David Hildenbrand cc: Lorenzo Stoakes cc: Andrew Morton cc: Jens Axboe cc: Al Viro cc: Matthew Wilcox cc: Jan Kara cc: Jeff Layton cc: Jason Gunthorpe cc: Logan Gunthorpe cc: Hillf Danton cc: Christian Brauner cc: Linus Torvalds cc: linux-fsdevel@vger.kernel.org cc: linux-block@vger.kernel.org cc: linux-kernel@vger.kernel.org cc: linux-mm@kvack.org Reviewed-by: Lorenzo Stoakes Reviewed-by: Christoph Hellwig Acked-by: David Hildenbrand Link: https://lore.kernel.org/r/20230526214142.958751-2-dhowells@redhat.com Signed-off-by: Jens Axboe Stable-dep-of: bddf10d26e6e ("uprobes: Reject the shared zeropage in uprobe_write_opcode()") Signed-off-by: Sasha Levin Documentation/core-api/pin_user_pages.rst | 6 ++++++ include/linux/mm.h | 26 ++++++++++++++++++++++++-- mm/gup.c | 31 ++++++++++++++++++++++++++++++- 3 files changed, 60 insertions(+), 3 deletions(-) Milan verified that the issue persists in 6.1.134 so far and the patch itself cannot be just reverted. The failures all have a similar pattern, when pci-passthrough is used for a pci devide, for instance under qemu the bootup will fail with: qemu-system-x86_64: -device {"driver":"vfio-pci","host":"0000:03:00.0","id":"hostdev0","bus":"pci.3","addr":"0x0"}: VFIO_MAP_DMA failed: Cannot allocate memory qemu-system-x86_64: -device {"driver":"vfio-pci","host":"0000:03:00.0","id":"hostdev0","bus":"pci.3","addr":"0x0"}: vfio 0000:03:00.0: failed to setup container (in the case as reported by Milan). Any ideas here? Regards, Salvatore