)]}'
{
  "commit": "6805bd4731eb1b0336bd37996971e0ac0f9f08ca",
  "tree": "a5b6d1308aa1952170d50ecb681991cca067a3ef",
  "parents": [
    "e8ae7a855809510cdf0d7001107273c2cf92263b"
  ],
  "author": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Sat Nov 01 01:54:52 2025 -0400"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Sat Nov 01 01:54:52 2025 -0400"
  },
  "message": "get rid of audit_reusename()\n\nOriginally we tried to avoid multiple insertions into audit names array\nduring retry loop by a cute hack - memorize the userland pointer and\nif there already is a match, just grab an extra reference to it.\n\nCute as it had been, it had problems - two identical pointers had\naudit aux entries merged, two identical strings did not.  Having\ndifferent behaviour for syscalls that differ only by addresses of\notherwise identical string arguments is obviously wrong - if nothing\nelse, compiler can decide to merge identical string literals.\n\nBesides, this hack does nothing for non-audited processes - they get\na fresh copy for retry.  It\u0027s not time-critical, but having behaviour\nsubtly differ that way is bogus.\n\nThese days we have very few places that import filename more than once\n(9 functions total) and it\u0027s easy to massage them so we get rid of all\nre-imports.  With that done, we don\u0027t need audit_reusename() anymore.\nThere\u0027s no need to memorize userland pointer either.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7377020a2cba02501483020e0fc93c279fb38d3e",
      "old_mode": 33188,
      "old_path": "fs/namei.c",
      "new_id": "dd86e41deeebac04e12649b517c44819581fe70a",
      "new_mode": 33188,
      "new_path": "fs/namei.c"
    },
    {
      "type": "modify",
      "old_id": "536f8ee8da818c642aff343618ac45ed15314c0a",
      "old_mode": 33188,
      "old_path": "include/linux/audit.h",
      "new_id": "d936a604d056875d66e496dcad9f5af562930f11",
      "new_mode": 33188,
      "new_path": "include/linux/audit.h"
    },
    {
      "type": "modify",
      "old_id": "c895146c1444be36e0a779df55622cc38c9419ff",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "bbae3cfdc33834068bb2c77ecf4dcb4a4926c0ba",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    },
    {
      "type": "modify",
      "old_id": "d1966144bdfe707045c9e3c0a3b537a2b73193b2",
      "old_mode": 33188,
      "old_path": "kernel/auditsc.c",
      "new_id": "e59a094bb9f7e6ca6770e98898d8bf7b2088df18",
      "new_mode": 33188,
      "new_path": "kernel/auditsc.c"
    }
  ]
}
