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 81F64C369AB for ; Thu, 24 Apr 2025 21:57:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A2C8C6B00B7; Thu, 24 Apr 2025 17:57:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9DB186B00B8; Thu, 24 Apr 2025 17:57:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 855D06B00B9; Thu, 24 Apr 2025 17:57:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 60EEA6B00B7 for ; Thu, 24 Apr 2025 17:57:37 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 37E1E80FD0 for ; Thu, 24 Apr 2025 21:57:38 +0000 (UTC) X-FDA: 83370299796.18.317A3AD Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf15.hostedemail.com (Postfix) with ESMTP id 16A46A000A for ; Thu, 24 Apr 2025 21:57:35 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=KaIhiQAP; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf15.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745531856; a=rsa-sha256; cv=none; b=oTFByYRYzM+Pa6oA4TykZse8dl+CfCoi389w1RYgmvBRrt2I8KXleck/hh1ON80tc0JYxY zJPTyljyVXjonz/TXbaKx1AE1NrFhVzc/ZP/Gi4ht81Zj1JbpWnMMR69xjgnBC76EnX8b/ MzajJZbj6beflPt+sLLHs4t7alhM4Sg= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=KaIhiQAP; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf15.hostedemail.com: domain of peterx@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=peterx@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1745531856; h=from:from: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:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=gNFAAkwdWRBtpRVBQdWenlqFkFWJNty+/AexJPWj//I=; b=3Muxxd5XDW18JsdU5acIiGpuxnSKhddi5vWhYSGq1AKvhlLwAF1a2h0HwRiA6RSu5+vLLN jOGGmh+xXoIwILgpL2WRFrBcesU3A44sx9zUhzX6uL/jbCYzzf05CS7ee6nfdNA4aUfHiN SxNOsdX4FkZ10WbFtdYPBufcWN8EQDc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1745531855; h=from:from: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:content-transfer-encoding; bh=gNFAAkwdWRBtpRVBQdWenlqFkFWJNty+/AexJPWj//I=; b=KaIhiQAP+bjlL+ppI8YNP/sV3mAbQvFISOhj/XRHcEzAi2q8vbAU/hh/snqSeGleB9aYPH ZnuuEtxyC7RCAqa6aJkWQXYHftp//7zax9jVdSAe8rsP2Dz+w89BU3kBKtHHixTddKJFzX 2H920JY+sjdwTtJK2AAjluF8nzIWhsM= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-223-h9vmy68COzKdpj1aMJBZBg-1; Thu, 24 Apr 2025 17:57:34 -0400 X-MC-Unique: h9vmy68COzKdpj1aMJBZBg-1 X-Mimecast-MFC-AGG-ID: h9vmy68COzKdpj1aMJBZBg_1745531853 Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c54e7922a1so314802385a.2 for ; Thu, 24 Apr 2025 14:57:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745531853; x=1746136653; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gNFAAkwdWRBtpRVBQdWenlqFkFWJNty+/AexJPWj//I=; b=wEVMjNaJJMXiB03ISoCyg7LUcHb5EgQbADwzKjd7jVilkvfdLX8y20M/UBWubuSpCY dZEaIprOTkLBuSeUvl/8e30noIier+ORPqEWVbRBkHQQ/tBx4vW+gR9NCrDUcJHM3Nea B65GGDC+FPHrotZgqUqhj5rSU5aLKbSYwqsq1jOVr5lgV4P7iysisbnqqzL7K1p+W1FR oyp6HDl6TJ3ycW7w/T35mBQWNHPNfu3p5V6dn/by+kQR6j7t7GkpGawZUJwxxOYi25W6 duKZI1fkWJMFuFAYD7yfPPZTIbSVQnYQoC7nqOTrBLYpihGUPbKuBEplZAWA46FvZpwj P4DQ== X-Forwarded-Encrypted: i=1; AJvYcCX9n3oXjMlOnN1grGN+toZXasci7uYIko2Vd/XTvlZYKgFPsFS/YhtZdIfTSrmGM/hZalyB8LI6EQ==@kvack.org X-Gm-Message-State: AOJu0Yy3+fyxeA2sw+p7e/bHwGlapEgTJbRycvQBfiuhJg42Ytj7jSEx WYOX7AypqCQpGjHjc18UIFgDheiUGu9KPEhlEbY5F7sJG1+R28DI+Ev/GksfwbvgwnhUOfhNcd8 B4I9IoizoMSg7pUXowMijyIhf/3xcG2stxLjcDwaQtrKrZZ/l7YH3yt/d X-Gm-Gg: ASbGncsZ1rZGHva5LAq8uBmLVEOCiW+boR+wa1/7JuutSCFj4psrpTBFfQ+AYfA/5O4 442aL4tVZK5hgLFnHZxzG8VesUHadSjP9cTz6NFrbc5Arkoj0KdTu1CWtcaKLB+L2iosvyvUklb dzGxAZxzOqKql8ovy48uNa2QX7kAldIKOnym3lDe+W6TqoRZ0SXYH3idZXfkN0fZ6pYzI9LF78q R61oKZEixRC6y6NL3xLZUHAtXf/72bkacAZFYG9EeAbxGxG9dPqNrxh6gM44un6sWe3AAcLA9T5 X-Received: by 2002:a05:620a:191d:b0:7c7:b5dc:2e36 with SMTP id af79cd13be357-7c9606e271amr25349185a.18.1745531853239; Thu, 24 Apr 2025 14:57:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGEUqIBKqRuM+uilYhLKP9IyuG1SpIIrfP8BP6vvhC+iiiesMUlQ1uhvKuEqA1nOvdsUhaf/w== X-Received: by 2002:a05:620a:191d:b0:7c7:b5dc:2e36 with SMTP id af79cd13be357-7c9606e271amr25346385a.18.1745531852845; Thu, 24 Apr 2025 14:57:32 -0700 (PDT) Received: from x1.com ([85.131.185.92]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c958ea2a6dsm138737085a.106.2025.04.24.14.57.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Apr 2025 14:57:32 -0700 (PDT) From: Peter Xu To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Mike Rapoport , James Houghton , David Hildenbrand , Suren Baghdasaryan , Axel Rasmussen , Andrew Morton , peterx@redhat.com Subject: [PATCH 0/2] mm/userfaultfd: Fix uninitialized output field for -EAGAIN race Date: Thu, 24 Apr 2025 17:57:27 -0400 Message-ID: <20250424215729.194656-1-peterx@redhat.com> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 3godrSfQSJ6fzB9lNbZNHdIHpIBvvIiXPyauVwLx3s8_1745531853 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 16A46A000A X-Stat-Signature: 64agx1ggr7zapdgpwrwmpjcga8oiitsx X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1745531855-999682 X-HE-Meta: U2FsdGVkX18F8khU4oAk+338t1rMwL87n/XxabF5YTNH6E2dcBKTpKD7dTRxct3YHVb1LjM0Q3Eiw0CS4/ywYcO4THvmJReG21a0XLibQa3Sk4dJvZyfJ3/FfO0kGiT1xhbrilJQwys+cq3kE5Nk3etJnv2jjcoo6XDnK3OH2ZQbKr8u56HfNtSuuu3SMD7tMayarwcVkrObMb9GobWe2oHlr6HFkxrOJ2MJw20zFGcnx9mAsnPmqBm+5sGeeEAD0Vlsm5sdlYRGXOf5O3dqltojhvfcT74uA2OmQnR8/4tNP3sIGfI6qZ7GhpMEYC4CB3hT2pLfIXifciYiunB07w66gXwkdFXgy0YGh0IGmTsdExuAoia1hXtsDqOW8UMkrlElSJRfgAd/w8J4lM9LFhXJof59tmLNUCRPMtzh6EogfB388uknLD41kZahELDu02260baeP4wz896QrWPpygl+l9R+6CYLeuYkVVSljaWc+IDxcOm2iuj0tjP08HtplLNX49jCj07CPlGURkLx/OifJVmMPY3DwmFxf5hBKwZsJ7thgEl/x/DOhDErt9+re5jtn53iYXTk0YMDX2oGt4VpBeJ1wYFmbDKxpR2JxkwXadItBQw9Nla5p3CeGuhgSkjNFmC9Y96/wjTEqx9powdhkkH8WxDPi3+LagRze5sv7zGuOJP/1mTvb75QltqXccA3wepC0rG89xZIRX7v5NHppukOViAnx5yK2Fe8NPNUjXwmZT6S01Jyr74qhbme9nE+lyHe1KUEqof2V39D9mI1PArNDkbC7t72JkSMWg3TByPhzSU50sVr6/1wqUa0zfUS4kneD38t2UACRNgOVOKHnmkJVijJ7VvE1gx7FN0zKl9mixJw6QbRMKnfooXhgj+agD2uTi1WDJwbrSrZCcH6HIzNPoc3de3suDucejWtQBwJ0Dfz4kXC+Ai1sl2tSfIVH6sdONoE8IilOfk ddwGwUut aEjsUzJ5YaYg3ZJzb3e57VQ4an8KP7a5psskE8trCJJ/X+dNhgPIWhsFFqGStFNkHI53HDCGNI2yjj6QRrMmYVI+2p2BWftJuMHvpRr1TQe68Euj0S3gqzegq7fR5TEPnPoUlwMY6qPRHiCaKZhPeT7hQ1T/WAJFhA98P971G3tTDZYSao4rkPYG9Q43NjUQX9dWJoZEJmaiNUwfuFvEZF/TBNR5MgnB67xs2fuojdreh/X4+d+1xQihAhYGRk+oO4UKqtfja+OjpXhTsROuYYtDr/O/837ruXh7wF0ENoECqNxzDGmh/W7jCYrYv3fuePSzhU1Rb1HogypXEM725afTndA== 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: When discussing some userfaultfd issues with Andrea, Andrea pointed out an ABI issue with userfaultfd that existed for years. Luckily the issue should only be a very corner case one, and the fix (even if changing the kernel ABI) should only be in the good way, IOW there should have no risk breaking any userapp but only fixing. This issue also should not matter if the userapp didn't enable any of the UFFD_FEATURE_EVENT_* feature. The first patch contains more information on the issue and the fix. The 2nd patch is a test case I added which would fail on old kernels (including current latest branches) but will start working after patch 1 applied. Thanks, Peter Xu (2): mm/userfaultfd: Fix uninitialized output field for -EAGAIN race mm/selftests: Add a test to verify mmap_changing race with -EAGAIN fs/userfaultfd.c | 28 ++- tools/testing/selftests/mm/uffd-unit-tests.c | 203 +++++++++++++++++++ 2 files changed, 225 insertions(+), 6 deletions(-) -- 2.48.1