)]}'
{
  "log": [
    {
      "commit": "7a3681e5b6c39bc2b3b62031ca5941dbf7bc4e63",
      "tree": "78c25e2a38b7efed8db770a623a5cbfb7eaab11d",
      "parents": [
        "ca5e0f49ca5df873a20c996755175b5c9c1e2ed9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 24 17:48:32 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 03 08:50:43 2017 -0700"
      },
      "message": "Move libc_log code into libasync_safe.\n\nThis library is used by a number of different libraries in the system.\nMake it easy for platform libraries to use this library and create\nan actual exported include file.\n\nChange the names of the functions to reflect the new name of the library.\n\nRun clang_format on the async_safe_log.cpp file since the formatting is\nall over the place.\n\nBug: 31919199\n\nTest: Compiled for angler/bullhead, and booted.\nTest: Ran bionic unit tests.\nTest: Ran the malloc debug tests.\nChange-Id: I8071bf690c17b0ea3bc8dc5749cdd5b6ad58478a\n"
    },
    {
      "commit": "a170d9bfc5fd34097a184bb0ca4d2b459fd93bd1",
      "tree": "272823099dddc33188abc094c4902f8dd274e55d",
      "parents": [
        "98d655ce964a9c5ca8d80b54fd88f1fbb2dbb212"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 10 16:08:29 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Nov 10 17:02:45 2016 -0800"
      },
      "message": "Revert \"Revert \"Attempt to use arc4random where getauxval(AT_RANDOM) is used.\"\"\n\nThis reverts commit 60d052dda600f26fdb6180ac1a2c53e97df5a58a.\n\nBug: http://b/27729263\nChange-Id: I7f32dc9f9a1f21fda3213f10da940821e1bdd63f\n"
    },
    {
      "commit": "60d052dda600f26fdb6180ac1a2c53e97df5a58a",
      "tree": "2c4dc3b5b8835af4d02f477df021fbc4e9eb9edd",
      "parents": [
        "78a52f19bb207d1c736f1d5362e01f338d78645f"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Sep 02 05:48:11 2016 +0000"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Sep 02 05:48:11 2016 +0000"
      },
      "message": "Revert \"Attempt to use arc4random where getauxval(AT_RANDOM) is used.\"\n\nThis reverts commit 78a52f19bb207d1c736f1d5362e01f338d78645f.\n\nChange-Id: Ia72501ad0b81e894d67e5ce59b597397c11acfa5\n"
    },
    {
      "commit": "78a52f19bb207d1c736f1d5362e01f338d78645f",
      "tree": "8c2a9be3f66f3f6e82c752683a4dab2619fa5eb2",
      "parents": [
        "5faef47e438d20600655e2f5ef473c2d63cbf2c0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jun 24 17:14:14 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Aug 31 18:01:05 2016 -0700"
      },
      "message": "Attempt to use arc4random where getauxval(AT_RANDOM) is used.\n\nWhen arc4random can get entropy (which is true for basically everyone\nbut init on kernels that don\u0027t support getrandom), use it instead of\nAT_RANDOM.\n\nBug: http://b/29622562\nChange-Id: I6932803af2c477e65562ff531bd959f199fad1df\n"
    },
    {
      "commit": "a4c69137c693c45fce4010ba61d69d7147f5dd9a",
      "tree": "ad08fb5e8878682c4cc959d44c507aa68be8bce9",
      "parents": [
        "5e57039c24d8aa777480e33255d627ca28af7dfe"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 02 19:03:17 2016 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Mar 03 12:45:08 2016 -0800"
      },
      "message": "Add a checksum to jmp_buf on ARM.\n\nMake it easier to diagnose applications mucking with the contents of\njmp_buf by checksumming its contents.\n\nBug: http://b/27417786\nChange-Id: I9989e2ea3979a36ae0bc4c9e1bacafddbacc731b\n"
    },
    {
      "commit": "fe9d0ed6cb10d5403e54d2dd12628a0ec345ae6e",
      "tree": "6d2041d7c21174599ed9815d43f43b82568ffebd",
      "parents": [
        "93c0f5ee00d1357247fda333c9d49c8673c9c83b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Oct 07 14:32:36 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Oct 09 15:59:04 2015 -0700"
      },
      "message": "Move setjmp cookie to a shared globals struct.\n\nChange-Id: I59a4c187d61524c4e48655c4c6376dba0d41eee2\n"
    },
    {
      "commit": "7fda8d2aa4d24ab400f6f0cb9f792488b634afae",
      "tree": "d81ce371104bff97fa70f76b76eefe05b0c588f5",
      "parents": [
        "90fc8e24876412a816776d44bedc77e1f1888a13"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 10 15:40:24 2015 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Sep 17 14:07:24 2015 -0700"
      },
      "message": "Implement setjmp cookies on ARM.\n\nReuse the top bits of _JB_SIGFLAG field previously used to store a\nboolean to store a cookie that\u0027s validated by [sig]longjmp to make it\nharder to use as a ROP gadget. Additionally, encrypt saved registers\nwith the cookie so that an attacker can\u0027t modify a register\u0027s value to\na specific value without knowing the cookie.\n\nBug: http://b/23942752\nChange-Id: Id0eb8d06916e89d5d776bfcaa9458f8826717ba3\n"
    }
  ]
}
