2026-05-06 11:32CVE-2025-71295Linux
PUBLISHED5.2

fs/buffer: add alert in try_to_free_buffers() for folios without buffers

In the Linux kernel, the following vulnerability has been resolved:

fs/buffer: add alert in try_to_free_buffers() for folios without buffers

try_to_free_buffers() can be called on folios with no buffers attached

when filemap_release_folio() is invoked on a folio belonging to a mapping

with AS_RELEASE_ALWAYS set but no release_folio operation defined.

In such cases, folio_needs_release() returns true because of the

AS_RELEASE_ALWAYS flag, but the folio has no private buffer data. This

causes try_to_free_buffers() to call drop_buffers() on a folio with no

buffers, leading to a null pointer dereference.

Adding a check in try_to_free_buffers() to return early if the folio has no

buffers attached, with WARN_ON_ONCE() to alert about the misconfiguration.

This provides defensive hardening.

Affected products

Linux

Linux

< 1b111a69a6e33a922622bf9870e4e63fb2b649c8 - AFFECTED

< c1b6227555c52781178132b7a06466711855795c - AFFECTED

< 727e5140e0cf83b4ce6a11b89bb73bff5d96f8f3 - AFFECTED

< 42c32d7571ccd8ef32351cac506f00b0fae99fd2 - AFFECTED

< c6246ca15999053d2632fbcc7b86e6eef7f077cb - AFFECTED

< b68f91ef3b3fe82ad78c417de71b675699a8467c - AFFECTED

Linux

6.6 - AFFECTED

< 6.6 - UNAFFECTED

<= 6.1.* - UNAFFECTED

<= 6.6.* - UNAFFECTED

<= 6.12.* - UNAFFECTED

<= 6.18.* - UNAFFECTED

<= 6.19.* - UNAFFECTED

<= * - UNAFFECTED

References

GitHub Security Advisories

GHSA-hv9q-ch73-572p

In the Linux kernel, the following vulnerability has been resolved: fs/buffer: add alert in...

https://github.com/advisories/GHSA-hv9q-ch73-572p

In the Linux kernel, the following vulnerability has been resolved:

fs/buffer: add alert in try_to_free_buffers() for folios without buffers

try_to_free_buffers() can be called on folios with no buffers attached when filemap_release_folio() is invoked on a folio belonging to a mapping with AS_RELEASE_ALWAYS set but no release_folio operation defined.

In such cases, folio_needs_release() returns true because of the AS_RELEASE_ALWAYS flag, but the folio has no private buffer data. This causes try_to_free_buffers() to call drop_buffers() on a folio with no buffers, leading to a null pointer dereference.

Adding a check in try_to_free_buffers() to return early if the folio has no buffers attached, with WARN_ON_ONCE() to alert about the misconfiguration. This provides defensive hardening.

JSON source

https://cveawg.mitre.org/api/cve/CVE-2025-71295
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2025-71295",
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "dateUpdated": "2026-05-11T21:57:26.207Z",
    "dateReserved": "2026-05-06T11:31:45.510Z",
    "datePublished": "2026-05-06T11:32:25.917Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux",
        "dateUpdated": "2026-05-11T21:57:26.207Z"
      },
      "title": "fs/buffer: add alert in try_to_free_buffers() for folios without buffers",
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs/buffer: add alert in try_to_free_buffers() for folios without buffers\n\ntry_to_free_buffers() can be called on folios with no buffers attached\nwhen filemap_release_folio() is invoked on a folio belonging to a mapping\nwith AS_RELEASE_ALWAYS set but no release_folio operation defined.\n\nIn such cases, folio_needs_release() returns true because of the\nAS_RELEASE_ALWAYS flag, but the folio has no private buffer data. This\ncauses try_to_free_buffers() to call drop_buffers() on a folio with no\nbuffers, leading to a null pointer dereference.\n\nAdding a check in try_to_free_buffers() to return early if the folio has no\nbuffers attached, with WARN_ON_ONCE() to alert about the misconfiguration.\nThis provides defensive hardening."
        }
      ],
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "programFiles": [
            "fs/buffer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "d0eafc763135508be118dac208887a26c0adb74d",
              "status": "affected",
              "versionType": "git",
              "lessThan": "1b111a69a6e33a922622bf9870e4e63fb2b649c8"
            },
            {
              "version": "b4fa966f03b7401ceacd4ffd7227197afb2b8376",
              "status": "affected",
              "versionType": "git",
              "lessThan": "c1b6227555c52781178132b7a06466711855795c"
            },
            {
              "version": "b4fa966f03b7401ceacd4ffd7227197afb2b8376",
              "status": "affected",
              "versionType": "git",
              "lessThan": "727e5140e0cf83b4ce6a11b89bb73bff5d96f8f3"
            },
            {
              "version": "b4fa966f03b7401ceacd4ffd7227197afb2b8376",
              "status": "affected",
              "versionType": "git",
              "lessThan": "42c32d7571ccd8ef32351cac506f00b0fae99fd2"
            },
            {
              "version": "b4fa966f03b7401ceacd4ffd7227197afb2b8376",
              "status": "affected",
              "versionType": "git",
              "lessThan": "c6246ca15999053d2632fbcc7b86e6eef7f077cb"
            },
            {
              "version": "b4fa966f03b7401ceacd4ffd7227197afb2b8376",
              "status": "affected",
              "versionType": "git",
              "lessThan": "b68f91ef3b3fe82ad78c417de71b675699a8467c"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "programFiles": [
            "fs/buffer.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "6.6",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "6.6"
            },
            {
              "version": "6.1.165",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.128",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.75",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.18.16",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "6.19.6",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.19.*"
            },
            {
              "version": "7.0",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/1b111a69a6e33a922622bf9870e4e63fb2b649c8"
        },
        {
          "url": "https://git.kernel.org/stable/c/c1b6227555c52781178132b7a06466711855795c"
        },
        {
          "url": "https://git.kernel.org/stable/c/727e5140e0cf83b4ce6a11b89bb73bff5d96f8f3"
        },
        {
          "url": "https://git.kernel.org/stable/c/42c32d7571ccd8ef32351cac506f00b0fae99fd2"
        },
        {
          "url": "https://git.kernel.org/stable/c/c6246ca15999053d2632fbcc7b86e6eef7f077cb"
        },
        {
          "url": "https://git.kernel.org/stable/c/b68f91ef3b3fe82ad78c417de71b675699a8467c"
        }
      ]
    }
  }
}