)]}'
{
  "commit": "79d07484f145ae40ac42dc569d393b6396b39cb0",
  "tree": "03f292adad3acc47e7b079726e4ac839303c63a0",
  "parents": [
    "fb5a752614edf90541322763e9b0bb70a9b55a07"
  ],
  "author": {
    "name": "anish",
    "email": "145943060+anishesg@users.noreply.github.com",
    "time": "Mon Jul 06 08:23:42 2026 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 06 18:23:42 2026 +0300"
  },
  "message": "fix(linux): prevent infinite re-exec loop under AppArmor (#2239)\n\n* fix(linux): prevent infinite re-exec loop under AppArmor\n\nThe `MaybeReenterWithoutASLR()` function in `src/benchmark.cc` caused infinite execv() loops when running benchmarks under AppArmor-enabled LSMs. The existing fix from #1985 only checked whether personality(ADDR_NO_RANDOMIZE) succeeded in the current process before calling execv(). However, some LSMs like AppArmor can silently reset personality flags during the execve() system call transition, even though the flag was successfully set in the parent process.\nAdditionally, ensure that we actually report that ASLR is still on in case we fail to unset it.\n\nSigned-off-by: anish \u003canishesg@users.noreply.github.com\u003e\nCo-authored-by: anish \u003canishesg@users.noreply.github.com\u003e\nCo-authored-by: Roman Lebedev \u003clebedev.ri@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "22817851ad3c13ddee9a520341c1fa3f7e6b2650",
      "old_mode": 33188,
      "old_path": "src/benchmark.cc",
      "new_id": "7217fc4ed2e7112fd4ee0493ed2f99f09470e913",
      "new_mode": 33188,
      "new_path": "src/benchmark.cc"
    }
  ]
}
