From nobody Tue Dec 16 16:37:23 2025 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEADD22128B for ; Wed, 10 Dec 2025 20:01:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765396887; cv=none; b=jWAEcMRccHSgba+GNWLqV6v5d+1p+Z4SYWFkMgiFXy8viPtOPDaW2ixN1mr/D3MR2qRJcY2M1XuC6CSS7aCZ/RjQLV2UqSm8xaDgoEN8peYja+G5cphBR+jWgkovqtinZcWLlbJX8q9dc0xnl9gAf4ZXvjaBqktNVxjPLUhDWBY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765396887; c=relaxed/simple; bh=9lNlm3j+fSy9wQz6ZuaQWjtCR0vh1DpvT71w12klh7s=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=gl8tiaE32slIChPnv0L+CJmlI35m/o9qttOTl2jJXzZlNnWbuA0JQTXV/SZIx6IVv3rT68dY8YAGmpt53DeNn2rj8gN1CdKz4RFn6ywlAOymaGBzeY0KYsqhzhN/6V9fpeBASvZGq21hRxRTlJAno+pmANjqIs72OCxBAwasZbg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=H5p/G7wy; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=ethEPv/L; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="H5p/G7wy"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="ethEPv/L" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1765396884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=V9RbkySjzGfl0K9jXSqidi1BNCt8AnLcDnqFvp2ykS8=; b=H5p/G7wysKq3S7eimUr1SeQUC5An4OcEdzfcZtZqNOfHsOD9G78teZF8prqgihmbPeSINm 2s3UVB7OLDdCsa8JK2zSHy8L0zRWve6m9IsZYhCKLEF00n7KmzIEtn5miY91L96eg7hCSf S9zP2NEVFbvLOpEavWbiRCiTtAoHvWw= Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-130-TvHj3e7_OQe1_g7n8WWGZw-1; Wed, 10 Dec 2025 15:01:17 -0500 X-MC-Unique: TvHj3e7_OQe1_g7n8WWGZw-1 X-Mimecast-MFC-AGG-ID: TvHj3e7_OQe1_g7n8WWGZw_1765396876 Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-29e6b269686so4616555ad.1 for ; Wed, 10 Dec 2025 12:01:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1765396876; x=1766001676; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=V9RbkySjzGfl0K9jXSqidi1BNCt8AnLcDnqFvp2ykS8=; b=ethEPv/Ll62CCWSh0hfGQe1I+IuohT3MzAbW87vE82Evu8gZypHJtTUzZtEv963J4F XGRgXBUVEK35RkVd2KPdogHxaXpo0dAqikw8Bz81+Rh5VcGRPJW+zDldBjZZNVJ9vrWD ZdcDLanIPwI958TH12th8ja2dBb8IkTLsv/NtwvmEO8eZidEM5Kr53BYZyL/WArOIPGR 7hJakNsEaJO68txSS0H1aPUSGZiwqUibmw/aZqh0sBXZ9TIsKxjmzBR7QBPruCPzoidO Yfx5k2HcsfmZveuJfagbPyiLKLrOCfyE/wBh8/FzhyAZEo/In8GpmGV0r/LOYD2zm8P0 k8mQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765396876; x=1766001676; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=V9RbkySjzGfl0K9jXSqidi1BNCt8AnLcDnqFvp2ykS8=; b=ODWcwBAz5hqW0wfZils0oSGcZASjmQbPWtxWZA/gMq0vzdHAN4V91fqTPVfbqomepl Vpp7ibQJ6A5EqS6+zdTz8ZLyKJPum9BUrMSSfO1PBta31x5mNUy9XBYBvaD9Eh3hfuTe MNn2kmNUofRwoOfK7CNV5vFqBJ4aHAHWclQY/PKp+YuEWd1S9FXQBmo2tURB9awaH1Sd Qa/qTdsYEuvI8jxNWwFtKXGktRoUqdTC4hA+8EharwPp4YitZDaV7NGtFtYc4hGksB1y t+HCHOTdsCYmUnfX+/2xlGUbFdXfxfVsruF93fQGpZ6sh9StRjqiBYPUaUNAmh2SVZFg jNlw== X-Forwarded-Encrypted: i=1; AJvYcCWJjG347abb3xvSi7vDvX7/Hi+aHGAXvYTrqITSVvmuHPKhL00096F/j0jT2MVU6Al9jv3an7YPI60Pwjw=@vger.kernel.org X-Gm-Message-State: AOJu0YwfUs5J618jUKyH0KUiNvUd2qPdV3Lvr4fZN3uNzNEBtPfRVpgW ZpebTYmI7i8QCoKxJRCawQ+lVgFSFz6sv73PTS9rpy7ahbvUsuyCmpFVxWO3U7t4Zw0x067tpEQ kJsR2e8lfZt5AEgv2PFIvZq9tJaEF4SGaFMI/aB7aARU/dmbSW9s4cK2g+QoIhTJN X-Gm-Gg: AY/fxX5MMOvDvrr4w5f6iv8PM/NyrHFtZr/KsvheJvZDlD3Il/Rmv/QPmCleutY9UYU rkTGa0vgFDX1cOBmswd8+XzFkUWaRD+ONF9CN4Pjr7A7+QbefI/8Twl+WXX8Za7Vide/HmOWeAL ZNv+sw8M5+bN3GgJTQv3yk6ummQslXlN21XLKptV1Jbc1yOG+bf67V+c5JBIaq2h41CU33KSKWl svXixEabQcDr3A57CbIM6tDEVuwOOSnuwqNseiBm8DgH+PAS+IK2qDnY4xS+ye7JEhh3Hl1FMER ZCY0iotEG+fZEYG8h6b29GA1SBHxy4fQlX3kEgFDulJg9vStP2TiGSQOjJIPSyuIX5aSDxYNclo PDNoQTwKWmm3rpBurW8A6d/3OAsSSbKiKSI7mQQ== X-Received: by 2002:a17:903:3b8f:b0:295:8a09:bcf2 with SMTP id d9443c01a7336-29ec229b8bamr31841405ad.8.1765396876004; Wed, 10 Dec 2025 12:01:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IGrGjll388q8qWAtNsls6L1JpU1c2oP7akLc7evYgTdRMpha5cZhDbVRpAeZMgzYqyVmAu9gA== X-Received: by 2002:a17:903:3b8f:b0:295:8a09:bcf2 with SMTP id d9443c01a7336-29ec229b8bamr31841005ad.8.1765396875476; Wed, 10 Dec 2025 12:01:15 -0800 (PST) Received: from dkarn-thinkpadp16vgen1.punetw6.csb ([2402:e280:3e0d:a45:3861:8b7f:6ae1:6229]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29ee9b373d6sm1819395ad.13.2025.12.10.12.01.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Dec 2025 12:01:14 -0800 (PST) From: Deepakkumar Karn To: willy@infradead.org Cc: Andrew Morton , David Hildenbrand , Lorenzo Stoakes , Liam.Howlett@oracle.com, Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Jan Kara , linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Deepakkumar Karn Subject: [PATCH] pagemap: Add alert to mapping_set_release_always() for mapping with no release_folio Date: Thu, 11 Dec 2025 01:31:04 +0530 Message-ID: <20251210200104.262523-1-dkarn@redhat.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" AS_RELEASE_ALWAYS tells the memory management code to always call ->release_folio() when releasing a folio, even if it has no private data. Setting this flag without providing release_folio callback leads to try_to_free_buffers() being called on folios without buffer_heads, causing a NULL pointer dereference. Add a VM_WARN_ONCE() alert to mapping_set_release_always() to catch this programming error early and help prevent similar bugs in other filesystems. Suggested-by: Jan Kara Signed-off-by: Deepakkumar Karn --- include/linux/pagemap.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 31a848485ad9..cc352e87ac2d 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h @@ -296,6 +296,9 @@ static inline bool mapping_release_always(const struct = address_space *mapping) =20 static inline void mapping_set_release_always(struct address_space *mappin= g) { + /* Alert while setting the flag with no release_folio callback */ + VM_WARN_ONCE(!mapping->a_ops->release_folio, + "Setting AS_RELEASE_ALWAYS with no release_folio"); set_bit(AS_RELEASE_ALWAYS, &mapping->flags); } =20 --=20 2.52.0