From nobody Mon Feb 9 16:50:47 2026 Received: from mail-ej1-f74.google.com (mail-ej1-f74.google.com [209.85.218.74]) (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 1EF4A3A9DA3 for ; Thu, 5 Feb 2026 10:51:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.74 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288707; cv=none; b=mm+LX63ybxPXPapocnsAksM3Xg8CKFR9oxlILVO6mirK3Q82ThsOH+xoXf8Xm0OgcINtkKsEUibl80J4TpYWwsBSWETLk5YXuNR7IhEecvRaDEF5i2ViiaFw04EPb36zFAAu9qw0zPZPTfuuNVpaJiinEY5aGHbXKHiJxZ7Zx/Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770288707; c=relaxed/simple; bh=7nNbabhQli00eKYXyBEya1GgL6seGPzs0VSa7Ef6UeU=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=kF0S70Ch2eEctkpFzwf3ydoLXnPzuvdiykZ3K9buowChhHP4U0NWMjexCoSlncDOQcCmDew8k217hFijj/uBlBCBRDlx1lIgD1m3ZqQul0maNPLlrTLIav+2rdMS3a9mWMVpda4vXq3NX2G94B1NR04PfBRZwvDvVZpU/i83eRk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=HMvBOGpX; arc=none smtp.client-ip=209.85.218.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--aliceryhl.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="HMvBOGpX" Received: by mail-ej1-f74.google.com with SMTP id a640c23a62f3a-b8773bf3ddbso80332666b.1 for ; Thu, 05 Feb 2026 02:51:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1770288705; x=1770893505; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=AP/JFqXWkX3OpU6TUDwkTdWwj0hDDWhh2cwk4JKQ6LM=; b=HMvBOGpXSjah3Hqt5NzouuDxnE+K80hYBkMpaxDxUdYBE0Zl8xQkre1/EAeAZsviGR onB5bRnfYalzo4pMZbX1oZbYb9wwYfSgSm1TZs3+79EoYgSjNVJj+wuUVg+XQrWVwLOd cqI6nCf3QN0GYokbEg0sA/SosNsuefQkX8ssQTtrL0fnqIZqpo0ExKLY98Wf7FPPPlqu p5fvOWVSXzk74MtHl0LiTssE0DcSJwwggNJWuSc+nQbFo9ddF9O2UroNHHkibK6Wuujx QzvDS77Yu/nm4gCO4U0/j2n2Mk4FpphRppcE7CsAKp7ha+0t9kBa5OMVz4alZnK4ZqqY gq9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770288705; x=1770893505; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=AP/JFqXWkX3OpU6TUDwkTdWwj0hDDWhh2cwk4JKQ6LM=; b=QAr2LGCFYCwulibXNkLQYLb2jQG8ARQn6ZSxeB8uVYZ76dsDyi0Fkx4qKno4cXPAp6 eUVtAKkDFdw5h0TMljMnHSbSvlnrsyKinTflsKycvYWcAOmNv3ASTsaqO+5EwhX7ZOhM tKehHLAuGv+vx/I725WXxfDf9y20Qr/Tp0H0OXFLrlqVNS1Xx2bp92J8U7TeXW+5VkbJ HJspQ01RxLpMmwoGM/AoiA18RwAZoB/CoQUp6ZXd8o8U3O4lc4+68fjs90yh56SjbF3c gG3SyubQgzlIKAY8XDJxMPi6d8+ijpLvfAcpbLl9TcQNnoA9UJT2hsNH48gEsfeToCNL jfjQ== X-Forwarded-Encrypted: i=1; AJvYcCWPU8kzuP18n6lEgFDPawLjCeq77OAs7F/FhR+saV8qPCWg9fBKbMtvdUzQdVG+E1nss8NCnDfenRXmwdo=@vger.kernel.org X-Gm-Message-State: AOJu0YyB/zyX1fbUFsjWGP1kcdGcGYwNs7Akxl2ZVk4v9DdE0JV6pUjH Npe2gpS9I93JSX7cirUZ35KJLp5QqDMFL+1a8Sj2kqGbI5Iisjkay4iAai32QB7KI9R6MLG1QfC NzXbYLXSRTWjh1xVbyQ== X-Received: from edxv16.prod.google.com ([2002:a05:6402:1750:b0:640:f53e:dd40]) (user=aliceryhl job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6402:1ed5:b0:659:408e:b7e6 with SMTP id 4fb4d7f45d1cf-65949ecd24emr3465734a12.29.1770288705209; Thu, 05 Feb 2026 02:51:45 -0800 (PST) Date: Thu, 05 Feb 2026 10:51:28 +0000 In-Reply-To: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260205-binder-tristate-v1-0-dfc947c35d35@google.com> X-Developer-Key: i=aliceryhl@google.com; a=openpgp; fpr=49F6C1FAA74960F43A5B86A1EE7A392FDE96209F X-Developer-Signature: v=1; a=openpgp-sha256; l=1866; i=aliceryhl@google.com; h=from:subject:message-id; bh=7nNbabhQli00eKYXyBEya1GgL6seGPzs0VSa7Ef6UeU=; b=owEBbQKS/ZANAwAKAQRYvu5YxjlGAcsmYgBphHY4GykYgqnAddZwhAJstuhv/o/aLQBkNGp9h QcRdesjbOWJAjMEAAEKAB0WIQSDkqKUTWQHCvFIvbIEWL7uWMY5RgUCaYR2OAAKCRAEWL7uWMY5 Rq6YD/wKnkqeQiAcPzLSP8eM33RuuO4YudSw/EWJpzvDVL2FRsvqG+V2wVizffdP/6LYRWB/v6p Jqxwl3WBoPazV6eYFmbQ7WkUae/bNPfKpw2rRI+GxtPrA0EXUWSHDGB0bCp3kpDiWkIW9piV+jc zyAyp192j/gCxBD9q5VGxNqj3fglu4FV2cwElNzQIPs3nL+6cljxCnHhUAuzD1oSAYWZqAkuAsT MqEzlL5SSG2Rfiwbmhejf/KqCgG9blnH33kNdm3KehQq321SPc6PgGPT50jqjD3ay4+dmITJvnQ wOPK+VLCMD+OsMCS/P9DqxPhY7KXw6hQPtDyqRyI1jaGiHSj/7gj3OdnaZ3Bfux2anW+MdT5lRj ACUeamuoq1SUSCgNh2Vn7wSbZQMaYKsvyUfk6Mh/qK/OlkHOM/tVGClAsne/JWWu1WdhIy6UqrW rViiGmDhW/0oqW+hkQuWxEGoGRQWErMDsiWkA5VuMf/eh4LogZDWpEqKFr0ZQYv3G204RGVoRdR HzwRdgPSztNDiMJUf3XdQ8l4/BWYvULyzliWBh8Bav+Ia+fRIw8T84VjQJWazB68y1lXSTqSzVj YlhURKpOqlpm9XqDLSINCdFRkmGY0keD/CPIvSuvRKsQcd3rcnRoub0YtmTklMJCkMXUvre3Jze jjS185bhgckt4IQ== X-Mailer: b4 0.14.2 Message-ID: <20260205-binder-tristate-v1-3-dfc947c35d35@google.com> Subject: [PATCH 3/5] mm: export zap_page_range_single and list_lru_add/del From: Alice Ryhl To: Greg Kroah-Hartman , Carlos Llamas Cc: Alexander Viro , Christian Brauner , Jan Kara , Paul Moore , James Morris , "Serge E. Hallyn" , Andrew Morton , Dave Chinner , Qi Zheng , Roman Gushchin , Muchun Song , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Miguel Ojeda , Boqun Feng , Gary Guo , "=?utf-8?q?Bj=C3=B6rn_Roy_Baron?=" , Benno Lossin , Andreas Hindborg , Trevor Gross , Danilo Krummrich , kernel-team@android.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, linux-mm@kvack.org, rust-for-linux@vger.kernel.org, Alice Ryhl Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable These are the functions needed by Binder's shrinker. Binder uses zap_page_range_single in the shrinker path to remove an unused page from the mmap'd region. Note that pages are only removed from the mmap'd region lazily when shrinker asks for it. Binder uses list_lru_add/del to keep track of the shrinker lru list, and it can't use _obj because the list head is not stored inline in the page actually being lru freed, so page_to_nid(virt_to_page(item)) on the list head computes the nid of the wrong page. Signed-off-by: Alice Ryhl Acked-by: David Hildenbrand (arm) --- mm/list_lru.c | 2 ++ mm/memory.c | 1 + 2 files changed, 3 insertions(+) diff --git a/mm/list_lru.c b/mm/list_lru.c index ec48b5dadf519a5296ac14cda035c067f9e448f8..bf95d73c9815548a19db6345f85= 6cee9baad22e3 100644 --- a/mm/list_lru.c +++ b/mm/list_lru.c @@ -179,6 +179,7 @@ bool list_lru_add(struct list_lru *lru, struct list_hea= d *item, int nid, unlock_list_lru(l, false); return false; } +EXPORT_SYMBOL_GPL(list_lru_add); =20 bool list_lru_add_obj(struct list_lru *lru, struct list_head *item) { @@ -216,6 +217,7 @@ bool list_lru_del(struct list_lru *lru, struct list_hea= d *item, int nid, unlock_list_lru(l, false); return false; } +EXPORT_SYMBOL_GPL(list_lru_del); =20 bool list_lru_del_obj(struct list_lru *lru, struct list_head *item) { diff --git a/mm/memory.c b/mm/memory.c index da360a6eb8a48e29293430d0c577fb4b6ec58099..64083ace239a2caf58e1645dd5d= 91a41d61492c4 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2168,6 +2168,7 @@ void zap_page_range_single(struct vm_area_struct *vma= , unsigned long address, zap_page_range_single_batched(&tlb, vma, address, size, details); tlb_finish_mmu(&tlb); } +EXPORT_SYMBOL(zap_page_range_single); =20 /** * zap_vma_ptes - remove ptes mapping the vma --=20 2.53.0.rc2.204.g2597b5adb4-goog