)]}'
{
  "log": [
    {
      "commit": "ba3187f102e934061a0e6969a15db92c5f909b51",
      "tree": "f7f23b6759b66fd45a392bfc43882f97d4071a7d",
      "parents": [
        "332065d57e734b65f56474d136d22d767e36cbcd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 18 17:25:53 2021 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 18 17:25:53 2021 -0800"
      },
      "message": "Don\u0027t dump backtraces while running fdtrack tests.\n\nI\u0027m assuming this was useful while debugging, but isn\u0027t needed now.\n\nBug: http://b/180605583\nTest: check logs\nChange-Id: I9d5bb8db60e7709a9a52e29469f7fd1d5a9cb085\n"
    },
    {
      "commit": "e3bc50d44f40c311ad0dcb380f8d0d1f6a7b231b",
      "tree": "9c584c41f7bd2ae33e50be448a72c340648629c0",
      "parents": [
        "10bad3e882f50985b6984fe7cb5ac6f52d233b1a",
        "41291131284471eed7cb6c22cac8b442fd3d1c52"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 12 07:04:58 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 12 07:04:58 2020 +0000"
      },
      "message": "Merge changes If42905f3,Id351a993,I8a082fd0\n\n* changes:\n  fdtrack: don\u0027t do anything while vforked.\n  fdsan: don\u0027t do anything when vforked.\n  Track whether a thread is currently vforked.\n"
    },
    {
      "commit": "41291131284471eed7cb6c22cac8b442fd3d1c52",
      "tree": "2c3d0a4a905545d3c15f17089e1ab818b7f2c7a4",
      "parents": [
        "65fb2a7f0304fda4463771ae40f8b83728e74a62"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 19:43:38 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu May 07 20:18:45 2020 -0700"
      },
      "message": "fdtrack: don\u0027t do anything while vforked.\n\nBug: http://b/153926671\nTest: 32/64-bit bionic-unit-tests on blueline, x86_64 emulator\nChange-Id: If42905f3d6a76ed70a45e5b9edd029ffd7789045\n"
    },
    {
      "commit": "9413ae7366a31fe37fef7ef74bcaeb3068b047cc",
      "tree": "00ef7eebd1bc47027136126dcee06ff731c2c8c5",
      "parents": [
        "4d0c40be89976f4713eb54957327306033bcbc07"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 30 16:03:44 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Apr 30 16:17:04 2020 -0700"
      },
      "message": "fdtrack: fix accept test, add test for accept4.\n\naccept creates an additional socket behind the scenes to communicate\nwith netd. Filter out events for temporarily created, but then closed\nfds to allow for this.\n\nBug: https://issuetracker.google.com/154450436\nTest: bionic-unit-tests\nChange-Id: I2168ddc60f307278e3257ffcdf591272d61d45bb\n"
    },
    {
      "commit": "b107eab5ef1d5946bd753cad0e8b178172d362df",
      "tree": "3f3dff46fc388e0a89e7d976847ae8e8eb85c16f",
      "parents": [
        "7de412443dd4201c61d7bb17c443bbf2dfd96bad"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:17:56 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:21:16 2020 -0700"
      },
      "message": "fdtrack: add wrapper for socketpair.\n\nBug: https://issuetracker.google.com/154450436\nTest: bionic-unit-tests\nChange-Id: I8b25accf00dc01f6fab351f3ba612f6b0ff9d094\n"
    },
    {
      "commit": "7de412443dd4201c61d7bb17c443bbf2dfd96bad",
      "tree": "7baeb6908bc043f7111d32a0cfd18674919ab1da",
      "parents": [
        "a38331d833fb74607e964b0749427415545018fe"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:08:46 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:21:16 2020 -0700"
      },
      "message": "fdtrack: add wrapper for eventfd.\n\nBug: https://issuetracker.google.com/154450436\nTest: bionic-unit-tests\nChange-Id: I59013f0c4da0debbcc50269c64ae9db0cdc4eaa0\n"
    },
    {
      "commit": "a38331d833fb74607e964b0749427415545018fe",
      "tree": "b5e787337e25e4b7d7ba735611edcf0c3e8ac613",
      "parents": [
        "1fad5283a07e87b3ae28f4a2dd6943d600c2926b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:06:14 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:21:16 2020 -0700"
      },
      "message": "fdtrack: add wrappers for epoll_create, epoll_create1.\n\nBug: https://issuetracker.google.com/154450436\nTest: bionic-unit-tests\nChange-Id: I6c881e5d67596c543526536541d5b8086e21d9e9\n"
    },
    {
      "commit": "1fad5283a07e87b3ae28f4a2dd6943d600c2926b",
      "tree": "4baedc4b3d0d8342cbfe1a974bd4a88dbc577b6d",
      "parents": [
        "9d512402d4a07053f179bf33d78a9beda1424306"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:00:13 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:21:16 2020 -0700"
      },
      "message": "fdtrack: add wrappers for pipe, pipe2.\n\nBug: https://issuetracker.google.com/154450436\nTest: bionic-unit-tests\nChange-Id: I66826f312a65ab9f1bd8193bf684e330baa952dc\n"
    },
    {
      "commit": "9d512402d4a07053f179bf33d78a9beda1424306",
      "tree": "11b140506ac2f8325f61b95a20bc6c5e98821372",
      "parents": [
        "38d00b80a072374792bb159e558195eeb8cbd271"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 16:34:37 2020 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 29 17:21:12 2020 -0700"
      },
      "message": "fdtrack: add tests for individual wrappers.\n\nAdd tests for all of our existing wrappers (with one commented out,\nbecause it\u0027s unexpectedly generating multiple events).\n\nBug: https://issuetracker.google.com/154450436\nTest: bionic-unit-tests\nChange-Id: I552692aef952237c2eee0dabec61b7ea7fd230e3\n"
    },
    {
      "commit": "759625072270f5b6940dae40c8039867a08eff12",
      "tree": "e0a1227301a6b67509badba95a91998d5c04e18d",
      "parents": [
        "97271920bf831610819ddfa44e4e2cc0815afd6e"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 28 13:24:33 2020 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Move fdtrack APIs to LLNDK.\n\nTest: logcat -c; fdtrack_test; logcat -d\nChange-Id: Ib6f75a7c8bbc4d6efa0708dcbbfe4ad3c0641022\n"
    },
    {
      "commit": "97271920bf831610819ddfa44e4e2cc0815afd6e",
      "tree": "0ba61ad31242b38becb89cab8702df68328a1e71",
      "parents": [
        "7ef4c774da59bbf942b5652b1f68e46cac2e5099"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Nov 06 13:15:00 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 30 13:55:10 2020 -0800"
      },
      "message": "Add a tool to track down fd leaks.\n\nAdd a hook that\u0027s called upon file descriptor creation to libc, and a\nlibrary that uses it to capture backtraces for file descriptor creation,\nto make it easier to hunt down file descriptor leaks.\n\nCurrently, this doesn\u0027t capture all of the ways of creating a file\ndescriptor, but completeness isn\u0027t required for this to be useful as\nlong as leaked file descriptors are created with a function that is\ntracked. The primary unhandled case is binder, which receives file\ndescriptors as a payload in a not-trivially-parsable byte blob, but\nthere\u0027s a chance that the leak we\u0027re currently trying to track down\nisn\u0027t of a file descriptor received over binder, so leave that for\nlater.\n\nBug: http://b/140703823\nTest: manual\nChange-Id: I308a14c2e234cdba4207157b634ab6b8bc539dd9\n(cherry picked from commit b7eccd4b1577c101132e52d4a5313d5322dcae2d)\n"
    }
  ]
}
