)]}'
{
  "log": [
    {
      "commit": "99d54656bda40edb817e6bc6de9a85d88ef4e6b5",
      "tree": "1a176f12c89582f0d06a3376ef66c6281d8af01c",
      "parents": [
        "8f2298e73f4d930b58a8466fd7264e9a88c96d99"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 22 10:36:23 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 22 10:36:23 2018 -0700"
      },
      "message": "Add PR_SET_VMA and PR_SET_VMA_ANON_NAME to \u003csys/prctl.h\u003e.\n\nWe\u0027ve copied \u0026 pasted these to too many places. And if we\u0027re going to\nhave another go at upstreaming these, that\u0027s probably yet another reason\nto have the *values* in just one place. (Even if upstream wants different\nnames, we\u0027ll likely keep the legacy names around for a while for source\ncompatibility.)\n\nBug: http://b/111903542\nTest: ran tests\nChange-Id: I8ccc557453d69530e5b74f865cbe0b458c84e3ba\n"
    },
    {
      "commit": "d91285f1666a2bbca9f4d620bbd74ab87632a8c4",
      "tree": "8def602a6ddf96c73f971132f87633ff1071bc73",
      "parents": [
        "5258c2518e582585e1b00097296053b334790d13"
      ],
      "author": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue May 01 18:03:05 2018 -0700"
      },
      "committer": {
        "name": "Ryan Prichard",
        "email": "rprichard@google.com",
        "time": "Tue May 01 18:19:21 2018 -0700"
      },
      "message": "Fix PROP_FILENAME_MAX overflow handling\n\nBug: b/79117743\nTest: /data/nativetest64/bionic-unit-tests/bionic-unit-tests\nChange-Id: Idd5aa4d195abc13c06d3e5b57aef69a68c2a9a9d\n"
    },
    {
      "commit": "e275d6d72db1868056a204e8483a7346a28cb8d6",
      "tree": "3191e33ca242518f7d486c6b37212c7f682498b0",
      "parents": [
        "721a5305e24b69b68ecc9431526f32131abc8f6c"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Dec 11 23:31:33 2017 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Dec 18 15:17:55 2017 -0800"
      },
      "message": "Split properties into their own class to make testing better\n\nReinitializing system properties can result in crashes later in the\nprogram, and is generally not recommended or even supported.  This\nchange moves the actual logic for system properties into a class that\ncan be tested in isolation, without reinitializing the actual system\nproperty area used in libc.\n\nBug: 62197783\nTest: boot devices, ensure properties work\nTest: system property unit tests and benchmarks\nChange-Id: I9ae6e1b56c62f51a4d3fdb5b62b8926cef545649\n"
    },
    {
      "commit": "79b724ca5a33e5dff7c2530b2649648021c1258d",
      "tree": "703e81d1d3c41fe093f4747d4d7d4324427dde2c",
      "parents": [
        "78b40e8fe1f37de319344c92d8e6e1eb595c1067"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Nov 17 17:14:05 2017 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Dec 12 00:36:20 2017 -0800"
      },
      "message": "Add support for serialized property contexts\n\nThis adds support for reading a serialized\n/dev/__properties__/property_info file, which contains a\nserialized trie that maps property names to the SELinux context to\nwhich they belong.\n\nPerformance wise on walleye, this change reduces the start up cost in\nlibc from ~3000us to ~430us.  On a benchmark that calls\n__system_property_find() for each property set on the system, it\nreduces the time per iteration from ~650us to ~292us.\n\nBug: 36001741\nTest: Boot bullhead, walleye, run unit tests\nTest: Benchmark initialization and lookup performance\n\nChange-Id: I0887a3a7da88eb51b6d1bd494fa5bce593423599\n"
    }
  ]
}
