From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj2-f10.google.com (mail-pj2-f10.google.com [74.125.227.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 848A53BFAF7 for ; Wed, 19 Aug 2026 03:08:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.138 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787108912; cv=none; b=uwpdOQl3I7pvBWtmYHM0lDR2SMscSjbebXe3ZNJNNVZcg45yIcbfV0areJoN1VLOvhW/2kq6abOY1FBSlXgAHRTLx8j8rzxV98didmIwHAETlF0px3OsBzX+WaK4DL3ix2PEw6+zPy1A2qXDNLm4ug8ba0MOc8IpX7rgD9IiNBs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787108912; c=relaxed/simple; bh=ZXca7BTmLPDffoJQ4f7SOFh+wD06HcryhJeuOnUTxhs=; h=From:Date:To:cc:Subject:Message-ID:MIME-Version:Content-Type; b=eEV7nKLd5PcW+XguMFFWWX7tSnEqVekepcgCNXVeZyg1D3PDfNmYv+m00Lt6+BjaKHiju7ISWm0TobbN1NS/2paAqgtgaAWceB2bnRov1Y/v+R4BqbvaEPsPRB6NXwmO1XMBQZS+BKs5qxKgGRVUuKMsq6mSQ0VL9VONvFgBH2Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bJA75GTb; arc=none smtp.client-ip=74.125.227.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bJA75GTb" Received: by mail-pj2-f10.google.com with SMTP id d9443c01a7336-2cf5e516e67so2424315ad.1 for ; Tue, 18 Aug 2026 20:08:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787108908; x=1787713708; darn=vger.kernel.org; h=content-type:mime-version:message-id:subject:cc:to:date:from:from :to:cc:subject:date:message-id:reply-to:content-type; bh=rXzKtO8OrurlIHWuszvLdX1cu4RIAlIwbm6k6jmZ/EA=; b=bJA75GTbEnaTA0JEiSoNsEQ14JkYwGgFu++gV+u6afTdIALgOazgtKcv28k3phbyEQ reybpxqWXrq2TQLWnNXJEzP2RMGa39KhZ4Qg49uYIciZcZmghhoDUuI7et+KkgSrMI4A 1TyjKp44ViwO6a7L1Dd0ngCDgF1TBrf6Y5Ia1Kvt7I2AP5wjLM4arQ3DfW9kodK2pGKf x8OGUW12jB3yqfpP9hh+am7EdtYTAEhp9f/tT0cZ2EFdyHfmcwsflqj5xCaad0cGmpjP mtRGD0k+6W6hjHMhurI8WaaL9HFqG98B2Tu3Y8OQVWPBzcQi6EiTejQHQ/xwQrGAhA7Y CEOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787108908; x=1787713708; h=content-type:mime-version:message-id:subject:cc:to:date:from :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to:content-type; bh=rXzKtO8OrurlIHWuszvLdX1cu4RIAlIwbm6k6jmZ/EA=; b=FPTTVtB3XpssOBYfGsn1Ahrkn9HmU/TJUD9AyXFGU2JvzJ0IbkKjfB2abx/LquW94F uUNRm9IZ7H35uT0/YlL+uPvwRTgl0iP18WN5kw3EoYo76XXSUNSiwXR4ODaJ6jHmnTTH BSIRmYI5N/YnjFjx+rCZg1GHzzNFX6VVYTy4FyDyazpkHX02ZHMZtfRFG0hchmOcHtTt OUJ1fQ9aYGIoGImImMmbnVq5H0i3f4JREo+MHMB7DHpzBsAOU5L6t0DoAWaU4beHiE0L 9XNuI0tjpI29QYRjSsKsbU45Xpq/dTFGK5S6vv6OtRWvYAKsujTf4kX9/hqzU7PvVeBz /sRg== X-Forwarded-Encrypted: i=1; AHgh+RooWSEwPDFFQ5cVmMwIMZD6+IQ4mt/S7IuOj30NK/pKgPa1uV4d81WlyYXzkmcY8TdJxZy3EMpLXUC1e0U=@vger.kernel.org X-Gm-Message-State: AOJu0YwWK1fHpmVhAF7RUEXtZE8xGqg4bm1qz9kXwwsyxvSSYvwDWMws vwIcpl+qBYgM/+s35WeQVTay4tH41/h1HKXI1Ija98ZYJtFcCpoM1PwOvx3q6H7Z X-Gm-Gg: AR+sD12XIe4gOB1hCP//1Fq2gfhcgfw2hhhHP6WES+sQqbwCksd26DZx9oYfEMexHsx rYRxvoxn7qz0sSL7qb12KFdQKjwrOyEBGrI0xh937+fWISHrxsCAStQhMEvRaRttQCOSwpiGDZV sEkfgFSqodETmg5OwBXguJ1tePYinRMcTQ/CT20RfNhYIzYTafSbx4TzoD8yDrx+zPeizydc9+V TdDK5QBlqHTN1KWir8sY9MrdDQd9TsHqFQaxPkY9mfXj8P07OliSFg0qqbuzoLF+YjrYkigfeF0 AArdrZqlAvdqZdD9P4TwfepywpW4xvuECfev3lOEd5B8VrwtrlqucridYgCQp7cxVyC1f2CR3fd twHRqBb/DoGu2H+lk6bXsSaycSWFFTEU6u+hShb06wQlfOPhNZILc9CyaXGIlYnbmTqLLMzxy9J AjhtBo3m358j2qDWV9LpbxGGxq0TSsHCRwHqAUt68UinBn0omybFXQ/Ofd X-Received: by 2002:a05:6a20:2d13:b0:3b2:a809:1000 with SMTP id adf61e73a8af0-3cd014aacfemr3505581637.3.1787108908068; Tue, 18 Aug 2026 20:08:28 -0700 (PDT) Received: from 192.168.1.6 ([140.213.202.182]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-327c2a92406sm127304eec.11.2026.08.18.20.08.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Aug 2026 20:08:27 -0700 (PDT) From: Foxie Flakey X-Google-Original-From: Foxie Flakey Date: Wed, 19 Aug 2026 10:08:24 +0700 (WIB) To: Andrew Morton , Mike Rapoport , Peter Xu , Suren Baghdasaryan cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH v3] userfaultfd: reset err to be 0 when move_pages_ptes succeeded Message-ID: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII During move_pages() operation, when move_pages_ptes() returns EAGAIN, the error code is not cleared even after we processed it. This leads to a successful retry but then the same pages are retried again due to the stale error code. This time move fails because pages are already moved, loop is terminated and move_pages() reports a failure. Clear the error code once we processes EAGAIN. Fixes: 50944692052b ("userfaultfd: opportunistic TLB-flush batching for present pages in MOVE") Assisted-by: ChatGPT:GPT-5.6-Luna Signed-off-by: Bryan Lim --- Changes in v3: - Updated to use proper sign off. Changes in v2: - Updated on description to be easier to understood - Reset err before retrying, instead of fixing right at the move_pages_ptes branch. - Added Assisted-by, received an answer few days ago from linux-newbies IRC that even I just used AI/LLM as "fast path" of git bisect. I still need to add it following https://docs.kernel.org/process/coding-assistants.html doc. --- mm/userfaultfd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c index c3adedaaf7d5..ec5d511bd179 100644 --- a/mm/userfaultfd.c +++ b/mm/userfaultfd.c @@ -2085,8 +2085,10 @@ static ssize_t move_pages(struct userfaultfd_ctx *ctx, unsigned long dst_start, } if (err) { - if (err == -EAGAIN) + if (err == -EAGAIN) { + err = 0; continue; + } break; } -- 2.55.0