)]}'
{
  "log": [
    {
      "commit": "5e3f016beff43cc0dfd3649f75cb6d0d19748f49",
      "tree": "272e488201fdd130e64dd5458b50cc01cb9ea4b9",
      "parents": [
        "8eda8f9566094c6503c96b704985f6bf99983c1c"
      ],
      "author": {
        "name": "Abhinav Agarwal",
        "email": "abhinavagarwal1996@gmail.com",
        "time": "Wed Apr 15 11:58:55 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Jun 10 11:02:18 2026 +0200"
      },
      "message": "fusermount: Reject invalid negative mount_max in fuse.conf\n\nmount_max is parsed with %i (signed) from /etc/fuse.conf. The value\n-1 is the documented sentinel for \"no limit\", but any other negative\nvalue (e.g., -2 from a typo) passes the mount_max !\u003d -1 guard and\nmakes the mount_count \u003e\u003d mount_max comparison always true, blocking\nall non-root FUSE mounts.\n\nReject values below -1 with a warning rather than silently accepting\nthem.\n\nSigned-off-by: Abhinav Agarwal \u003cabhinavagarwal1996@gmail.com\u003e\n"
    },
    {
      "commit": "8eda8f9566094c6503c96b704985f6bf99983c1c",
      "tree": "f9aae50bb1bf3861dea09bad3bc084a5a41f4085",
      "parents": [
        "ee093d226cf4ecf4a97b768b3d631115225cc4db"
      ],
      "author": {
        "name": "Abhinav Agarwal",
        "email": "abhinavagarwal1996@gmail.com",
        "time": "Wed Apr 15 11:58:29 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Jun 10 11:02:18 2026 +0200"
      },
      "message": "fusermount: Guard trailing comma removal against empty string\n\nget_mnt_opts() accesses (*mnt_optsp)[l-1] without checking that\nl \u003e 0. If the option string is empty (reachable via read-only mount\nwith no additional options), this is an out-of-bounds read at\nindex -1.\n\nSigned-off-by: Abhinav Agarwal \u003cabhinavagarwal1996@gmail.com\u003e\n"
    },
    {
      "commit": "ee093d226cf4ecf4a97b768b3d631115225cc4db",
      "tree": "cb4976ce960c4e518fca7a4c4543443ff8e51f7d",
      "parents": [
        "efa6c4c8bed7bc0b1951314a0e6afe7f67360927"
      ],
      "author": {
        "name": "Abhinav Agarwal",
        "email": "abhinavagarwal1996@gmail.com",
        "time": "Wed Apr 15 11:58:03 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Jun 10 11:02:18 2026 +0200"
      },
      "message": "iconv: Fix copy-paste error checking wrong iconv descriptor\n\nAfter opening the fromfs iconv descriptor, the error check on line 725\ntests ic-\u003etofs (already verified above) instead of ic-\u003efromfs. A failed\niconv_open for the fromfs direction is silently ignored, leaving an\ninvalid descriptor that causes undefined behavior in iconv_convpath.\n\nSigned-off-by: Abhinav Agarwal \u003cabhinavagarwal1996@gmail.com\u003e\n"
    },
    {
      "commit": "efa6c4c8bed7bc0b1951314a0e6afe7f67360927",
      "tree": "b26020a1ce346ebe99c09aefeef90f5e0c84382f",
      "parents": [
        "0d037dbe2b75f16b252a6e7a52f2d25746c5d403"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun Apr 05 22:49:09 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 16:47:20 2026 +0200"
      },
      "message": "Fix BaseException catch in test files\n\nReplace bare except clauses with \u0027except Exception\u0027 to avoid\ncatching system-exiting exceptions like KeyboardInterrupt and\nSystemExit, which should not be suppressed.\n\nFixes: GitHub CodeQL Alerts #15, #16, #17\nRule: py/catch-base-exception\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "0d037dbe2b75f16b252a6e7a52f2d25746c5d403",
      "tree": "04404765ab0fef13517e41daa7a1def37936f0bf",
      "parents": [
        "80a6fb3e22e3afa827a6f8ffb7d2fc3a9fef6c7f"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun Apr 05 22:48:26 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 16:47:20 2026 +0200"
      },
      "message": "Fix file not closed in test_examples.py\n\nUse \u0027with\u0027 statements to ensure files are properly closed even\nwhen exceptions are raised during pytest.raises() contexts.\n\nFixes: GitHub CodeQL Alerts #18, #19\nRule: py/file-not-closed\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "80a6fb3e22e3afa827a6f8ffb7d2fc3a9fef6c7f",
      "tree": "e0d2b8ce45406b9bc1018510fe4c01d5d85e2cd0",
      "parents": [
        "2ac23c29e07ec74c558a78acb5fd345a9c22429c"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun Apr 05 22:47:58 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 16:47:20 2026 +0200"
      },
      "message": "Fix mixed returns in test/util.py\n\nAdd explicit return statement to test_printcap() to avoid mixing\nimplicit and explicit returns. This improves code clarity.\n\nFixes: GitHub CodeQL Alert #20\nRule: py/mixed-returns\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "2ac23c29e07ec74c558a78acb5fd345a9c22429c",
      "tree": "ac62b181764d234288f64989f1115eafe48d29b2",
      "parents": [
        "5f2e14d8c6099fc83ac68a5394a852530687e367"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun Apr 05 22:47:30 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 16:47:20 2026 +0200"
      },
      "message": "Fix default parameter mutation in test_examples.py\n\nReplace mutable default parameter with function attribute to avoid\nmodifying default value. This prevents unexpected behavior and\nfollows Python best practices.\n\nFixes: GitHub CodeQL Alert #21\nRule: py/modification-of-default-value\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "5f2e14d8c6099fc83ac68a5394a852530687e367",
      "tree": "471e4fd5365821f8f65ed37a8d29efe75051ac39",
      "parents": [
        "65afaab71a6d80930dbdd54e0b8028c9930d109a"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun Apr 05 22:47:05 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 16:47:20 2026 +0200"
      },
      "message": "Fix assert statements with side effects in test_examples.py\n\nMove subprocess.check_output() and proc.wait() calls out of assert\nstatements to avoid side effects being optimized away when running\nwith Python optimization enabled.\n\nFixes: GitHub CodeQL Alerts #22-27\nRule: py/side-effect-in-assert\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "65afaab71a6d80930dbdd54e0b8028c9930d109a",
      "tree": "efa55ffbf6303a1d163da911e4eb6886e48d8bfd",
      "parents": [
        "baebe3cde9519f25574ec3fdcc829d01b5ffdd51"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun Apr 05 23:06:39 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 16:47:20 2026 +0200"
      },
      "message": "Fix unbounded strcpy/strcat in mount.fuse.c\n\nReplace strcpy() with strncpy() and strcat() with strncat().\nEnsure null-termination after bounded operations.\n\nFixes: GitHub CodeQL Alert #104, #105\nCWE-120, CWE-787, CWE-805\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "baebe3cde9519f25574ec3fdcc829d01b5ffdd51",
      "tree": "b12af6daab997ec87690a33de51c0a9024f4ffaf",
      "parents": [
        "6b3123617b026a19fc048b3d71d8707212acf98e"
      ],
      "author": {
        "name": "Alexander Mikhalitsyn",
        "email": "aleksandr.mikhalitsyn@futurfusion.io",
        "time": "Tue May 12 15:28:30 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 13:13:19 2026 +0200"
      },
      "message": "fuse: prevent possible fuse_pollhandle leak\n\nDocumentation for poll() callback says that:\n\u003e The callee is responsible for destroying ph with\n\u003e fuse_pollhandle_destroy() when no longer in use.\n\nIn fuse_lib_poll() ((struct fuse_lowlevel_ops*)-\u003epoll) we need to be more\ncareful:\n\n1. If get_path_nullok() fails, we need to free fuse_pollhandle\n2. If we passed execution down to fuse_fs_poll(), then\nit must release fuse_pollhandle resources when no\n(struct fuse_operations*)-\u003epoll provided by the filesystem driver.\n\nFound this by myself while reading the code as a part of [1] review.\n\nThis is not critical at all, because once we return ENOSYS once,\nkernel never sends FUSE_POLL again. So memleak is unnoticable in practice.\nAlternatively, we can leak if get_path_nullok() fails all the time, but\nthen we are in a much more serious troubles...\n\nLink: https://github.com/lxc/lxcfs/pull/726 [1]\nSigned-off-by: Alexander Mikhalitsyn \u003caleksandr.mikhalitsyn@futurfusion.io\u003e\n"
    },
    {
      "commit": "6b3123617b026a19fc048b3d71d8707212acf98e",
      "tree": "6406802ec38fac907681fe61151ed437c1e27994",
      "parents": [
        "0b1cd7b5e7f0a29bcb9a9625aebc1d5a8ba66388"
      ],
      "author": {
        "name": "kchen",
        "email": "kchen@ddn.com",
        "time": "Mon May 18 09:26:37 2026 +0000"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Jun 09 11:53:41 2026 +0200"
      },
      "message": "fuse_lowlevel: add security context extension parsing and iterator API\n\nAdd support for parsing FUSE_SECCTX extensions sent by the kernel\nduring file creation operations. This allows userspace filesystems\nto receive and persist SELinux/AppArmor security labels on newly\ncreated files.\n\nAdd example in passthrough_hp: When creating a file, iterates the fuse\nreq extension security contexts to find the SELinux security label and\napply it.\n\nSigned-off-by: Kevin Chen \u003ckchen@ddn.com\u003e\n"
    },
    {
      "commit": "0b1cd7b5e7f0a29bcb9a9625aebc1d5a8ba66388",
      "tree": "262c786ceecb8a0f5e37cc1ebf1e73d9e64f55f1",
      "parents": [
        "183e21e23b09c9208990eeb16e07f55924ac0eb8"
      ],
      "author": {
        "name": "mannkafai",
        "email": "kafai.wan@hotmail.com",
        "time": "Mon Jun 08 03:24:40 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 21:24:40 2026 +0200"
      },
      "message": "test: Use pytest tmpdir on non-FreeBSD platforms (#1516)\n\ntest: Make short_tmpdir respect pytest --basetemp\n\nWhen running libfuse tests in a QEMU-based vmtest environment,\ntest_passthrough fails with a PermissionError because the guest\nrestricts operations under /tmp:\n\n  FAILED test/test_examples.py::test_passthrough[False-passthrough-False]\n  PermissionError: [Errno 1] Operation not permitted:\n  \u0027/tmp/tmp4veumkm0/mnt/tmp/tmp4veumkm0/src/testfile_16\u0027\n\nThe short_tmpdir fixture used the custom raii_tmpdir wrapper which\ncalls tempfile.mkdtemp() and always places directories under /tmp,\nignoring pytest\u0027s --basetemp option. Since --basetemp is used to\nrelocate temporary directories to a writable location in QEMU guests,\nthe fixture prevents the workaround from taking effect.\n\nFix it by making raii_tmpdir accept an optional dir argument and\nhaving short_tmpdir check whether --basetemp was passed. When\n--basetemp is set, create the temporary directory under its resolved\npath obtained via tmp_path_factory.getbasetemp(). Without --basetemp,\nfall back to the original behavior to keep paths short enough for\nAF_UNIX sun_path limits (104 bytes on FreeBSD/macOS, 108 on Linux).\n\nSigned-off-by: KaFai Wan \u003ckafai.wan@linux.dev\u003e"
    },
    {
      "commit": "183e21e23b09c9208990eeb16e07f55924ac0eb8",
      "tree": "0b67ae34cb30b455dca4c9467f835440cc894701",
      "parents": [
        "1cb5878d263183d80baf83186e1ca3e0c091e8ab"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 31 23:48:53 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat Jun 06 10:15:20 2026 +0200"
      },
      "message": "Document security and other extension format\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "1cb5878d263183d80baf83186e1ca3e0c091e8ab",
      "tree": "f9671a6ad2ee874dfbbb52cb5f9c8ac760a51377",
      "parents": [
        "44a1f759c2b9175fcc5e98d12162bb22cc40c980"
      ],
      "author": {
        "name": "wilkis",
        "email": "marvin+github@alruno.eu",
        "time": "Sat Jun 06 10:09:15 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 10:09:15 2026 +0200"
      },
      "message": "Update homepage at man page (#1511)\n\nSigned-off-by: wilkis \u003cmarvin@alruno.eu\u003e"
    },
    {
      "commit": "44a1f759c2b9175fcc5e98d12162bb22cc40c980",
      "tree": "5eb7ce1723e77f52e1fe1457c709903b4665b450",
      "parents": [
        "66b74e90ec0eeefde67c585e35e654bd1921f982"
      ],
      "author": {
        "name": "Benjamin Peterson",
        "email": "benjamin@python.org",
        "time": "Fri Jun 05 07:56:39 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri Jun 05 19:09:46 2026 +0200"
      },
      "message": "fuse_uring: remove unused numa_node struct member\n\nSigned-off-by: Benjamin Peterson \u003cbenjamin@engflow.com\u003e\n"
    },
    {
      "commit": "66b74e90ec0eeefde67c585e35e654bd1921f982",
      "tree": "d1b9d8aeb24e3ae78fcc830795235471cb03b736",
      "parents": [
        "0a257c0b907f0c0c1696b4b22481f74d75f62a33"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 03 11:21:30 2026 +0000"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Jun 03 14:32:51 2026 +0200"
      },
      "message": "build(deps): bump actions/checkout from 6.0.2 to 6.0.3\n\nBumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 6.0.3.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)\n\n---\nupdated-dependencies:\n- dependency-name: actions/checkout\n  dependency-version: 6.0.3\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "0a257c0b907f0c0c1696b4b22481f74d75f62a33",
      "tree": "391c9b8b86bd718fbfa20a3a27c1e19816694975",
      "parents": [
        "ba68751e565afaeaa5018d40e1815569d928a5c7"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Wed Jun 03 11:21:34 2026 +0000"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Jun 03 14:32:21 2026 +0200"
      },
      "message": "build(deps): bump vmactions/freebsd-vm from 1.4.5 to 1.4.6\n\nBumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.5 to 1.4.6.\n- [Release notes](https://github.com/vmactions/freebsd-vm/releases)\n- [Commits](https://github.com/vmactions/freebsd-vm/compare/d1e65811565151536c0c894fff74f06351ed26e6...a6de9343ef5747433d9c25784c90e84998b9d69a)\n\n---\nupdated-dependencies:\n- dependency-name: vmactions/freebsd-vm\n  dependency-version: 1.4.6\n  dependency-type: direct:production\n  update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e"
    },
    {
      "commit": "ba68751e565afaeaa5018d40e1815569d928a5c7",
      "tree": "20e9692da891263202362c0ccd16e9c5c299d25e",
      "parents": [
        "b71dd2629ff24405ad95814ba24773a24436a49e"
      ],
      "author": {
        "name": "Ashish Ahuja",
        "email": "shivashish.ahuja@gmail.com",
        "time": "Wed Jun 03 11:03:44 2026 +0530"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Jun 03 14:32:00 2026 +0200"
      },
      "message": "fix typo in comments; FUSE_LOOP_MT_DEF_IDLE_THREADS is -1, not 10\n\nSigned-off-by: Ashish Ahuja \u003cshivashish.ahuja@gmail.com\u003e\n"
    },
    {
      "commit": "b71dd2629ff24405ad95814ba24773a24436a49e",
      "tree": "5547652d7788f30792d320cfbf1aa623727301e2",
      "parents": [
        "5c308fba8279b36ed765c18bc6f65bcb6f3f2774",
        "204cf0fb27bfb3d9e257dd4cf8d356277e683d20"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 19:56:02 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 19:56:02 2026 +0200"
      },
      "message": "Merge pull request #1444 from bsbernd/fuse-service-container\n\nlibfuse: run fuse servers as a contained service"
    },
    {
      "commit": "204cf0fb27bfb3d9e257dd4cf8d356277e683d20",
      "tree": "5547652d7788f30792d320cfbf1aa623727301e2",
      "parents": [
        "5785b202e9aeffe2a2581e22d3e13d000ecb85b6",
        "5c308fba8279b36ed765c18bc6f65bcb6f3f2774"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 18:19:19 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 18:19:19 2026 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into fuse-service-container\n\n* master:\n  Fix a codeql report in add_default_subtype()\n"
    },
    {
      "commit": "5c308fba8279b36ed765c18bc6f65bcb6f3f2774",
      "tree": "f59451cf396fa32676a66e49022586fa85ed13a3",
      "parents": [
        "e3fe270d748291a0aa9e94dc9d9c12ad0baeab4f"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 17:26:00 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 18:18:43 2026 +0200"
      },
      "message": "Fix a codeql report in add_default_subtype()\n\nCame up on the container branch and not sure why it triggers there\nonly, but malloc is not needed and snprintf should check for the\nmax size.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "5785b202e9aeffe2a2581e22d3e13d000ecb85b6",
      "tree": "5547652d7788f30792d320cfbf1aa623727301e2",
      "parents": [
        "d799270b76e2b52900436f7906f4e6eee6b8ec12"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 17:26:00 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 17:26:53 2026 +0200"
      },
      "message": "Fix a codeql report in add_default_subtype()\n\nCame up on the container branch and not sure why it triggers there\nonly, but malloc is not needed and snprintf should check for the\nmax size.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "d799270b76e2b52900436f7906f4e6eee6b8ec12",
      "tree": "9181adcdae009a69a932bec5724333ca3b0c9418",
      "parents": [
        "c17960b337f2c19bfec735712ffc61a4afead60e"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 14:44:19 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 14:45:38 2026 +0200"
      },
      "message": "mount_service.c: Remove an argc \u003e 0 check (CodeQL)\n\nAs annotated by CodeQL, argc already test for above and cannot be\nsmaller than 3, no need to check again.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "c17960b337f2c19bfec735712ffc61a4afead60e",
      "tree": "a8dc0df124c26b01030c30d3dfbba2af2fc4bd46",
      "parents": [
        "e2f7c7d990504c3caec4e525190d82437b726eac"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 14:37:19 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 14:38:28 2026 +0200"
      },
      "message": "fuse_service: Avoid modifying counters in for loop\n\nCodeQL annotates that and I personally prefer while loops for such loops\nas well.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "e2f7c7d990504c3caec4e525190d82437b726eac",
      "tree": "8c3d2aba40b44ba0e2f97d368d44b40daf5e45e2",
      "parents": [
        "acb5e53dabb8383edb0474e901f159d43284bf5b",
        "e3fe270d748291a0aa9e94dc9d9c12ad0baeab4f"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 14:17:45 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 14:18:51 2026 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into fuse-service-container\n\n* master:\n  Change use_subtype_prefix type to bool in fuse_mnt_build_source()\n  lib mount: fix fsfd leakage on error\n  lib mount: include linux/mount.h in mount_i_linux.h\n  lib mount: no need to fsconfig mtab options\n  Fix ENODEV fallback logic for block devices with fsname\n  Update the condition when to use synchronous init\n  fuse_daemonize_early: Rename is_active to is_used, add new is_active\n  Add a missing NULL check for x_mtab_opts in mount_fuse()\n  fusermount: Fix heap buffer overflow in perform_mount()\n  lib/mount.c: Restore \"subtype#fsname\" format for legacy kernel fallback\n  fuse: No need to call strlen\n"
    },
    {
      "commit": "e3fe270d748291a0aa9e94dc9d9c12ad0baeab4f",
      "tree": "07c8c43312df9340249d79dfeb19ba8c2bd18350",
      "parents": [
        "82a39851ef70eb91ede6e13f0732f7b60196ba3c"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 07:31:20 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 14:13:51 2026 +0200"
      },
      "message": "Change use_subtype_prefix type to bool in fuse_mnt_build_source()\n\nJust a minor API cleanup from yesterday, change type from int to\nbool and add comment why the argument is needed.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "82a39851ef70eb91ede6e13f0732f7b60196ba3c",
      "tree": "02204f719f00823f1c1789df130314092a997268",
      "parents": [
        "27fc2084636c36bdb30dac4c40700a1fcd832e57"
      ],
      "author": {
        "name": "Jingbo Xu",
        "email": "jefflexu@linux.alibaba.com",
        "time": "Mon May 18 19:08:51 2026 +0800"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 12:32:41 2026 +0200"
      },
      "message": "lib mount: fix fsfd leakage on error\n\nClean up fsfd and related resources before falling back to old\nmount API if ms_flags_to_mount_attrs() fails.  Otherwise the created\ndetached fuse connection will hang there and won\u0027t be freed.\n\nSigned-off-by: Jingbo Xu \u003cjefflexu@linux.alibaba.com\u003e\n"
    },
    {
      "commit": "27fc2084636c36bdb30dac4c40700a1fcd832e57",
      "tree": "4053ab4230ea79eb1a211c75e319745dce96d286",
      "parents": [
        "7ba4bad14438776eff14b6a4996c29597b572540"
      ],
      "author": {
        "name": "Jingbo Xu",
        "email": "jefflexu@linux.alibaba.com",
        "time": "Mon May 18 18:07:49 2026 +0800"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 12:32:41 2026 +0200"
      },
      "message": "lib mount: include linux/mount.h in mount_i_linux.h\n\n... otherwise MOUNT_ATTR_* would be defined as 0 unexpectedly.\n\nSigned-off-by: Jingbo Xu \u003cjefflexu@linux.alibaba.com\u003e\n"
    },
    {
      "commit": "7ba4bad14438776eff14b6a4996c29597b572540",
      "tree": "48e8df128f1a401b3ac83b2ac16f8f3951cd1fc3",
      "parents": [
        "1d70e30b5227666194058a99cacfa36e2a3f0b9d"
      ],
      "author": {
        "name": "Jingbo Xu",
        "email": "jefflexu@linux.alibaba.com",
        "time": "Mon May 18 11:50:19 2026 +0800"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 26 12:32:41 2026 +0200"
      },
      "message": "lib mount: no need to fsconfig mtab options\n\nmtab options is a superset of kernel options (passed to kernel via\nmount(2) or fsconfig(2)), with additional mtab-only options like\n\"user\u003d\" or \"-n\".\n\nAfter switching to the new mount API, kernel options are already\nconfigured by fsconfig. Re-running fsconfig on mtab options causes\noptions to be configured twice.\n\nSigned-off-by: Jingbo Xu \u003cjefflexu@linux.alibaba.com\u003e\n"
    },
    {
      "commit": "1d70e30b5227666194058a99cacfa36e2a3f0b9d",
      "tree": "5b9032c6be30f9d14e213f0f3e04e94e58476244",
      "parents": [
        "fadb479bdc678f886a9f179cb072c29f431bec82"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 18:06:48 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 23:48:40 2026 +0200"
      },
      "message": "Fix ENODEV fallback logic for block devices with fsname\n\nThe ENODEV fallback logic in both lib/mount.c and util/fusermount.c\nincorrectly combined two conditions, causing block devices with fsname\nto be treated as if they had no fsname.\n\nOriginal behavior (before commit 50fa7f0bc2df):\n    if (mo-\u003efsname) {\n        if (!mo-\u003eblkdev)\n            sprintf(source, \"%s#%s\", mo-\u003esubtype, mo-\u003efsname);\n        // else: keep existing source (fsname for blkdev)\n    } else {\n        strcpy(source, type);\n    }\n\nThis handled three cases:\n1. fsname + non-blkdev -\u003e \"subtype#fsname\"\n2. fsname + blkdev     -\u003e fsname (unchanged)\n3. no fsname           -\u003e type\n\nPrevious patches incorrectly changed this to:\n    if (mo-\u003efsname \u0026\u0026 !mo-\u003eblkdev) {\n        source \u003d fuse_mnt_build_source()\n    } else {\n        source \u003d strdup(type);\n    }\n\nThis only handled two cases, causing case 2 (fsname + blkdev) to be\ntreated as case 3 (no fsname).\n\nThis patch restores the three-way logic.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "fadb479bdc678f886a9f179cb072c29f431bec82",
      "tree": "695014bc7734f301bffbfd0380c06e1d10e022d9",
      "parents": [
        "9f573330addb74fe4145fcca71b411a765716da0"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 17:31:43 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 23:48:40 2026 +0200"
      },
      "message": "Update the condition when to use synchronous init\n\nThe previous condition in session_start_sync_init() if to\nuse synchronous init was not right yet - we actually want\nsync-init by default when fuse_daemonize_earl_start is\nused. But users also need to able to override (at least\nwe need to be able to override for our own tests).\nSo add an enum with the values of auto (default),\nenabled and disabled.\n\nNoticed due to a PR from Jingbo Xu \u003cjefflexu@linux.alibaba.com\u003e\nthat added the workaround to enable, which not supposed to be\nneeded. The logic should work on its own when fuse_daemonize_early_start\nis used.\n\nThis also exports fuse_session_set_sync_init (and renames it from\nfuse_session_want_sync_init()).\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "9f573330addb74fe4145fcca71b411a765716da0",
      "tree": "2e2f5e8aff9bb763ea228a4a05f1003538dc42da",
      "parents": [
        "e4a4a3a135e46a77932a6497f1473067eca1b400"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 16:43:27 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 23:48:40 2026 +0200"
      },
      "message": "fuse_daemonize_early: Rename is_active to is_used, add new is_active\n\nIn passthrough_hp.cc in main() the err_out4 condition would\nhave printed an invalid warning and program exit even\nunder regular umount, because the underlying check acted\non daemonize.active and daemonize.daemonized, although it\nwas supposed to act on daemonize.active only.\nFix that by renaming the current _is_active() to _is_used()\nand by introducing a new fuse_daemonize_is_active(), which\nonly checks for \u0027daemonize.daemonized\u0027.\n\nSuggested-by: Jingbo Xu \u003cjefflexu@linux.alibaba.com\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "e4a4a3a135e46a77932a6497f1473067eca1b400",
      "tree": "100e706142aa77695b556d71c51d751649efe2c1",
      "parents": [
        "5b205b6d3f6d90eccd803ed23e74bee7f53c94a7"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 16:02:47 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 23:48:40 2026 +0200"
      },
      "message": "Add a missing NULL check for x_mtab_opts in mount_fuse()\n\nThere might be have been null-ptr derefences.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "5b205b6d3f6d90eccd803ed23e74bee7f53c94a7",
      "tree": "db8c5008b9b49998dcc207619b393cdd75844ee3",
      "parents": [
        "4e0f7cbc43ade40f9e58d66cb7ac3926fe8ebe6f"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 15:46:17 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 23:48:40 2026 +0200"
      },
      "message": "fusermount: Fix heap buffer overflow in perform_mount()\n\nCommit 50fa7f0bc2df (\"Move fuse_mnt_build_{source,type} to mount_util.c\"\nintroduced a heap buffer overflow in the ENODEV fallback\npath in fusermount.c. The prepare_mount() function now allocates source\nwith only strlen(fsname) + 1 bytes via fuse_mnt_build_source(), but\nperform_mount() writes strlen(subtype) + 1 + strlen(fsname) + 1 bytes\nwhen building the legacy \"subtype#fsname\" format.\n\nFix by removing source/type from struct mount_params and building them\nas local variables in perform_mount() with correct allocation using the\nnew use_subtype_prefix parameter added in the previous commit.\n\nThe source and type strings are now:\n- Built in perform_mount() with proper size allocation\n- Returned via output parameters to the caller\n- No longer stored in the mount_params structure\n\nFixes: 50fa7f0bc2df (\"Move fuse_mnt_build_{source,type} to mount_util.c\")\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "4e0f7cbc43ade40f9e58d66cb7ac3926fe8ebe6f",
      "tree": "e048bd1ed6875d96def36307119baf8e1428d91e",
      "parents": [
        "e465536dc9c6a03c8e92b688ea19dadac3b83920"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 15:44:15 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 25 23:48:40 2026 +0200"
      },
      "message": "lib/mount.c: Restore \"subtype#fsname\" format for legacy kernel fallback\n\nCommit 50fa7f0bc2df (\"Move fuse_mnt_build_{source,type} to mount_util.c\"\nchanged the ENODEV fallback behavior from using\n\"subtype#fsname\" format to just \"fsname\" for the mount source.\n\nThis adds a use_subtype_prefix parameter to fuse_mnt_build_source() to\ncontrol whether the legacy \"subtype#fsname\" format should be used. This\ncentralizes the source string building logic and avoids code duplication\nin the ENODEV fallback paths.\n\nOriginal behavior (before 50fa7f0bc2df):\n    if (mo-\u003efsname) {\n        if (!mo-\u003eblkdev)\n            sprintf(source, \"%s#%s\", mo-\u003esubtype, mo-\u003efsname);\n    } else {\n        strcpy(source, type);\n    }\n\nBehavior after 50fa7f0bc2df (unintended change):\n    source \u003d fuse_mnt_build_source(mo-\u003efsname, NULL, devname);\n    // Returns just fsname, not \"subtype#fsname\"\n\nBehavior before 50fa7f0bc2df is restored again.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "e465536dc9c6a03c8e92b688ea19dadac3b83920",
      "tree": "4a7ed75d8276d0c2e6dcd2241ba16357dc9602cf",
      "parents": [
        "d999bd63afee30949443dc237e3a1f210d0c43e0"
      ],
      "author": {
        "name": "Volker Lendecke",
        "email": "vl@samba.org",
        "time": "Thu May 07 11:26:03 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 24 10:12:29 2026 +0200"
      },
      "message": "fuse: No need to call strlen\n\nThis only checks for \".\" and \"..\". This can be done cheaper than\ncalling strlen. According to godbolt not much code is required for\nthis.\n\nSigned-off-by: Volker Lendecke \u003cvl@samba.org\u003e\n"
    },
    {
      "commit": "acb5e53dabb8383edb0474e901f159d43284bf5b",
      "tree": "3eb46a622f3a7f0a6ed84b999815aa05ad87c872",
      "parents": [
        "0f8157e72fd3a55662ce50f49ea4d8227c9aa5f2"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 10:00:52 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 12:11:06 2026 -0700"
      },
      "message": "mount/fuse_service: replace strcpy calls with memcpy\n\nRemove dangerous strcpy calls with memcpy based on the lengths we used\nto compute the dynamic structure size.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "0f8157e72fd3a55662ce50f49ea4d8227c9aa5f2",
      "tree": "4337ed3fd83077598a0b8910c6901675f7168963",
      "parents": [
        "ba6e172cacbc760d8cc611cbffd6e5cbe69db83d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 09:55:08 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 12:11:06 2026 -0700"
      },
      "message": "mount_service: fix null pointer deref in mount_service_init\n\nIn theory, fuservicemount can be called with argv[0] \u003d\u003d NULL, so let\u0027s\nprotect ourselves against that.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "ba6e172cacbc760d8cc611cbffd6e5cbe69db83d",
      "tree": "b4cf9816a1e5090c9c27a230b90c7cb8b03860b6",
      "parents": [
        "d18df35c4ed576d3b05a819d0319ddee2f28f6b2"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 07:40:04 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 12:11:06 2026 -0700"
      },
      "message": "mount.fuse: constify arguments to try_service_main\n\nThis function no longer alters its arguments.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "d18df35c4ed576d3b05a819d0319ddee2f28f6b2",
      "tree": "9ed549bdf5c8af0e0f88960813297263b06e9f8d",
      "parents": [
        "cc9f7792afe2cb3df4c5cc71ab2ff5ba270acd8d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 07:36:28 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu May 21 12:11:05 2026 -0700"
      },
      "message": "mount_service: rename IGNORE_MTAB and constify it\n\nIGNORE_MTAB is already a preprocessor define, so don\u0027t use it as a\nglobal variable name in mount_service.c.  Fix that by lowercasing the\nname, and make the variable const to catch stray accesses.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "cc9f7792afe2cb3df4c5cc71ab2ff5ba270acd8d",
      "tree": "ed541cf0f24c7aec46fa2950c9e9d3a32df65825",
      "parents": [
        "2a97fc1e94795c236ff412df6f67e3d0f2fbd0df"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 15:33:23 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 19:57:57 2026 -0700"
      },
      "message": "fuse_service: fix uninitialized variable\n\nInitialize the sockaddr_un variable so that subsequent comparisons won\u0027t\nfail in weird ways if getsockname doesn\u0027t fill out the object.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "2a97fc1e94795c236ff412df6f67e3d0f2fbd0df",
      "tree": "ba26e7013a7858a654a0a281a8bef44e9766441d",
      "parents": [
        "96d030be9b7976d320bec86e0f05ba61668991bb"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 15:32:00 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 19:57:57 2026 -0700"
      },
      "message": "mount_service: fix some pointer handling\n\nDon\u0027t leak memory or try to free static data.  Pointed out by\nclang-check.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "96d030be9b7976d320bec86e0f05ba61668991bb",
      "tree": "8ed1c7357f1116f9ed1c6b05df6d8d2f9eda659b",
      "parents": [
        "cb07e6af9d43babbb69dfff611b66ccd508f2218"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 14:52:32 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 19:57:57 2026 -0700"
      },
      "message": "mount_i_linux.h: fix whitespace error\n\nFix trailing space.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "cb07e6af9d43babbb69dfff611b66ccd508f2218",
      "tree": "877d360e71c2c2d431952abb2bbe69599c7a5680",
      "parents": [
        "93892e469ddb9f5bd3b0923d95410a9d5dba65f7"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 14:35:28 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed May 20 19:57:57 2026 -0700"
      },
      "message": "fuse: use fuse_args in try_service_main instead of opencoding it\n\nDon\u0027t open-code the argument array, just use the existing helpers.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "93892e469ddb9f5bd3b0923d95410a9d5dba65f7",
      "tree": "d18e190de3e208c6aa3f33a14876e9e364312c36",
      "parents": [
        "c708a0ce1c5c91027fa7b442b576f03217e91cfd"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue May 19 14:10:35 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue May 19 15:04:54 2026 -0700"
      },
      "message": "libfuse: fix cppcheck warnings in the new mount service code\n\nFix some cppcheck warnings.  No functional changes.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "c708a0ce1c5c91027fa7b442b576f03217e91cfd",
      "tree": "93c98aea27dbbcead32241a92e9b2784734bdd7b",
      "parents": [
        "7211953256526f634298ae79f38cf401900a7a53",
        "d999bd63afee30949443dc237e3a1f210d0c43e0"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 17 20:31:39 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 17 20:31:39 2026 +0200"
      },
      "message": "Merge branch \u0027master\u0027 into fuse-service-container\n\n* master:\n  checkpatch.pl: update to linux 7.0\n  fuse_lowlevel: disable SPLICE_READ when pipe can\u0027t reach bufsize\n"
    },
    {
      "commit": "d999bd63afee30949443dc237e3a1f210d0c43e0",
      "tree": "41d6b815b729c0c54bba231b086bd8d468c04aa4",
      "parents": [
        "0c9fd619851018f7f552efa50b09eb0954fc3853"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue May 12 10:46:33 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 17 20:29:07 2026 +0200"
      },
      "message": "checkpatch.pl: update to linux 7.0\n\nUpdate this script to match the version from Linux 7.0, without\nclobbering Bernd\u0027s _Atomic additions.  This fixes the complaints\nabout \"overly long\" Fixes: commit ids.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "7211953256526f634298ae79f38cf401900a7a53",
      "tree": "49f7ca9ad0b59d78ebd07dc094fb87b4586bd8e4",
      "parents": [
        "3b24f207ca4f3773c4424bb4483e7bee326214f1"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 11 08:26:42 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 11 13:19:55 2026 -0700"
      },
      "message": "mount_service: use the fsmount API helpers from mount_fsmount.c\n\nThe new fsmount API code in mount_service.c should use the new helper\nfunctions that were recently added to mount_fsmount.c.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "3b24f207ca4f3773c4424bb4483e7bee326214f1",
      "tree": "1019a9500cdf061e3dc346e1b18d470659f3f3ed",
      "parents": [
        "7e950ba1d6106ccd350470b2aa710e0d81c0dbe6"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 11 08:33:24 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 11 13:19:55 2026 -0700"
      },
      "message": "mount_fsmount: fix signature of ms_flags_to_mount_attrs\n\nThe flags parameter of mount() is an unsigned long on Linux, which means\nthat the return type of type of ms_flags_to_mount_attrs must also be\nunsigned long to avoid possible truncation of unconverted MS_* flags.\n\nHowever, the attr_flags parameter of fsmount() is unsigned int, so\nthere\u0027s no need to use an unnecessarily large type.  Why the kernel ABI\ndidn\u0027t specify this as u64 is beyond me, but there it is.\n\nFix both problems with the function signature and caller.\n\nFixes: 14cb7b93bb9688 (\"Add support for the new linux mount API\")\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "0c9fd619851018f7f552efa50b09eb0954fc3853",
      "tree": "2cf53b15cf8c7a5abd9b9204b27fbcd9acadade6",
      "parents": [
        "2e7f517e0f613c2db0b3e021f437665b73060281"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun Apr 05 21:59:35 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 11 19:21:45 2026 +0200"
      },
      "message": "fuse_lowlevel: disable SPLICE_READ when pipe can\u0027t reach bufsize\n\nCommit f0e08cc700d6 (\"/dev/fuse splice pipe grow: Only grow ...\")\nintroduced a pipe grow to max - this only makes sense for\nsplice write, because if a pipe cannot be grown now, it won\u0027t be possible\nto grow it later either. Also, /dev/fuse device read always requires the\nmax buffer size, as kernel code checks very early for the required buffer.\nFor splice write a dynamic size / max size can be used.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "7e950ba1d6106ccd350470b2aa710e0d81c0dbe6",
      "tree": "4aae9476577c436d211e979559448f3736c25a2b",
      "parents": [
        "b9c10de892f03e0aac61fc6d4ebacaaa9f73fd57",
        "2e7f517e0f613c2db0b3e021f437665b73060281"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 11 09:57:01 2026 -0700"
      },
      "committer": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 11 09:58:07 2026 -0700"
      },
      "message": "Merge remote-tracking branch \u0027origin/master\u0027 into djwong-dev3\n\nMerge upstream origin/master into bsbernd/fuse-service-container.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "2e7f517e0f613c2db0b3e021f437665b73060281",
      "tree": "325e55e231432486d1cbcb5cef02238ff6522505",
      "parents": [
        "9d8e644a426dd63a36308f8acf75023b7dd5cc80"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 21:19:35 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 22:33:36 2026 +0200"
      },
      "message": "lib, util: rename mnt_opts to mtab_opts at all build sites\n\nmnt_opts was rather confusing, mtab_opts is much easier to read\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "9d8e644a426dd63a36308f8acf75023b7dd5cc80",
      "tree": "b16ebd0b1adbfde17d6568f74f391a922bab0082",
      "parents": [
        "3cbe980b2b91b5a88eda6d02477c64ca285a69ea"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 21:09:22 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 22:33:36 2026 +0200"
      },
      "message": "lib mount: rename mnt_opts param to mtab_opts\n\nmnt_opts was rather confusing, mtab_opts is easier\nto read. Also add more comments about the possible\ndup of options with \u0027kernel_opts\u0027.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "3cbe980b2b91b5a88eda6d02477c64ca285a69ea",
      "tree": "9336d7a6e08035f19041ae2f85c914f86bc25bde",
      "parents": [
        "bb9b562362635a53e2e51d4c94a0df2f71113355"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 14:15:10 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "highlevel: Switch fuse_main_real_versioned() to fuse_daemonize_early()\n\nFor high level we can switch directly in that function to the new daemonize\nAPI. Additionally we need to check if the daemon has already acticated\ndaemonization to avoid warning messages.\n\nSuggested-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "bb9b562362635a53e2e51d4c94a0df2f71113355",
      "tree": "abd700ad3a07a365968bb60883f57a09fbbd4b63",
      "parents": [
        "9ca8d8a59e7d6e520e924a1365a3051055c0222f"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 17:51:11 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "fuse mount: Do not set sync_init when sync_init was not used\n\nsynchronous init is just a hint and we cannot fail on it, but for\ndaemonization we need to do know when it was actually used.\nBug was that se-\u003esync_init() was set unconditionally on mount success.\n\nThere are basically 3 cases in fuse_session_mount_new_api()\n\n1) synchronous FUSE_INIT is accepted by kernel, the sync-init\npthread mount helper gets started successfully and the mount\nsucceeds.\n\n2) synchronous FUSE_INIT could not get enabled, but the mount\nstill succeeded. If fuse_daemomonize_early_* is used,\nit automatically signals success to the parent at the end\nof the FUSE_INIT handler in fuse_lowlevel.c\n\n3) New mount API fails, fall back to legacy unix mount.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "9ca8d8a59e7d6e520e924a1365a3051055c0222f",
      "tree": "ea946c8386f25928e0fb22458fd6656cfcc4b4c0",
      "parents": [
        "24e921ba33f8b76daa75263959010d32bb652517"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 14:26:17 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "fuse_daemonize_early_start: Disallow daemonization when already active.\n\nA coding error could run fuse_daemonize_early_start() two times\nand so far the code was not handling/failing that.\n\nAlso do not set \"active\" when it actually does not do daemonization.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "24e921ba33f8b76daa75263959010d32bb652517",
      "tree": "4f1ceb9912c3b233f9a13514d647e03288cc59c2",
      "parents": [
        "29872737535a6f2cb39902fb112c3665f75e15f0"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 13:30:10 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "example: silence add_languages warning by setting \u0027native: false\u0027\n\nRecent Meson versions warn when add_languages() is called without an\nexplicit \u0027native:\u0027 argument, because the historical default (configure\nthe language for \"both sides\") is being deprecated.\n\nBoth toolchains run on the developer\u0027s machine; the difference is the\narchitecture of the binaries they produce:\n\n  - native : true   -\u003e \"build\" toolchain: output runs on the developer\u0027s\n                        machine itself (build-time helpers).\n  - native : false  -\u003e \"host\"  toolchain: output runs on the target\n                       system - in a cross build, the compiler from the\n                       cross file; in a native build, the same as above.\n\nThe top-level meson.build declares only C via project(), so the C++\ncompiler used by the examples is registered here via add_languages().\nThe C++ examples (passthrough_hp, memfs_ll) link against libfuse and\nrun wherever libfuse runs, so \u0027native : false\u0027 is the correct intent\nand matches what libfuse already does for C.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "29872737535a6f2cb39902fb112c3665f75e15f0",
      "tree": "50a8042702db7af31dfbf41aec5df374d187a2f7",
      "parents": [
        "31c107a8e6166f6f74a5d547cc0d41f3caab442e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue May 05 16:10:59 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "libfuse: don\u0027t use SYNC_INIT unless asked for\n\nfuse2fs calls fuse_main, then starts threads from -\u003einit.  It doesn\u0027t\ncall fuse_daemonize_early_start because I haven\u0027t ported it to use any\nof the new APIs.  I don\u0027t have io_uring enabled for fuse on my dev box.\n\nfuse_main calls fuse_session_mount calls fuse_session_mount_new_api\ncalls session_start_sync_init.  At the start of the function,\nse-\u003ewant_sync_init, se-\u003euring.enable, and daemonize.active are all\nfalse.  The first branch is not taken, so we call FUSE_DEV_IOC_SYNC_INIT\nand enable sync_init even though the user didn\u0027t ask for that and didn\u0027t\nprepare for it either.\n\nFUSE_DEV_IOC_SYNC_INIT succeeds, so we send the synchronous FUSE_INIT\nfrom mount, which calls fuse2fs\u0027 init() method.  That starts the\nbackground threads and returns.  Upon return to the kernel, the mount()\nnow succeeds, and the next thing that fuse_main does is call\nfuse_daemonize().  Since we didn\u0027t call fuse_daemonize_early_start, the\ndaemonize forks the process and the threads die with the parent.\n\nIf we didn\u0027t ask for SYNC_INIT, don\u0027t enable it.  This is needed to\nmaintain compatibility with older fuse servers that only support\nasynchronous FUSE_INIT.\n\nFixes: 3e1101057aea (\"fuse mount: Support synchronous FUSE_INIT (privileged daemon)\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nReviewed-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n\n--\n\nv1.2: simplify the logic even more\nv1.1: improve commit message, refine logging logic\n"
    },
    {
      "commit": "31c107a8e6166f6f74a5d547cc0d41f3caab442e",
      "tree": "89a833d50b5349785b40a1ec5a78b4422dedd2c0",
      "parents": [
        "94ee9ffccacc1f75bfe43e51003582fbe49f4d30"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue May 05 16:09:30 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "New mount API: read-only option is for fsmount() and fsconfig()\n\nThe \"ro\" mount option needs to be handled by\n\nfsmount(..., MOUNT_ATTR_RDONLY), for the superblock\nand fsconfig(SET_FLAG, \"ro\") for the vfsmount.\n\nUpdate by Bernd: Instead of moving it to MOUNT_ATTR_RDONLY,\nhandle it by both.\n\nFixes: 0d7e72541564 (\"Unify mount flag structures and remove redundant is_mount_attr field\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "94ee9ffccacc1f75bfe43e51003582fbe49f4d30",
      "tree": "c4fae0f79b9d31d82375a0ffdd76a7e8929cc604",
      "parents": [
        "954a25c42efdafc16952f0300b16e6327b9ad154"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 05 10:33:26 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "test: assert ro/rw, nosuid/suid, nodev/dev round-trip via fsmount\n\nAssisted by ClaudeOpus 4.7\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "954a25c42efdafc16952f0300b16e6327b9ad154",
      "tree": "9fb42855262663ec9375704212c3cca71dae81c8",
      "parents": [
        "df14847f34f6be0b33d846de783e44790a9b36f2"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 05 10:24:24 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "Add tests to verify that mountinfo matches requested options\n\nThis is especially for the new mount API, but does not hurt\neither for the traditional API.\n\nAssisted by Claude Opus 4.7\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "df14847f34f6be0b33d846de783e44790a9b36f2",
      "tree": "6d434753d44d574409439a0a4a50cd4527225636",
      "parents": [
        "e99b3d200c04464e0dc03f1e7fce8a7f3b95503d"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 10:58:49 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sun May 10 20:20:31 2026 +0200"
      },
      "message": "test: register pytest run as a meson test\n\nWire the pytest suite into meson as a single test() so it can be run\nvia \u0027meson test -C build\u0027 (or \u0027meson test -C build pytest -v\u0027) instead\nof having to invoke pytest directly. The same definition works for\nboth unprivileged and root runs -- invoke \u0027meson test\u0027 as your user,\nor \u0027sudo -E meson test\u0027 to exercise the tests that need root (these\ndetect the uid at runtime via os.geteuid()).\n\nAssisted by Claude/Opus 4.7\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "b9c10de892f03e0aac61fc6d4ebacaaa9f73fd57",
      "tree": "1aeb64b71342a8ebb4156f213dfd393e3d2912c1",
      "parents": [
        "64e0d0505d5c86a12ecbcce88e82ccb06f1d1760"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:00:02 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:22 2026 +0200"
      },
      "message": "Fix deref-before-check in mount.fuse.c\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "64e0d0505d5c86a12ecbcce88e82ccb06f1d1760",
      "tree": "6aad3caff4ed060f224a09ab79400ca3ece62634",
      "parents": [
        "8864a2613dbc638264788d89074985485ac9094b"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue May 05 15:07:19 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:21 2026 +0200"
      },
      "message": "mount_service: use the mount_flags table instead of declaring our own\n\nUse the canonical mount flags table in mount_util.c instead of\nopencoding our own version in mount_service.c.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "8864a2613dbc638264788d89074985485ac9094b",
      "tree": "75eb62eff18513dfd31b0bfc46d66a5eb7986395",
      "parents": [
        "33996e0511f94ef2c34924eea1f20d07d97736b2"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue May 05 15:02:26 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:20 2026 +0200"
      },
      "message": "mount_util: fix mount_flags entries for MS_RDONLY\n\nMS_RDONLY maps to MOUNT_ATTR_RDONLY in the new fsmount API, but the\ntable omitted that.  Fix that.\n\nFixes: 0d7e72541564 (\"Unify mount flag structures and remove redundant is_mount_attr field\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "33996e0511f94ef2c34924eea1f20d07d97736b2",
      "tree": "377b14984d912aa2f41105df3c31603cdfd642e5",
      "parents": [
        "1300bca9b1f1c54354cb4abe67344a0387c956bf"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 11:12:17 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:19 2026 +0200"
      },
      "message": "example: fix cppcheck complaints about constifying pointers\n\nFix various cppcheck complaints about pointers that could be const\npointers instead.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "1300bca9b1f1c54354cb4abe67344a0387c956bf",
      "tree": "95acf2782ca63bb79b07577d0096653e75733c88",
      "parents": [
        "8b1f63ad89c14308a02f6ffc033279864cab7502"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 15:27:31 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:18 2026 +0200"
      },
      "message": "fuser_conf: fix cppcheck complaints\n\nSince I touched this file recently, let\u0027s fix the cppcheck complaints.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "8b1f63ad89c14308a02f6ffc033279864cab7502",
      "tree": "a101463d423bac83f809a91ff10e64f2e9a0bb8b",
      "parents": [
        "cec7277374e76110250dd2eb29504b70e7e347ea"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 10:59:37 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:17 2026 +0200"
      },
      "message": "util: fix cppcheck complaints about constifying pointers\n\nFix various cppcheck complaints about pointers that could be const\npointers instead.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "cec7277374e76110250dd2eb29504b70e7e347ea",
      "tree": "0853cec3f12ffe32683bd376f70d1b17e279cb38",
      "parents": [
        "56daf9f4751c486aa91927580a5d065988e3bfb8"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 15:31:55 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:16 2026 +0200"
      },
      "message": "libfuse: fix cppcheck complaints about constifying pointers in user-visible ABI\n\nFix various cppcheck complaints about pointers that could be const\npointers instead.\n\nI am not sure you ought to take this patch, because this affects the\nclient program ABI by limiting what the library can do in the future\nwith the passed in struct fuse_service object.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "56daf9f4751c486aa91927580a5d065988e3bfb8",
      "tree": "d67127edd16fab4558bf10f892190f55c9b2b34f",
      "parents": [
        "06c422eb9f14e3f7b96121d4ba3f1765bf485814"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 10:46:56 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:15 2026 +0200"
      },
      "message": "libfuse: fix cppcheck complaints about constifying pointers\n\nFix various cppcheck complaints about pointers that could be const\npointers instead.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "06c422eb9f14e3f7b96121d4ba3f1765bf485814",
      "tree": "7838ab3295d75fd87cf1ab20c2207f4bb35d7a6b",
      "parents": [
        "a7dd57b07be687960643fd3ba65e50b5a4a2409b"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Sat May 02 10:38:24 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:14 2026 +0200"
      },
      "message": "example/single_file: fix ctime handling\n\nFix the ctime initialization and updates so that it behaves like ctime\nis supposed to.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "a7dd57b07be687960643fd3ba65e50b5a4a2409b",
      "tree": "97b3591a96295fb08deef173acba3d933a71bde3",
      "parents": [
        "2b0b8928feb3470aaa619d729d16551391ee46a6"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Sat May 02 10:37:21 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:13 2026 +0200"
      },
      "message": "example/single_file: sync backing fd when statx wants us to fsync\n\nstatx callers can tell the filesystem to fsync the file, so let\u0027s pass\nthat through to the backing fd.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "2b0b8928feb3470aaa619d729d16551391ee46a6",
      "tree": "c22ed1f2bba4fcea696e52d3da615156536fe0a5",
      "parents": [
        "c8f8c39a1d1fcf5c4f14f204a5c328d3762b6488"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Sat May 02 10:36:16 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:13 2026 +0200"
      },
      "message": "examples: improve documentation of the new systemd service fuse servers\n\nSay a bit more about what the sample files are actually trying to do.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "c8f8c39a1d1fcf5c4f14f204a5c328d3762b6488",
      "tree": "7347513143f04b95c4f092162a2225a53d466ec3",
      "parents": [
        "23e8253c4d5a809d41d12e2bec521a3126f73fa6"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Sat May 02 10:33:20 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:12 2026 +0200"
      },
      "message": "fuse_service: handle weird behavior during SCM_RIGHTS fd transfers\n\nFix a few problems in the code that tries to receive an fd from the\nmount service helper: MSG_CTRUNC must be handled if an LSM denies us the\nfd transfer; and protect ourselves against the kernel never actually\nwriting to the fd array.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "23e8253c4d5a809d41d12e2bec521a3126f73fa6",
      "tree": "120094286bad47e63010931b02ed0389f4a71bc7",
      "parents": [
        "a9ead05d3b2423f668ab4f174bffaba86aaa7f0c"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Sat May 02 10:31:56 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:10 2026 +0200"
      },
      "message": "util/mount.fuse.c: loop in waitpid\n\nwaitpid can return EINTR if interrupted by a signal; don\u0027t abort when\nthis happens.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "a9ead05d3b2423f668ab4f174bffaba86aaa7f0c",
      "tree": "67cd8921a630c432e3deab84bff523d2666cd962",
      "parents": [
        "a7d416140326e6fc87a9a23e0df5e9445b420b2d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 14:51:53 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:15:01 2026 +0200"
      },
      "message": "libfuse: always send the subtype to the kernel when using fsconfig()\n\nAlthough it\u0027s possible to supply a filesystem subtype when calling\nfsopen(), it does not pass the stuff after the dot to the mount option\nparsing mechanism like the legacy mount() call does.  Therefore, it\u0027s\nnecessary to pass the subtype explicitly via fsconfig() or else the\nsubtype will be missing from the /proc/mounts output.\n\nFor example, fuse4fs with the old mount API produces this:\n\n/dev/sda /mnt fuse.ext4 rw,nosuid,nodev,relatime,user_id\u003d0,group_id\u003d0 0 0\n\nBut with the new mount API, we only get:\n\n/dev/sda /mnt fuse rw,nosuid,nodev,relatime,user_id\u003d0,group_id\u003d0 0 0\n\n...which breaks fstests, which requires the fsname to match the string\nthat it passes to mount -t.  Update the comment in mount_service.c to\nmatch this requirement.\n\nFixes: 14cb7b93bb96 (\"Add support for the new linux mount API\")\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "a7d416140326e6fc87a9a23e0df5e9445b420b2d",
      "tree": "f74ecee7696a30109cad34d512585ae4f01b64b4",
      "parents": [
        "d454f681fdd0e31217261d1656071a3d5c87d61e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 14:38:24 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 08 19:05:54 2026 +0200"
      },
      "message": "libfuse: don\u0027t use SYNC_INIT unless asked for\n\nIf we didn\u0027t ask for SYNC_INIT, don\u0027t enable it.  This is needed to\nmaintain compatibility with older fuse servers that only support\nasynchronous FUSE_INIT.\n\nFixes: 3e1101057aea (\"fuse mount: Support synchronous FUSE_INIT (privileged daemon)\")\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "e99b3d200c04464e0dc03f1e7fce8a7f3b95503d",
      "tree": "a546b88e93ea190e4a6fee5504e7a61fa8948d8c",
      "parents": [
        "0d7e72541564a521407a993df23f2f0c2652cfe9"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon May 04 22:23:51 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue May 05 22:21:06 2026 +0200"
      },
      "message": "libfuse: always send the subtype to the kernel when using fsconfig()\n\nAlthough it\u0027s possible to supply a filesystem subtype when calling\nfsopen(), it does not pass the stuff after the dot to the mount option\nparsing mechanism like the legacy mount() call does.  Therefore, it\u0027s\nnecessary to pass the subtype explicitly via fsconfig() or else the\nsubtype will be missing from the /proc/mounts output.\n\nFor example, fuse4fs with the old mount API produces this:\n\n/dev/sda /mnt fuse.ext4 rw,nosuid,nodev,relatime,user_id\u003d0,group_id\u003d0 0 0\n\nBut with the new mount API, we only get:\n\n/dev/sda /mnt fuse rw,nosuid,nodev,relatime,user_id\u003d0,group_id\u003d0 0 0\n\n...which breaks fstests, which requires the fsname to match the string\nthat it passes to mount -t.  Update the comment in mount_service.c to\nmatch this requirement.\n\nFixes: 14cb7b93bb96 (\"Add support for the new linux mount API\")\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "d454f681fdd0e31217261d1656071a3d5c87d61e",
      "tree": "7ca171285e4fd4eb164540133a5090d6be52d5c8",
      "parents": [
        "e881b374628fe64621494e58b606325a2cddf5da"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 17:37:49 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:29:41 2026 +0200"
      },
      "message": "Show a feature config summary the end of meson setup --reconfigure\n\nIt was very hard to see until now what was actually enabled/disabled.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "e881b374628fe64621494e58b606325a2cddf5da",
      "tree": "1e710b9c104ca6e1bc29ea0fc2b5bc6525360781",
      "parents": [
        "e25d7b9e25b969fcc1bf6ff262e20106b1992154"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Fri Mar 13 09:06:31 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:29:40 2026 +0200"
      },
      "message": "nullfs: support fuse systemd service mode\n\nThis is the only example fuse server that exports a regular file instead\nof a directory tree.  Port it to be usable as a systemd fuse service so\nthat we can test that capability.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "e25d7b9e25b969fcc1bf6ff262e20106b1992154",
      "tree": "b7c23768abf1229d917634519dff23326cd3786a",
      "parents": [
        "63336ed0d869d1b397467c1ac79af756145e1545"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed Mar 25 11:18:53 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:29:35 2026 +0200"
      },
      "message": "example/service: create a sample systemd service for a high-level fuse server\n\nCreate a simple high-level fuse server that can be run as a systemd\nservice.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e"
    },
    {
      "commit": "63336ed0d869d1b397467c1ac79af756145e1545",
      "tree": "15a9a37b15bc4030eb111e95d708134489a1bcd9",
      "parents": [
        "16b8bb980c015856bf30cc7bf1d1b220cd31c74d"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed Mar 04 15:52:14 2026 -0800"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:28:27 2026 +0200"
      },
      "message": "example/service_ll: create a sample systemd service fuse server\n\nCreate a simple fuse server that can be run as a systemd service.\nI plan to create some more single-file fuse server examples, so most of\nthe boilerplate code goes in a separate file.\n\nAlso suppress COMPLEX_MACRO in checkpatch, FUSE_OPT_KEY\nmacros have to stay as they are and checkpatch annotations\nare not correct here.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "16b8bb980c015856bf30cc7bf1d1b220cd31c74d",
      "tree": "f7aced19b2ccaabce5e77a75140cbc4ca04f5272",
      "parents": [
        "f127c2de348ebcba4c5aa4c341e3162c9f3f4b2e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed Mar 11 12:25:04 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:24:16 2026 +0200"
      },
      "message": "mount_service: allow installation as a setuid program\n\nAllow installation of the mount service helper as a setuid program so\nthat regular users can access containerized filesystem drivers.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "f127c2de348ebcba4c5aa4c341e3162c9f3f4b2e",
      "tree": "ca78f5b02a233f76188f0e94b07465a52dbfa957",
      "parents": [
        "96702c5b803642cbf7129b41afa042616f893062"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed Mar 04 13:48:55 2026 -0800"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:24:12 2026 +0200"
      },
      "message": "mount.fuse3: integrate systemd service startup\n\nTeach mount.fuse3 how to start fuse via systemd service, if present.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "96702c5b803642cbf7129b41afa042616f893062",
      "tree": "6b986c2d07bbc865797ac4c07c6f38a36b5f65be",
      "parents": [
        "2d1c8fe498347a54fcaab821d0c31d3d8760be8e"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Apr 21 10:36:29 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:24:10 2026 +0200"
      },
      "message": "mount_service: enable unprivileged users in a similar manner as fusermount\n\nSome Linux distributions allow unprivileged users to mount fuse\nfilesystems through the use of the setuid fusermount helper program.  It\nwould be useful to provide similar functionality when mounting a\nfilesystem that runs as a systemd service.\n\nTherefore, read the fuse config file and implement the same checks as\nfusermount.  The only new requirement is that the unprivileged user must\nbe able to open the mountpoint for write access if it\u0027s a regular file;\nor have write access if it\u0027s a directory.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e"
    },
    {
      "commit": "2d1c8fe498347a54fcaab821d0c31d3d8760be8e",
      "tree": "b5ab1db8a62e1c0597726d114ced8af5972d44c4",
      "parents": [
        "95cf8ff83b4b3c13210f11a7c43b4189dfe0f102"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 22:37:36 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Mon May 04 17:23:53 2026 +0200"
      },
      "message": "util: hoist the fuse.conf parsing and setuid mode enforcement code\n\nMove all the code that parses fuse.conf into a separate file in util/ so\nthat fuservicemount can read the same file, then add the security checks\nthat occur when fusermount is trying to start up a filesystem but is not\nrunning as root.  We\u0027ll want that for fusermount in a moment.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "95cf8ff83b4b3c13210f11a7c43b4189dfe0f102",
      "tree": "164a390d35f92be502430d48f77f1b1a834c7b7f",
      "parents": [
        "f3f0869eec3aa5463c733d4d4482c6be7f388d2b"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Tue Apr 21 10:28:02 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 17:52:42 2026 +0200"
      },
      "message": "mount_service: update mtab after a successful mount\n\nUpdate \"mtab\" so that non-kernel mount options (e.g. \"x-fubar\u003dXXX\") are\nrecorded somewhere so that userspace utilities can pick that up.  Note\nthat this likely is not the venerable /etc/mtab, which has been a\nsymlink to procfs for years.  On a modern system, these non-kernel\noptions end up /run/mount/utab.\n\nBut that\u0027s not a detail that libfuse has to worry about directly; it\u0027s\nreally just calling mount -f(ake) to make the changes it wants.  Old\nhats may remember the use of mount -f to update /etc/mtab after mounting\nthe root filesystem.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "f3f0869eec3aa5463c733d4d4482c6be7f388d2b",
      "tree": "55090a2c0b23602df5aa318f6c05c7317b42ac2c",
      "parents": [
        "bb9ae35f5a6b5e89ee794728222852db33ad80b2"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Wed Mar 11 08:55:04 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 17:52:42 2026 +0200"
      },
      "message": "mount_service: use the new mount api for the mount service\n\nUse the new fsopen/fsmount system calls to mount the filesystem so that\nwe get somewhat better diagnostics if something gets screwed up.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "bb9ae35f5a6b5e89ee794728222852db33ad80b2",
      "tree": "60a09cc56d3f1eeaa79f8c84ddcb5ae7f838113d",
      "parents": [
        "5d8b9a39a1cb3eeea8c23e5615b3750c9c6cdeef"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Thu Mar 12 10:46:42 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 17:52:42 2026 +0200"
      },
      "message": "mount_service: create high level fuse helpers\n\nCreate a fuse_main wrapper for fuse services.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "5d8b9a39a1cb3eeea8c23e5615b3750c9c6cdeef",
      "tree": "e493a4724b932cc2bda35446da769578a405ca0d",
      "parents": [
        "0d7e72541564a521407a993df23f2f0c2652cfe9"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@kernel.org",
        "time": "Mon Apr 20 09:49:40 2026 -0700"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 17:52:38 2026 +0200"
      },
      "message": "mount_service: add systemd socket service mounting helper\n\nCreate a mount helper program that can start a fuse server that runs as\na socket-based systemd service, and a new libfuse module to wrap all the\ndetails of communicating between the mount helper and the containerized\nfuse server.\n\nThis enables untrusted ext4 mounts via systemd service containers, which\navoids the problem of malicious filesystems compromising the integrity\nof the running kernel through memory corruption.\n\nIn theory this could also be supported via inetd and clones, though the\nauthor hasn\u0027t found one that supports AF_UNIX sockets.\n\nSigned-off-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "0d7e72541564a521407a993df23f2f0c2652cfe9",
      "tree": "f9c0dc389e9d0fb10ccbd043d5eff57bd4a6277b",
      "parents": [
        "188ca87860e64609fe3bd02976a3b7ef90eb91db"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Fri May 01 23:16:39 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "Unify mount flag structures and remove redundant is_mount_attr field\n\nRefactor mount flag handling by merging struct ms_to_str_map and\nstruct ms_to_mount_attr_map (from mount_fsmount.c) into the existing\nstruct mount_flags (from mount_util.h/c).\n\nThis eliminates code duplication and provides a single source of truth\nfor all mount flag metadata, including:\n- Option strings (e.g., \"nosuid\", \"sync\")\n- MS_* flag values\n- MOUNT_ATTR_* attribute values\n- Classification (fsconfig vs fsmount)\n\nKey changes:\n- Added mount_attr field to struct mount_flags\n- Removed redundant is_mount_attr field (replaced by mount_attr !\u003d 0)\n- Updated mount_flags array with MOUNT_ATTR_* values\n- Refactored ms_flags_to_mount_attrs() to use unified array\n- Refactored set_ms_flags() to use unified array\n- Updated is_mount_attr_opt() to check mount_attr field\n\nBenefits:\n- Easier maintenance when adding new mount flags\n- Single consistent data structure for all mount APIs\n- Clearer relationship between MS_* flags and MOUNT_ATTR_* attributes\n- One less field in the structure (removed is_mount_attr)\n\nMS_LAZYTIME that was defined before was not correct (at least\nfor now) and is removed again.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "188ca87860e64609fe3bd02976a3b7ef90eb91db",
      "tree": "93a40bfa850302e9a589b0175d04efa6b265e699",
      "parents": [
        "d8e6411a3ea0a84868c8d2a9d1bab87dc236db3e"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Thu Apr 09 23:08:59 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "Verify in fuse_mnt_get_devname() that the kern device is valid\n\ncodeql gave a warning that a user might pass a random device,\nso we better check the device in /dev and the device is a character\ndevice.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "d8e6411a3ea0a84868c8d2a9d1bab87dc236db3e",
      "tree": "54a39843477858e0c45b9c700eb8ae46551a6db7",
      "parents": [
        "8a4834952ccdef57784c933ac3f87dc4058045f1"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Mar 25 23:25:00 2026 +0100"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "Add a background debug option to passthrough hp\n\nBackground debugging is useful when logs should go\nto syslog for a daemon running in background.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "8a4834952ccdef57784c933ac3f87dc4058045f1",
      "tree": "d6fe92baea14b7888950af017e001cd170d85710",
      "parents": [
        "50fa7f0bc2df71b5d79a3501a95855d2d7da2338"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Mar 25 17:21:54 2026 +0100"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "Add mount and daemonization README documents\n\nThese are useful to\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "50fa7f0bc2df71b5d79a3501a95855d2d7da2338",
      "tree": "8ff41f86ea100d39e93b58d9ac64bbad8448c0fc",
      "parents": [
        "d07e5f3668bb4296362e3365a968993a60cc1399"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Wed Apr 29 12:55:07 2026 +0200"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "Move fuse_mnt_build_{source,type} to mount_util.c\n\nAlso make it more generic and avoid taking struct mount_opts\nas parameter.\n\nmount_fsmount.c and fusermount.c use these functions now.\n\nAlso use asprintf as suggested by Darrick.\nFor safety also free source and type in fuse_kern_do_mount()\nwhen subtype is not supported - right now it would be safe\nbecause without subtype the allocated memory is just a bit too\nlarge, but would easy to break in future commits.\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\n"
    },
    {
      "commit": "d07e5f3668bb4296362e3365a968993a60cc1399",
      "tree": "25a56c4ef902b2c794447df6fd07fe96768ba377",
      "parents": [
        "09db3a87ad88a2ca95f24e9ed6a79fa4cbea7c09"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bschubert@ddn.com",
        "time": "Mon Mar 23 17:59:14 2026 +0100"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "Add support for sync-init of unprivileged daemons\n\nThis makes use of the bidirectional fusermount. Added is\ndoc/README.mount, which explains the new bidirectional\ncommunication with fusermount.\n\nSigned-off-by: Bernd Schubert \u003cbschubert@ddn.com\u003e\n"
    },
    {
      "commit": "09db3a87ad88a2ca95f24e9ed6a79fa4cbea7c09",
      "tree": "ae7ff0b7835500586e1ea179b4e501f87b1969c0",
      "parents": [
        "7f37b1ff936b8a8163824dd91632f7a9a4991864"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bschubert@ddn.com",
        "time": "Fri Mar 20 18:59:44 2026 +0100"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "New mount API: Filter out \"user\u003d\"\n\nThis gets added in the fusermount process and kernel then fails\nthe mount.\n\nSigned-off-by: Bernd Schubert \u003cbschubert@ddn.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "7f37b1ff936b8a8163824dd91632f7a9a4991864",
      "tree": "704c5c1e992abf6c6f8f7a448aaceb616dfe7b03",
      "parents": [
        "75df12d60ed9d34dc8cd15ed4a8ccc210e3e179d"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bschubert@ddn.com",
        "time": "Thu Mar 19 22:41:31 2026 +0100"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "Make fusermount work bidirectional for sync init\n\nSigned-off-by: Bernd Schubert \u003cbschubert@ddn.com\u003e\n"
    },
    {
      "commit": "75df12d60ed9d34dc8cd15ed4a8ccc210e3e179d",
      "tree": "4cdc59bd515ceebc746208e08b914dfe842762fe",
      "parents": [
        "235e9a1f80cb9dceee8cf6e4d7a06fa5457744fb"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bschubert@ddn.com",
        "time": "Fri Mar 20 18:20:01 2026 +0100"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "fusermount: Refactor extract_x_options\n\nJust to make it better readable.\n\nAlso add a NULL check for *regular_opts and *x_prefixed_opts,\nthere will be multiple callers in an upcoming commit and\nit becomes harder to track that no caller has an error.\n\nSigned-off-by: Bernd Schubert \u003cbschubert@ddn.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    },
    {
      "commit": "235e9a1f80cb9dceee8cf6e4d7a06fa5457744fb",
      "tree": "de907fdd7d6a0c91b6af8d11027acd37451706e6",
      "parents": [
        "c1653cf6e3ffe06ae4942351112a77e178cb1a41"
      ],
      "author": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Tue Mar 24 22:01:59 2026 +0100"
      },
      "committer": {
        "name": "Bernd Schubert",
        "email": "bernd@bsbernd.com",
        "time": "Sat May 02 15:45:40 2026 +0200"
      },
      "message": "fusermout: Remove the large read check\n\n\u003cquote Darrick\u003e\nNobody\u0027s running 2.4 kernels\nanymore, right?\n\u003c/quote\u003e\n\nSigned-off-by: Bernd Schubert \u003cbernd@bsbernd.com\u003e\nReviewed-by: \"Darrick J. Wong\" \u003cdjwong@kernel.org\u003e\n"
    }
  ],
  "next": "c1653cf6e3ffe06ae4942351112a77e178cb1a41"
}
