)]}'
{
  "log": [
    {
      "commit": "038ef23f62d003ba7e2105bc1d9545e88e822645",
      "tree": "7f487c244c9388721389d169ba8cbe617f328fb3",
      "parents": [
        "9c85408d953ea543cc58ea2c1c48b2c65390e834"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 16 15:00:59 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 22 20:22:14 2018 +0000"
      },
      "message": "Use the ion.h from the kernel headers.\n\nAll code that needs to use the frozen version of ion.h header should\nhave a copy, so move to the version as parsed from the real headers.\n\nTest: Compiled and boots.\nChange-Id: If9feae9c163ca64c4862045e86611fd3cf1fc18e\n"
    },
    {
      "commit": "934ec9495505d234b2c2fa284470c2f44aae9de9",
      "tree": "ff6d5b5c9a57f994492c8ce74518b60baf0f48ef",
      "parents": [
        "b44bd827abf2b870ebf4a0f6b126098a46bf42ec"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 31 15:29:16 2018 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 01 10:51:01 2018 -0800"
      },
      "message": "Update to v4.15 kernel headers.\n\nTest: Compiles, boots bullhead/hikey960.\nChange-Id: I118beb8b6cac0881b1270f9bf6981959297a41a8\n"
    },
    {
      "commit": "64f355ffbd715a3c8b467c3b37701ad404b566b4",
      "tree": "04e1e9ddac688de976ae427ece327ee1c68afeb5",
      "parents": [
        "3ba327198a42eecd2fbc2556d7d0fa41f8d6b17b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 30 16:10:24 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Dec 14 10:07:27 2017 -0800"
      },
      "message": "Use in_addr in ip_mreq_source and ip_msfilter.\n\nThis adds a new mechanism to say \"replace struct S with #include \u003cbits/S.h\u003e\".\n\nAlso switch epoll_event over to the new mechanism.\n\nAlso use the kernel\u0027s struct sockaddr_storage directly rather than behind\nan unnecessary #define.\n\nThis patch also removes some dead code in the header scrubber. This code\nstill needs rewriting completely. I learned that a \"block\" isn\u0027t necessarily\na single struct definition, say; it might be a run of them. It seems like\na block is a run of preprocessor directives or a run of regular code.\n\nBug: https://issuetracker.google.com/36987220\nTest: new test\nChange-Id: Ic6a5c09559766a4babe3cd4c3ea538b885e07308\n"
    },
    {
      "commit": "8c75675ec69a65faf9bd422b4df19588151da95d",
      "tree": "5387aeb938fc6e6c49bdecf6c87bc3559710e5d3",
      "parents": [
        "e0dfad45047ed5276b40f126f199b312fb1ea498",
        "baed51ee3a13dae4b87b11870bdf7f10bdc9efc1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 16 21:46:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 16 21:46:49 2017 +0000"
      },
      "message": "Merge \"Change ARG_MAX/_SC_ARG_MAX back to a constant.\""
    },
    {
      "commit": "baed51ee3a13dae4b87b11870bdf7f10bdc9efc1",
      "tree": "7c04199156be4e1e7101b2c57cd4fa558baadcda",
      "parents": [
        "de5f9a1c54eebd1b66a5dfeaffbe3e703e76c86e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 15 15:14:35 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 15 15:14:35 2017 -0800"
      },
      "message": "Change ARG_MAX/_SC_ARG_MAX back to a constant.\n\nAs per the lkml thread https://lkml.org/lkml/2017/11/1/946.\n\nBug: http://b/65818597\nTest: ran tests\nChange-Id: I7a0610e6903e6761f2b31416e2f5017bd7a60659\n"
    },
    {
      "commit": "1308ad3ab33294c3abfd96da12b6df58b381ce52",
      "tree": "10aea87a1e3992b38fcc830b74bc4962a1f537bf",
      "parents": [
        "315dd896deae928f3e64f94d75cd20566cc95183"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Nov 14 17:32:13 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 15 12:23:56 2017 -0800"
      },
      "message": "Update to kernel headers v4.14.\n\nRemove the hiding of the kernel structure binder_fd_array_object. This\nstructure now matches the structure used in the binder code.\n\nLoad the libclang_android.so shared library directly for parsing.\nThis file changed name in a recent update to the prebuilts.\n\nTest: Compiles arm/arm64/x86/x86_64.\nTest: Boots on hikey and boots on a sailfish.\nTest: Ran bionic unit tests on hikey and sailfish.\nChange-Id: I141a4b93ac3511cd58f4d12bb3c0d4efaa4c2742\n"
    },
    {
      "commit": "02ce96835b885817e25842ab8443a83af4385d2a",
      "tree": "bd3aefaad41df37759f954bf01539902f718a06f",
      "parents": [
        "89d6c321f8380a461741b820996d92120fa99d9c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 03 18:55:45 2017 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Aug 03 18:55:45 2017 +0000"
      },
      "message": "Revert \"Revert \"Move back to the previous version of ion.h.\"\"\n\nThis reverts commit 89d6c321f8380a461741b820996d92120fa99d9c.\n\nReason for revert: Still a bunch of branches/builds depending on this incorrectly.\n\nChange-Id: I8de678848b0e5445837c02c0942f7388d27dbfd7\n"
    },
    {
      "commit": "89d6c321f8380a461741b820996d92120fa99d9c",
      "tree": "3d8ceb136b85cdd90c102c807e1b6571bcc4677e",
      "parents": [
        "1a0344d65dd0f5d965029110985094d94d177389"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 01 19:32:14 2017 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 01 19:32:14 2017 +0000"
      },
      "message": "Revert \"Move back to the previous version of ion.h.\"\n\nThis reverts commit 1a0344d65dd0f5d965029110985094d94d177389.\n\nReason for revert: Fixed the original problem.\n\nChange-Id: Ibf4ba05160048a3216e0cc49cc88519f73d00fa4\n"
    },
    {
      "commit": "1a0344d65dd0f5d965029110985094d94d177389",
      "tree": "bd3aefaad41df37759f954bf01539902f718a06f",
      "parents": [
        "6c26e9ec6fc07809b3f24150544f4b2b31d98860"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Jul 29 13:42:28 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Jul 29 13:45:07 2017 -0700"
      },
      "message": "Move back to the previous version of ion.h.\n\nThe new kernel headers changed this and lots of parts of the tree\nwant the old definition, so restore the previous version.\n\nTest: Builds.\nChange-Id: I725e56bb7c51c9fcd23ebc4b67eac33d66e196e7\n"
    },
    {
      "commit": "525ce914edf136d2bd02ac8c404d56c52e737f4d",
      "tree": "0da29892c385ef568bc67ff2f2814bfb2f7b0412",
      "parents": [
        "4f36cabd8d1b1f3ed6ad4586f86aad5731f4bdaf"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 26 13:12:53 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 27 16:01:39 2017 -0700"
      },
      "message": "Update to kernel headers v4.12.3.\n\nTest: Built angler.\nChange-Id: Icbcf4fac2334de8409b049ed7a3b4c24b4e98ce9\n"
    },
    {
      "commit": "96c1db7b9d601c31d103389cac074a6cce0d7633",
      "tree": "510f40be13090fa582b61aed7c3eb7e70d3ff559",
      "parents": [
        "6c01208e902b18aad4b0254ccb95b94a2b5fc341"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 13:48:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 25 13:48:01 2017 -0700"
      },
      "message": "Remove the repetitive warnings from the uapi headers.\n\nHaving\n\n  WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS\n\nevery four lines made the headers harder to read, made the diffs much worse\neach time we upgraded, and wasn\u0027t really providing any benefit. Before the\nnext uapi update, let\u0027s just stop doing this.\n\nBug: N/A\nTest: builds, manually inspected files look right\nChange-Id: Id7088cf750894c9d24950f3d53587fe3156c4f7d\n"
    },
    {
      "commit": "497ad30d7d76721adab8830a76e72bcc9a840ba5",
      "tree": "62ec1976efb39168023cc66892c47a1e20b5acf4",
      "parents": [
        "7ff7ed1c7de40059f1f21f59eed338603bec08e0"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 18 15:05:26 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu May 18 15:05:26 2017 -0700"
      },
      "message": "Make `union semun` usable.\n\nThis is a bit bogus because it\u0027s been removed from glibc (though not\nthoroughly) and is never useful on Android (because the system calls\nin question are compiled out of Android kernels, and SELinux would\ndisallow them even if you weren\u0027t running an Android kernel). This\nalso means that on glibc you need to include \u003clinux/sem.h\u003e for this\nand on bionic you need \u003csys/sem.h\u003e (and for either if you #include\nthe other file, you won\u0027t get this union).\n\nBug: https://github.com/android-ndk/ndk/issues/400\nTest: added new test\nChange-Id: I47f721da77515531f616d6ad8479bfbc9b60ee47\n"
    },
    {
      "commit": "ee1e0a34ae01aa01a207f00f0fe6cfb09852e44e",
      "tree": "d5f1778781d90388619c6a23977bad9f9ce6b5a8",
      "parents": [
        "627ed9162538d847ea4e530fd443570d37f57d65"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 20 13:38:49 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 21 20:59:53 2017 -0700"
      },
      "message": "Update static functions/macro definitions.\n\nFix the list of static functions coming from swab.h to match the\nones exported by glibc.\n\nForce the definition of __HAVE_BUILTIN_BSWAP{16,32,64}__ so the headers\nuse the builtin.\n\nAdd a unit test to guarantee that kernel header updates do not break this.\n\nTest: Built and booted angler.\nTest: Built the bionic unit tests for arm, arm64, mips, x86, x86_64.\nTest: Ran the new test on angler and glibc.\n\nChange-Id: I4ce229e3f198c204186d72bf22dd97b5cdf239e4\n"
    },
    {
      "commit": "5f41ce25c60df2012b58846940dfac58dce50e59",
      "tree": "7da7bb25ce3dceb8c5c0e2608a5135cd3bba6b49",
      "parents": [
        "c712aedb0c44cce46a8a2097f5ab2b1fbde3cd4d",
        "48af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Feb 27 20:09:54 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 27 20:09:54 2017 +0000"
      },
      "message": "Merge \"Update to kernel headers v4.10.\""
    },
    {
      "commit": "893fd97cdcfbb040c938acac42658c885da879ee",
      "tree": "0895bc2463681e35c48805993bbcc95c01b581e9",
      "parents": [
        "c84e8a507cd0384f9124d06ec6cc70807b4c293b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 22 23:22:51 2017 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 23 17:26:24 2017 -0800"
      },
      "message": "Use \u003clinux/eventpoll.h\u003e to implement \u003csys/epoll.h\u003e.\n\nBug: https://github.com/android-ndk/ndk/issues/302\nTest: builds\nChange-Id: Ia3074326a128c38f2488e342c028cc030801cfd9\n"
    },
    {
      "commit": "48af7cb2e205dcc2f09a1a1b8a1a37c93e1943f0",
      "tree": "e8d9f372688f7ae3660b49721e7808b8181a49b3",
      "parents": [
        "40854235256c3f51f9ea866f5f8ef03240c00123"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 21 12:35:09 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Feb 21 14:42:34 2017 -0800"
      },
      "message": "Update to kernel headers v4.10.\n\nTest: Built angler, booted on angler, ran bionic unit tests.\nChange-Id: Ia24511e74106116ea84b44ab724865ec492de8f9\n"
    },
    {
      "commit": "351a796d2d17efa09b13afdb983270a33cd8d77d",
      "tree": "5f5e19db9b31c97713e79997db30a379babbb728",
      "parents": [
        "00e388df4efc102d8bd58bcd5746422461bee53b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jan 27 10:49:48 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jan 27 10:49:48 2017 -0800"
      },
      "message": "Update to kernel headers v4.9.6.\n\nTest: Built arm/arm64/x86/x86_64 targets.\nChange-Id: Id4d2711aaa96fe537f3726a0a89f2959e9cca34a\n"
    },
    {
      "commit": "6a9755d20a995756487bb1aafb7e954f4fd868a7",
      "tree": "0278ddd8ea343a9b9d7038ad907450ec7eca6130",
      "parents": [
        "18c009ca96a432b35c76aeb9f62687b2db5153c0"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jan 13 14:09:31 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jan 25 16:23:56 2017 -0800"
      },
      "message": "Update to kernel headers v4.9.3.\n\nTest: Built arm, arm64, x86, x86_64 targets.\nTest: Booted on angler, and ran bionic unit tests (32 bit and 64 bit).\n\nChange-Id: I14a8dcbea11b41f83431eabed6590cd25af07b1d\n"
    },
    {
      "commit": "49f525c47bd383cd6a87db8f067cddb3ab620d17",
      "tree": "cf718a23048444de49eb9a4a8a7df64990d25893",
      "parents": [
        "e54c49050368cda50aa98af653e80f660467e246"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 12 14:55:36 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 12 19:08:01 2016 -0800"
      },
      "message": "Update to kernel headers v4.8.14.\n\nTest: Built mips/arm/arm64/x86/x86_64. Built and booted angler.\nChange-Id: Icedb035769d8a41a170a6f1ecd707113e332d8dd\n"
    },
    {
      "commit": "106b3a8a7dc03c19a45e322de425ac56aafac358",
      "tree": "e82b7f75fa5bca64b5aeb45ab20abff23e16de4b",
      "parents": [
        "0b1a2826508ee5b191650d1d8b1f6b028e970f3b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 24 12:15:38 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 29 12:07:13 2016 -0700"
      },
      "message": "Update to kernel headers v4.7.2.\n\nModify the kernel header update script to rename C++ keyword\nstruct members to something else. This fixes problems when including\nthese kernel files in C++ code.\n\nAlso, make a manual change to linux/fib_rules.h and comment out the\nvalue FRA_PAD since it conflicts with a special android kernel value\nFRA_UID_START that has not been upstreamed yet.\n\nTest: Built aosp_angler, aosp_x86_64, aosp_mips (bionic only)\nTest: Booted on angler and ran bionic unit tests\nTest: Built these changes in internal master\n\nChange-Id: Ia22b7e3ca409404696dba76311f49157f4a9ceed\n"
    },
    {
      "commit": "7c59f3f6f3b6dbfcfb261b07062590d2dad2da62",
      "tree": "79e7bb9bd94e4c39cc85acb534df52245d458050",
      "parents": [
        "fe4ab7dc30154f83a45769150392d6b47885c164"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 18:14:26 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 18 15:23:38 2016 -0700"
      },
      "message": "Flesh out \u003csys/msg.h\u003e, \u003csys/sem.h\u003e, \u003csys/shm.h\u003e.\n\nAlso fix \u003csys/ipc.h\u003e.\n\nNot useful except to systems/bringup folks for testing. Trivial tests\nadded, and double-checked under strace to see that things look right.\n\nx86 -- which works differently to everything else -- tested on the host.\n\nBug: http://b/27952303\nChange-Id: I328534e994ae9e90755f545478fba03038c0bb94\n"
    },
    {
      "commit": "38dba2e7e16028cdede8f48c58d18e79491f8ed9",
      "tree": "1d1f5128740bd3319b70815eb388dc6554a587c7",
      "parents": [
        "f5042cab109f7136191fd316be1471532d2ddf71"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 10 15:51:06 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 10 15:51:06 2016 -0700"
      },
      "message": "Fix sysconf(_SC_ARG_MAX).\n\nARG_MAX hasn\u0027t been a constant since Linux 2.6.23.\n\nBug: http://lists.landley.net/pipermail/toybox-landley.net/2016-August/008592.html\nChange-Id: I1eddb562751604c75b89fa610d79be0655c53693\nTest: ran the bionic tests on device and against glibc\n"
    },
    {
      "commit": "d6e8b8ca5672536c95856b99b302db6878d0fb1f",
      "tree": "d97f6b1dc46984a16b464a8ea1e28bf4291c0f2f",
      "parents": [
        "20de9ef5bdeb4d338206c0203560e5d4aa6334c5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 18 16:27:22 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jul 19 12:43:56 2016 -0700"
      },
      "message": "Move/remove android only kernel uapi headers.\n\nMove all of the uapi kernel headers that are only found in the android\nkernel, and are still used by the tree into their own directory.\n\nDelete all of these files that are not used.\n\nAlso, delete binder.h from the linux directory since it already exists\nin the linux/android directory.\n\nBug: 30072483\nChange-Id: I879f16e366f7670b8be3546b0a9cf9567fce6526\n"
    },
    {
      "commit": "82ef6a19cbaf86f7a1c4a2c13fa3e2dfb882733a",
      "tree": "7ba321c7a8a00ba9fb518e1924032699b28e039d",
      "parents": [
        "7d99bd38e479170d4d1d2e55c5df97b1cacaebfd"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 19 16:36:40 2016 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 19 17:03:14 2016 -0700"
      },
      "message": "Updated to v4.4.11 kernel headers.\n\nChange-Id: I6b55a921670d32d7bfff3c304d8001058409d3f7\n"
    },
    {
      "commit": "05d08e9716b5974d6ed08973f44930804890b902",
      "tree": "e3a33c02c6a918c04d30d93a315bf5b90b6cb512",
      "parents": [
        "d2be3802582e69bfaf1a8ab02849bc44c4fa2ce6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 04 13:16:38 2016 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 05 16:03:55 2016 -0800"
      },
      "message": "Updated to v4.4.1 kernel headers.\n\nSmall modifications needed to allow compilation with the new headers:\n\n- Manually modify bionic/libc/kernel/uapi/asm-mips/asm/siginfo.h to\n  remove the uapi from the include.\n- PR_XXX defines are now available for mips, so remove the definition\n  from linker_mips.cpp.\n\nBug: 23789423\nChange-Id: I6dc8a03b012426d3a937db15cb24d3a50fab5a8c\n"
    },
    {
      "commit": "f8a2243ebeb3ce60e412cd7b71b31c7b31313d58",
      "tree": "c6c9bd55b48e97caebf60b5875544cdcce7f5755",
      "parents": [
        "1399759118f50071d499f88b18828e36aa2bad00"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 22 12:34:13 2015 -0700"
      },
      "message": "\u003cnetinet/udp.h\u003e should include \u003clinux/udp.h\u003e.\n\nThe comment about \"other stuff\" referred to pre-uapi headers. Everything\nin the current \u003clinux/udp.h\u003e should be exposed to userspace. The only\nproblem is that BSD and Linux use different names for the members of\nstruct udphdr. We can move the Linux udphdr out of the way and use an\nanonymous union to get the best of both worlds. (Though unfortunately\nthis means that code that includes \u003clinux/udp.h\u003e directly instead of\nusing \u003cnetinet/udp.h\u003e now won\u0027t have any definition of struct udphdr.\nWe\u0027ve taken the stance in the past that you shouldn\u0027t include a linux/\nheader if there\u0027s a standard equivalent --- you should rely on us\ntransitively including it for you.)\n\nChange-Id: Ie625892441b0edd8df3b76d3fcf2cbe299077bc4\n"
    },
    {
      "commit": "915bf813ad8761ce270d1422c483cfd252151d42",
      "tree": "4caa574502a5c1a38adf7825262d88975b5f69f1",
      "parents": [
        "cc25196662cab824117e7cb79e435bd3aaf37dcc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 02 17:23:31 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 02 17:23:31 2015 -0700"
      },
      "message": "Update to v3.18.21 kernel headers.\n\nChange-Id: I4ade68d62981c7f6f361750cc811e8d84be9d5b9\n"
    },
    {
      "commit": "dda4fd4644b0ce06b78f1a612de98a73b6ca3d6b",
      "tree": "ff1b619c2ba5a16670a65568debc0d97fb1eef74",
      "parents": [
        "5e3dc45a16c63b716bc4b7bed2f5752b41a5d5d5"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 13 17:21:18 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 13 17:21:18 2015 -0700"
      },
      "message": "Update to v3.18.18 kernel headers.\n\nChange-Id: I0a0f423bda89500ad8e13a80582f05ec8bc756ea\n"
    },
    {
      "commit": "e01d32f8022966df2c1e697b679f9efe148c12c8",
      "tree": "f53275590405d0b242e19d355fc5d4d441bbaa10",
      "parents": [
        "611fd2cc91f79be6759f6e630e1e81998326dfe8"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 31 14:57:48 2015 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 31 14:57:48 2015 -0700"
      },
      "message": "Upgrade kernel headers to 3.18.10.\n\nChange-Id: Iff1f1c830780585990856a5114b559c61282dcd6\n"
    },
    {
      "commit": "d7db594b8d1dab36b711bd887a9dd21675c87243",
      "tree": "214b4e6e4510386ffc05c9a43dd3c153c6cf89a0",
      "parents": [
        "11829be3e1a9e9e2271ba64a78c327bde6e044eb"
      ],
      "author": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Wed Jan 28 10:07:51 2015 -0800"
      },
      "committer": {
        "name": "Tao Bao",
        "email": "tbao@google.com",
        "time": "Fri Feb 06 14:48:41 2015 -0800"
      },
      "message": "Switch kernel header parsing to python libclang\n\nReplace the tokenizer in cpp.py with libclang.\n\nBug: 18937958\nChange-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d\n"
    },
    {
      "commit": "82d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0f",
      "tree": "2d3e27eac5a493892ef219628b1ebdc98349b948",
      "parents": [
        "7f3d65de8cf2920981d73adee278c0d7bee79170"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 26 10:57:07 2015 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jan 26 10:57:07 2015 -0800"
      },
      "message": "Update kernel headers to v3.18.3.\n\nBug: 19127803\nChange-Id: I67fa0832322ddd0032d909476047578be052bcf2\n"
    },
    {
      "commit": "cbf33a9988183797b66e75f43fd44e79c11f41d2",
      "tree": "5204b9ee88d89876fe85e0b54c8e0c64d3afd545",
      "parents": [
        "88e6b2b5d0981dd9fedeed418da194650f6f4ba3",
        "d5e1c583a66a821c7d7e8f43e1238a4569981b90"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 18 21:48:49 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 18 21:48:49 2014 +0000"
      },
      "message": "am d5e1c583: Merge \"Move to v3.16.3 kernel headers.\"\n\n* commit \u0027d5e1c583a66a821c7d7e8f43e1238a4569981b90\u0027:\n  Move to v3.16.3 kernel headers.\n"
    },
    {
      "commit": "653676dde821ce2793f270501847beedbf4a194a",
      "tree": "a08622014e123e671508f4c6c130c0582bd4c792",
      "parents": [
        "82e71085c23d11030e9950d8d08e30ef249fd73b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 18 13:14:58 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 18 13:14:58 2014 -0700"
      },
      "message": "Move to v3.16.3 kernel headers.\n\nChange-Id: Ife491bd7630b853a78532dd74e4644438256a3a1\n"
    },
    {
      "commit": "aac37784dfd696f7469361e91e2444941c3eafb1",
      "tree": "ea8e5dbb3ccc75ba86daa8ca9c87d2feea041f63",
      "parents": [
        "4dcc58887e303b0427886af1712c550c25b8542e",
        "0bd28a43dae87c808f6af61ad3dba042b35be7e7"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 18 00:41:24 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 18 00:41:24 2014 +0000"
      },
      "message": "am 0bd28a43: Merge \"Update kernel uapi headers to v3.16.1.\"\n\n* commit \u00270bd28a43dae87c808f6af61ad3dba042b35be7e7\u0027:\n  Update kernel uapi headers to v3.16.1.\n"
    },
    {
      "commit": "ba8d4f460b51161eb82cf1006cb34a3cc1389f47",
      "tree": "f15ca2fce81d0151d51a6cbbe8bad11513c98c46",
      "parents": [
        "6a310f4ad6c06b6f513d6dd9784ce0377f94f9bd"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 03 19:56:49 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 17 17:05:17 2014 -0700"
      },
      "message": "Update kernel uapi headers to v3.16.1.\n\nOther changes to support the new headers:\n\n- Remove the flock64 structure it is defined in the new headers.\n- Update the syscalls to correspond with the headers.\n\nChange-Id: I49a6b07e8b2bfffb67be71b07b58e4e6848fcc09\n"
    },
    {
      "commit": "e2d86feb7b6b0b02b5e826c5f8836a6e104e9b71",
      "tree": "7bc1fd1ba829edeb3236eab87fc68f659d2af7d3",
      "parents": [
        "36a5aa057cf1738577754a3fc16a14a5f817109f"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sun Sep 14 12:08:37 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 17 15:18:21 2014 -0700"
      },
      "message": "Pull input.h from v3.16.1 kernel headers.\n\n(cherry-pick of 027d2717d067c3706f22bf84dc1226ede7c1566d.)\n\nBug: 17407564\nChange-Id: Idcfc40a7254605280e3d5474c61ae1ab7b2b7b51\n"
    },
    {
      "commit": "027d2717d067c3706f22bf84dc1226ede7c1566d",
      "tree": "0bb90b5c04a8807b913400fc09e9091fedac02c8",
      "parents": [
        "7e00b44e80d6e38b8ab86d0ebc86b666c0ac2ef6"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sun Sep 14 12:08:37 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sun Sep 14 12:08:37 2014 -0700"
      },
      "message": "Pull input.h from v3.16.1 kernel headers.\n\nBug: 17407564\nChange-Id: Idcfc40a7254605280e3d5474c61ae1ab7b2b7b51\n"
    },
    {
      "commit": "18a25078f0cc0aa9842f6397e3c24a5ae8686de5",
      "tree": "877fae20e644fcf4e6c4ec11606461fd90db9bfa",
      "parents": [
        "ce1422b985383c4cbb485b3ec121eb8d01af12b8",
        "c6bc001776931fd1c8583df2b8948dcb8bf61007"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Jul 12 01:41:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Jul 12 01:41:50 2014 +0000"
      },
      "message": "am c6bc0017: Merge \"Update kernel headers to v3.14.\"\n\n* commit \u0027c6bc001776931fd1c8583df2b8948dcb8bf61007\u0027:\n  Update kernel headers to v3.14.\n"
    },
    {
      "commit": "38062f954c637861348dd8078cefb73554e6f12c",
      "tree": "5fef4bcbf86fc780ac83ee0e2ab2f0f6cdfc9408",
      "parents": [
        "4c199170a84e725a56b7d40c113c9d76a75d89ab"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 09 15:33:25 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 10 13:32:32 2014 -0700"
      },
      "message": "Update kernel headers to v3.14.\n\nOther changes:\n- Modify update_all.py to skip ion header files when importing into aosp.\n- Fix generate_uapi_headers.sh to handle imports from a linux-stable kernel.\n\nChange-Id: I1ad81b9ccb063c21740f9875f2cc1238052cd4b3\n"
    },
    {
      "commit": "eba6501c209e6df6141a77c69ebc02b33873822f",
      "tree": "6b140ea1c4d76061ec9d08bb4f913bff227ff25e",
      "parents": [
        "6292ad5796c6cc740b29223f8c4225056d377883",
        "889203005b62f0c2124a7fcae12f9824cbc78868"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Wed Apr 23 19:29:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 23 19:29:32 2014 +0000"
      },
      "message": "am 88920300: am aa3d46a4: Merge \"prctl: Adds the PR_SET_TIMERSLACK_PID option\"\n\n* commit \u0027889203005b62f0c2124a7fcae12f9824cbc78868\u0027:\n  prctl: Adds the PR_SET_TIMERSLACK_PID option\n"
    },
    {
      "commit": "b84926b95ce81bb344109c5f9072337f354ef744",
      "tree": "758f4b9353535b1f5d1a7b74126c6474bdf3ce72",
      "parents": [
        "f602bf8e943d76a03d0739d79d831e640ed07df7"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Tue Apr 22 19:00:45 2014 -0700"
      },
      "committer": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Wed Apr 23 19:13:15 2014 +0000"
      },
      "message": "prctl: Adds the PR_SET_TIMERSLACK_PID option\n\nAllows software to set timer clack for other thread.\n\nChange-Id: Ifa9d2cc7844ec581356bce15434609242fd898a8\nSigned-off-by: Ruchi Kandoi \u003ckandoiruchi@google.com\u003e\n"
    },
    {
      "commit": "ba7c3079bf87077f70235d1412398ae20fe23b37",
      "tree": "d69e33d0526a16d05fa09222b39724adbd38445c",
      "parents": [
        "3e91223e0ef42d0dc127ddd0b3308f9fe48b327c",
        "eb26da9af841c60e69f44a3affb46ec48fdaa6d3"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Mon Feb 03 22:11:16 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 03 22:11:16 2014 +0000"
      },
      "message": "am eb26da9a: am fb4da1e7: Merge \"Regenerate binder header\"\n\n* commit \u0027eb26da9af841c60e69f44a3affb46ec48fdaa6d3\u0027:\n  Regenerate binder header\n"
    },
    {
      "commit": "fbaa254016dd42eaf521497493135b29b4f303d6",
      "tree": "a71a997c8631cfa31207d124b881cfb64e44e218",
      "parents": [
        "037b10d05a789eb57878127ee4d69db1008e8c80"
      ],
      "author": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Tue Jan 28 19:27:17 2014 -0800"
      },
      "committer": {
        "name": "Arve Hjønnevåg",
        "email": "arve@android.com",
        "time": "Tue Jan 28 19:29:46 2014 -0800"
      },
      "message": "Regenerate binder header\n\nAdds 64 bit support\n\nChange-Id: I6db3c4f68bf2c337bff753599af193e2b062ec05\n"
    },
    {
      "commit": "9bed351f7958e2a23817e2c94c6294ee0e769c6b",
      "tree": "2292bdc06bda1de6998779ff8e05e148987d4236",
      "parents": [
        "7b6d74f1a966aa327497a45cbe45987dae867ab3",
        "64edf779d79fd81a39ee5e0327f585b37cd828f2"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Dec 12 23:51:17 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 12 23:51:17 2013 +0000"
      },
      "message": "am 64edf779: am 7dfd8ae1: am 513d2770: Merge \"Add ioprio.h.\"\n\n* commit \u002764edf779d79fd81a39ee5e0327f585b37cd828f2\u0027:\n  Add ioprio.h.\n"
    },
    {
      "commit": "802a0a7285f32e9ea7fe783f00560f4268ece2c5",
      "tree": "8db73e15519d8856caa8a8c3a3747ce3622f41be",
      "parents": [
        "5aad083f3de0bbcc0ffb1fecb688fbbe5abe5214"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Dec 12 15:23:22 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Dec 12 15:23:22 2013 -0800"
      },
      "message": "Add ioprio.h.\n\nChange-Id: I153d05c5b6e9d640e319d65acb48b9cb12b6dafb\n"
    },
    {
      "commit": "356a4e4a3243ddb40c41a9bbaf7e86f821aaa912",
      "tree": "5502d0f2bf58acb73e7cde964f38c7f7b35c7744",
      "parents": [
        "ee6b6f167a29afbbd64ce0c4b184386b0a9cd10b"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 25 14:08:33 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 25 14:09:12 2013 -0800"
      },
      "message": "Regenerate the bionic headers to match external/kernel-headers.\n\n(This undoes the AOSP-only ion.h hack.)\n\nBug: 11859767\nChange-Id: Id863c70d63b2716ae22cafd7ddb1163bbc7a3d11\n"
    },
    {
      "commit": "c43d16a4581038422425b9b36bf95612d0383941",
      "tree": "ce28eb044fd72a77bc1692236d662488166ccb42",
      "parents": [
        "cda0c61dc7490236afb697ac50c900cffe2cb640"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 25 13:50:24 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Nov 25 13:50:55 2013 -0800"
      },
      "message": "Regenerate the bionic kernel headers to match external/kernel-headers.\n\nBug: 11859767\nChange-Id: I3d746188a1c4bdf8db1358521438435d3e63dbac\n"
    },
    {
      "commit": "8cb52b056cfc302e05304d847c4228dff15715cf",
      "tree": "2297fc93154a822121677966993ceeaa86be1d25",
      "parents": [
        "880d0e6c64eb49736125648d1539726629308316"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 21 13:43:23 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 21 13:43:23 2013 -0800"
      },
      "message": "Regenerate uapi header files.\n\nChange-Id: Idc934ed8ae17aba3300e4022e9b42177b0907e9d\n"
    },
    {
      "commit": "e372ec8cf96204441760c83dfa97ca929f382a72",
      "tree": "036670e6c880bad0bd145918f6b34b9b05135004",
      "parents": [
        "f246c589d66e5dc0e3cddc3c37261fb0e3fc67e9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 15 16:29:28 2013 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 15 16:29:28 2013 -0800"
      },
      "message": "Pull in cleaned version.h header.\n\nChange-Id: Ia917af9336b63ed5a10147770a8110134cb274cb\n"
    },
    {
      "commit": "740531354e21d7ba84a8bc6a9ec09ac5c50e9a65",
      "tree": "01ae5df480aba07a90ed5db5cf0f087cddc899b9",
      "parents": [
        "ff5b0fc8f3406c98561e17bd2a6c5433e192f5be"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 08 15:13:54 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 08 15:13:54 2013 -0800"
      },
      "message": "Add a temporary uapi/linux/compiler.h until upstream has one.\n\nBug: 11559337\nChange-Id: I205974b1a26e4f85d0e11503afa80669195d211c\n"
    },
    {
      "commit": "40596aa0054bcfa76148f55321bf4b979e2242be",
      "tree": "5e7f3d342b548177c5fb486878477ccfe5708f03",
      "parents": [
        "f1258672d1eed41da30612a70690c19ff1966b73"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Nov 05 14:54:29 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Nov 06 12:04:48 2013 -0800"
      },
      "message": "Make cpp.py less braindead.\n\nThe old code ignored operator precedence (!), despite having two tables\nof operator precedence. The code\u0027s still pretty awful, but I\u0027ve cleaned\nit up enough to fix this, the most important bug.\n\nThis patch lets us correctly clean the uapi unistd.h, stat.h, and swab.h files,\nand also fixes the mess we were already making of various old kernel\nheader files. I\u0027ve added a bunch more tests, fixed the existing tests that\nthe existing script was already failing (!), and changed the script so that\nthe tests are run every time the script is run.\n\nWe can probably remove some of the old kernel header files that we were\nparsing incorrectly, but we can worry about that later.\n\nBug: 11253477\nChange-Id: Ie66c65b3a7ae13b4e98ed8038a6a534f06eae0e5\n"
    },
    {
      "commit": "460fa7033b17c49e3e6fdaee49eb6d7d666e16d9",
      "tree": "2e517a610f0b1078a98003a71b109b638dd943d8",
      "parents": [
        "97dc3309f3d403c391581444ad656c2f3c61303d"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 23 14:38:25 2013 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 23 14:44:38 2013 -0700"
      },
      "message": "Add __EXPORTED_HEADERS__ as predefined macro.\n\nTo weed out stuff like this in uapi/linux/types.h\n\nifndef __EXPORTED_HEADERS__\nwarning \"Attempt to use kernel headers from user space, see\nhttp://kernelnewbies.org/KernelHeaders\"\nendif /* __EXPORTED_HEADERS__ */\n\nChange-Id: I6506cea6248f7a3b44a839b98e91bdd0d3a6c4cd\n"
    },
    {
      "commit": "655a7c081f83b8351ed5f11a6c6accd9458293a8",
      "tree": "418e77007face85af356f4e7cfc356a7e7125127",
      "parents": [
        "f0447ddb042150af0e13a364df98dd11673d95d3"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 16 16:09:24 2013 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Oct 16 16:09:24 2013 -0700"
      },
      "message": "Add processed uapi kernel headers (common and aarch64-specific)\n\nChange-Id: If0be7b83bd8fe7cb02472d173f7c452aabf61124\n"
    }
  ]
}
