)]}'
{
  "log": [
    {
      "commit": "79dbdc3c22d924540c86ed4ea5a7a6945392760b",
      "tree": "75b1760093a436b58f804a0a7535e0d94d740e4c",
      "parents": [
        "58679c8d6aefb9ce7663665cbc1a676a0a976139"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 25 09:16:18 2021 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jun 25 09:16:18 2021 -0700"
      },
      "message": "Document more clearly that we don\u0027t plan on using faccessat2(2).\n\nTest: treehugger\nChange-Id: Idea76ab97865bf26c1f6b16200ba2c7d1fe50ee8\n"
    },
    {
      "commit": "50080a29f7327fcd009344844bb9e643b2d6b9c3",
      "tree": "41756be57e12ffe374147c12b954cfe01b44140c",
      "parents": [
        "745137c827f6e593ddf1c01783ca41a676ddd172"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 19 12:47:53 2019 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 19 15:38:42 2019 -0700"
      },
      "message": "Remove the ___ hack.\n\nPlain __ for generated syscalls didn\u0027t mean it was a hidden symbol, it\njust meant \"please don\u0027t use this\". We added ___ to signify that a\nhidden symbol should be generated, but then we added the map files\nanyway so you now have to explicitly export symbols. Given that, this\nconvention serves no particular purpose so we may as well just use the\nnicer names have everything look the same.\n\nTest: treehugger\nChange-Id: If424e17a49c36f4be545f5d283c4561a6ea9c7ea\n"
    },
    {
      "commit": "125f1c0f224e2e50ea285ed184789765ce12feee",
      "tree": "d573ff4a994ab4fa046bf36de2e7132b72d6fbc6",
      "parents": [
        "03709055024a84d319404dd23181fd1576ee5b59"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 14 09:49:30 2017 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 14 12:55:15 2017 -0800"
      },
      "message": "Add details on why AT_SYMLINK_NOFOLLOW is dangerous\n\nThe comment isn\u0027t helpful as-is. Provide some clarifying information.\n\nTest: code compiles. No functional changes.\nChange-Id: I5267e0bc68857fdc8a4b3384a2a1b0d37693ee6e\n"
    },
    {
      "commit": "35778253a5ed71e87a608ca590b63729d9f88567",
      "tree": "d9e6112654bf2faa754abd9f28bc20c2ccccff57",
      "parents": [
        "2aef607b25c463baed5ae70d14212e24ea7bcf2b"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 24 13:40:43 2015 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 24 13:40:43 2015 -0800"
      },
      "message": "Fix \"faccessat ignores flags\"\n\nThe kernel system call faccessat() does not have any flags arguments,\nso passing flags to the kernel is currently ignored.\n\nFix the kernel system call so that no flags argument is passed in.\n\nEnsure that we don\u0027t support AT_SYMLINK_NOFOLLOW. This non-POSIX\n(http://pubs.opengroup.org/onlinepubs/9699919799/functions/access.html)\nflag is a glibc extension, and has non-intuitive, error prone behavior.\n\nFor example, consider the following code:\n\n  symlink(\"foo.is.dangling\", \"foo\");\n  if (faccessat(AT_FDCWD, \"foo\", R_OK, AT_SYMLINK_NOFOLLOW) \u003d\u003d 0) {\n    int fd \u003d openat(AT_FDCWD, \"foo\", O_RDONLY | O_NOFOLLOW);\n  }\n\nThe faccessat() call in glibc will return true, but an attempt to\nopen the dangling symlink will end up failing. GLIBC documents this\nas returning the access mode of the symlink itself, which will\nalways return true for any symlink on Linux.\n\nSome further discussions of this are at:\n\n  * http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003617.html\n  * http://permalink.gmane.org/gmane.linux.lib.musl.general/6952\n\nAT_SYMLINK_NOFOLLOW seems broken by design. I suspect this is why this\nfunction was never added to POSIX. (note that \"access\" is pretty much\nbroken by design too, since it introduces a race condition between\ncheck and action). We shouldn\u0027t support this until it\u0027s clearly\ndocumented by POSIX or we can have it produce intuitive results.\n\nDon\u0027t support AT_EACCESS for now. Implementing it is complicated, and\npretty much useless on Android, since we don\u0027t have setuid binaries.\nSee http://git.musl-libc.org/cgit/musl/commit/?id\u003d0a05eace163cee9b08571d2ff9d90f5e82d9c228\nfor how an implementation might look.\n\nBug: 18867827\nChange-Id: I25b86c5020f3152ffa3ac3047f6c4152908d0e04\n"
    }
  ]
}
