)]}'
{
  "commit": "de8a725ea529e8519d781b87f628e54590d18063",
  "tree": "339ce8e0b541f4961a78623b068e6d5d5a94b55e",
  "parents": [
    "85030efcf90a775f07453d7eab835681c0ad7187"
  ],
  "author": {
    "name": "Li Pengfei",
    "email": "ljdlns1987@gmail.com",
    "time": "Sun Nov 08 13:44:58 2026 +0800"
  },
  "committer": {
    "name": "Steven Rostedt",
    "email": "rostedt@goodmis.org",
    "time": "Sun Nov 08 02:41:17 2026 -0500"
  },
  "message": "libtracefs: Pass the pipe size by value to F_SETPIPE_SZ\n\nF_SETPIPE_SZ takes the new size as the argument itself, but init_splice()\npasses a pointer to it.  The kernel takes that argument as an unsigned int,\nso the pointer is truncated to its low 32 bits and used as the size.  That\nusually fails, leaving the pipe at the default 64K, so a sub buffer larger\nthan that no longer fits in one splice() and the recorders lose data.  It\ncan also succeed at an unrelated size with no error to notice.\n\nFailing here stays non fatal, as an unprivileged caller cannot raise a pipe\nabove /proc/sys/fs/pipe-max-size and the default size still records.\n\nWhile here, drop the third argument from the F_GETPIPE_SZ call next to it.\nThat command takes no argument and returns the size, so the pointer was\nnever read and the return value was already being used.  The branch it fed\nwas unreachable: F_GETPIPE_SZ never returns zero on success.\n\nLink: https://lore.kernel.org/20261108054458.217842-1-lipengfei28@xiaomi.com\nFixes: e34cbd83f6d3 (\"libtracefs: Increase splice to use pipe max size\")\nSigned-off-by: Li Pengfei \u003clipengfei28@xiaomi.com\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "21a2f6bd2bf4856eb7c1a4b4e54f78d4a24e793f",
      "old_mode": 33188,
      "old_path": "src/tracefs-record.c",
      "new_id": "f5197c458c07f0a480bf5b4ce3e1afe8045364f0",
      "new_mode": 33188,
      "new_path": "src/tracefs-record.c"
    }
  ]
}
