{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-64164",
  "modified": "2026-10-07T14:35:31Z",
  "upstream": [
    "CVE-2026-64164"
  ],
  "published": "2026-07-19T15:41:06Z",
  "summary": "btrfs: tracepoints: fix sleep while in atomic context in btrfs_sync_file()",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: tracepoints: fix sleep while in atomic context in btrfs_sync_file()\n\nThe trace event btrfs_sync_file() is called in an atomic context (all trace\nevents are) and its call to dput(), which is needed due to the call to\ndget_parent(), can sleep, triggering a kernel splat.\n\nThis can be reproduced by enabling the trace event and running btrfs/056\nfrom fstests for example. The splat shown in dmesg is the following:\n\n  [53.919] BUG: sleeping function called from invalid context at fs/dcache.c:970\n  [53.947] in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 32773, name: xfs_io\n  [53.988] preempt_count: 2, expected: 0\n  [53.967] RCU nest depth: 0, expected: 0\n  [53.943] Preemption disabled at:\n  [53.944] [<0000000000000000>] 0x0\n  [54.078] CPU: 0 UID: 0 PID: 32773 Comm: xfs_io Tainted: G        W           7.1.0-rc1-btrfs-next-232+ #1 PREEMPT(full)\n  [54.070] Tainted: [W]=WARN\n  [54.071] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014\n  [54.072] Call Trace:\n  [54.074]  <TASK>\n  [54.076]  dump_stack_lvl+0x56/0x80\n  [54.079]  __might_resched.cold+0xd6/0x10f\n  [54.072]  dput.part.0+0x24/0x110\n  [54.078]  trace_event_raw_event_btrfs_sync_file+0x75/0x140 [btrfs]\n  [54.089]  btrfs_sync_file+0x1ed/0x530 [btrfs]\n  [54.087]  ? __handle_mm_fault+0x8ae/0xed0\n  [54.089]  btrfs_do_write_iter+0x172/0x210 [btrfs]\n  [54.091]  vfs_write+0x21f/0x450\n  [54.094]  __x64_sys_pwrite64+0x8d/0xc0\n  [54.096]  ? do_user_addr_fault+0x20c/0x670\n  [54.099]  do_syscall_64+0x60/0xf20\n  [54.092]  ? clear_bhb_loop+0x60/0xb0\n  [54.094]  entry_SYSCALL_64_after_hwframe+0x76/0x7e\n\nSo stop using dget_parent() and dput() and access the parent dentry\ndirectly as dentry->d_parent. This is also what ext4 is doing in\nits equivalent trace event ext4_sync_file_enter().",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.12.87-1+rpt1~bookworm"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-2712",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v6",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v7",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v7l",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v8",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          },
          {
            "binary_name": "linux-image-6.12.87+rpt-rpi-v8-rt",
            "binary_version": "1:6.12.87-1+rpt1~bookworm"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.12.87-1+rpt1~bookworm": {
            "linux_commit": "ae4d75fb36deba0fe1a986d9bfae65755e082dd0",
            "upstream_version": "6.12.87",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.12.92"
          }
        }
      }
    },
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:13",
        "name": "linux"
      },
      "versions": [
        "1:6.18.29-1+rpt1",
        "1:6.18.33-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-2712",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-v6",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-v7",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-v8",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.29+rpt-rpi-v8-rt",
            "binary_version": "1:6.18.29-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-2712",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-v6",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-v7",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-v8",
            "binary_version": "1:6.18.33-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.18.33+rpt-rpi-v8-rt",
            "binary_version": "1:6.18.33-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.18.29-1+rpt1": {
            "linux_commit": "66318c5b5cd8145a662303af12ed39ac07eb27cc",
            "upstream_version": "6.18.29",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.34"
          },
          "1:6.18.33-1+rpt1": {
            "linux_commit": "95b85bebbedcaedfa7ca79116ed38b7376fba412",
            "upstream_version": "6.18.33",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.18.34"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-64164"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/d78b0a80eac36879ef5478707135c446920e134b"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/4361954f0e158af0530caa1e57f12b531be4658f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/6279992c9ba2774901c9d4dd4a481162e2534714"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/26b2290baaf6da6add0f782a100766e686a33f4f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/12a0487945c09760a5968d9333383014ea294117"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c32a7e0e3c73c1c0768556a56bd78de9f7b83780"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/0a96d9a85cd2240481297156b9bb72e10b7a8036"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c73370c677646e86fc4b1780fb07027bdf847375"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-07-19T15:41:06Z"
  }
}
