)]}'
{
  "log": [
    {
      "commit": "01b5ede2b2f30a5fc2b86b4acabfeec20f3c683e",
      "tree": "4f489cecd57cee5df30b12787bf22a6fce4eb44a",
      "parents": [
        "a906743bc7ff42c1cc4f5d2d9b501034fd7bff65"
      ],
      "author": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Wed Jan 31 11:08:57 2024 +0000"
      },
      "committer": {
        "name": "Aditya Choudhary",
        "email": "caditya@google.com",
        "time": "Wed Jan 31 12:34:50 2024 +0000"
      },
      "message": "[DON\u0027T BLOCK] Test ownership migration rules\n\nThis CL is created as a best effort to migrate test targets\nto the new android ownership model. If you find incorrect or unnecessary\nattribution in this CL, please create a separate CL to fix that.\n\nFor more details please refer to the link below,\n\u003cadd g3 doc link\u003e\n\nBug: 304529413\nTest: N/A\nChange-Id: I243f17b3f0ad7af9ffa15ca242456e36688733f5\nMerged-In: I243f17b3f0ad7af9ffa15ca242456e36688733f5\n"
    },
    {
      "commit": "661ec166c7893d3ecc8eb041e862dd39e66e819a",
      "tree": "23cc997f338b2fba1a12825d5a36d9a3fd619ab7",
      "parents": [
        "e32111c8fcfc3821486ca4041ba7f3d50cc0cc3a"
      ],
      "author": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Jan 09 11:01:22 2024 -0800"
      },
      "committer": {
        "name": "Tomasz Wasilczyk",
        "email": "twasilczyk@google.com",
        "time": "Tue Jan 09 11:01:22 2024 -0800"
      },
      "message": "Add missing libc++ includes\n\nBug: 175635923\nTest: m MODULES-IN-packages-modules-Connectivity\nChange-Id: I94dafe991ccd73450671ea68eaf65b787dc1d0fa\n"
    },
    {
      "commit": "ddb0ab8c61ca87dc2ddb8dc577cc5f7a7769ffc0",
      "tree": "6d319d569e091ff525c76907ce8190b53fa6bb84",
      "parents": [
        "9748f3b2f078993dbce09e6337414a5f9a8adecc"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Nov 09 11:12:03 2023 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Nov 11 00:59:42 2023 +0000"
      },
      "message": "BpfRingBuf.h - implement wait()\n\nTest: TreeHugger, atest BpfRingbufTest\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2696077caf4de27dd64e4af1c45a13844ed186c9\n"
    },
    {
      "commit": "ca6cf094b9b3530d0056fa3e06041901fc49b035",
      "tree": "18e03592ae4a02f299d26e91e267073711c3684a",
      "parents": [
        "2a0a856c173cbc3abb3bd4177b51744351bbce8f",
        "0b99c961bb12d485d05a934d985c90770635cee5"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Nov 09 23:20:01 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 09 23:20:01 2023 +0000"
      },
      "message": "Merge \"BpfRingBuf.h - implement isEmpty()\" into main"
    },
    {
      "commit": "0b99c961bb12d485d05a934d985c90770635cee5",
      "tree": "0879dbeb3c5c838ff43f4e370243242283277467",
      "parents": [
        "d97fdbb3bcf53ae50989144b606647aabcdb27b0"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Nov 09 11:07:17 2023 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Nov 09 19:13:40 2023 +0000"
      },
      "message": "BpfRingBuf.h - implement isEmpty()\n\nTest: TreeHugger, atest BpfRingbufTest\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I23020869ab665c029c3219b1b39c3749be6e6992\n"
    },
    {
      "commit": "c350db788ac68d641e15403ddab379f3155aff41",
      "tree": "edcbf7c02c67a0981a1ec0ac4f72a97e96db72c6",
      "parents": [
        "d97fdbb3bcf53ae50989144b606647aabcdb27b0"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 08 23:40:50 2023 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Nov 09 11:08:58 2023 +0000"
      },
      "message": "switch SynchronizeKernelRCU back to jni - but from BpfMap\n\nwe can\u0027t use java for this, because pre-U-QPR2 does not include:\n  https://android-review.googlesource.com/c/platform/system/sepolicy/+/2821590\n  system_server dontaudit key_socket getopt\n\nso we\u0027ll spew lots of:\n  11-08 07:52:43.776 1469 1469 I auditd : type\u003d1400 audit(0.0:4): avc: denied { getopt } for comm\u003d\"system_server\" scontext\u003du:r:system_server:s0 tcontext\u003du:r:system_server:s0 tclass\u003dkey_socket permissive\u003d0\n  11-08 07:52:44.360 1469 1469 I auditd : type\u003d1400 audit(0.0:5): avc: denied { getopt } for comm\u003d\"NetworkStats\" scontext\u003du:r:system_server:s0 tcontext\u003du:r:system_server:s0 tclass\u003dkey_socket permissive\u003d0\n  11-08 07:52:44.508 1469 1469 I auditd : type\u003d1400 audit(0.0:7): avc: denied { getopt } for comm\u003d\"android.bg\" scontext\u003du:r:system_server:s0 tcontext\u003du:r:system_server:s0 tclass\u003dkey_socket permissive\u003d0\nand the like.\n\nThis is due to Java\u0027s Os.close() in:\n  libcore/luni/src/main/java/libcore/io/BlockGuardOs.java;l\u003d100\ncalling:\n  if (fd.isSocket$()) if (isLingerSocket(fd)) ...\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ib87fa5e8f0dfd9fbbccb25fb58a9fa78d6a07111\n"
    },
    {
      "commit": "0ad252e03c5dcb0a458a228126d16ee274a64989",
      "tree": "ca4fabfcb4a5a15f326417330bd980e61986fbe0",
      "parents": [
        "0d600f224493019f56636752983d99a3a205ef1d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 08 18:36:39 2023 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 08 18:36:42 2023 -0800"
      },
      "message": "BpfMap.h - simplify error returns\n\nReturning the number of the file descriptor isn\u0027t actually useful since\nit doesn\u0027t really tell you anything once the program has terminated.\n(most logs we look at are long after the fact)\n\nHowever, it does involve a fair bit of string processing to generate\nthe errors.  This is particularly an issue for things we constantly\ncall and sometimes expect to fail.  For example it is normal for\ngetNextKey() to fail with ENOENT at the end of iteration...\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ib94037440b5fcaa34cc8aa01b165431efabeb377\n"
    },
    {
      "commit": "de9d367ab2b2cc75506365088cf62e60d92a9976",
      "tree": "f5e0c842210e3ee627a0deee390b3db5d1646851",
      "parents": [
        "898ed69359cf6593815a5084ab86c461d1602a4f"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 25 17:34:26 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 25 17:40:35 2023 +0000"
      },
      "message": "remove dead portions of BpfUtils.java\n\n(mostly to improve code coverage)\n\nWe can always revert if it ever turns out this is useful,\nbut I\u0027d prefer for cgroup attach to be a once-at-boot\nthing and handled either from bpfloader or the netd updatable\nwhich are both directly C++ code.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I79b5ca8a47388cb6b9189234942e74ab6056aab9\n"
    },
    {
      "commit": "3a64568abbecf1783e08f2df9a449887ca2a4341",
      "tree": "e8767d3c26130a31c3c308ef2d4458d6c9d3e111",
      "parents": [
        "6dec6e9374dd8fe0f43120c384762d6adde35f1c"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 15:11:01 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 15:54:38 2023 -0700"
      },
      "message": "type safety for kernel version\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: If05c0c5383dceeb65964143f5574d2ee1a484907\n"
    },
    {
      "commit": "6dec6e9374dd8fe0f43120c384762d6adde35f1c",
      "tree": "8b4bd571617aaabe6fc6c5494807c729eb1448dd",
      "parents": [
        "f2466ef4bb4f58749900f091151184169506ef6d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:52:46 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:57:12 2023 -0700"
      },
      "message": "type safety for bool ignore_on_{eng,user,userdebug}\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ia85e16d1a7f8d1b21e4ce4c306db6bbea06138e0\n"
    },
    {
      "commit": "f2466ef4bb4f58749900f091151184169506ef6d",
      "tree": "632fcf97d2008bbff1001318eb15083d9342b9b4",
      "parents": [
        "a262bd3d1e5ab896eb03683378750f682ac232a4"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:47:26 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:48:43 2023 -0700"
      },
      "message": "type safety for bool optional\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I6f10395ca6f1c73f3513031f561fdf1b1dedf451\n"
    },
    {
      "commit": "a262bd3d1e5ab896eb03683378750f682ac232a4",
      "tree": "39f9acf051bdf27fac8382bf0c09502a28df2fe5",
      "parents": [
        "3cb494fd285cf8ecd451db0a0d92c1790508bc3a"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:36:01 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:46:11 2023 -0700"
      },
      "message": "type safety for bool shared\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I4883eab734f47522fec718f0709475f7e6dd0a53\n"
    },
    {
      "commit": "10da6d4e61ecbd7cb3746e0a71248569f07a9f76",
      "tree": "3bb4cf48b11c6bc30c1ac42bde4d8aa771c40f65",
      "parents": [
        "a09c2bbe49ba494b9acf8b271abc49eff030ec54"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:14:00 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 14:25:41 2023 -0700"
      },
      "message": "move PRIVATE/SHARED/MANDATORY/OPTIONAL/{LOAD,IGNORE}_ON_* into core headers\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I7053ab46e73b763f64f36baf5e7ab64b62421045\n"
    },
    {
      "commit": "1e32277fff148c5dc2591e597638f0a8e8e7f1dd",
      "tree": "cd35ef008bed80ad07b9baa9bc7d5d6cb6cd21f3",
      "parents": [
        "0565803e5eaf9d13a582ff0782505588f06f17e0"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Oct 05 19:23:33 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Oct 06 13:50:13 2023 -0700"
      },
      "message": "BpfClassic.h - add missing commas\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ife32fa36808de13c5f37ace497395dcc381ca336\n"
    },
    {
      "commit": "d5bf2061f3c3aa6ac098443f01c4fd00f28bd043",
      "tree": "511d9fef2eafaebde5821f3e0d616fb78f4aa74f",
      "parents": [
        "f24beefe556a63cec68403d5bbca378e07407a0e"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 22:24:17 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 22:41:21 2023 +0000"
      },
      "message": "more classic bpf macros\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I5c7fd55301cd5aa44502f8481923c86bc49ea914\n"
    },
    {
      "commit": "f24beefe556a63cec68403d5bbca378e07407a0e",
      "tree": "41a0499cdc9843416aa618accc37e77a780392b4",
      "parents": [
        "b0f8d31e7dc94d61c82a7c6cdb7d13dff03671af"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 19:04:53 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 19:15:53 2023 +0000"
      },
      "message": "TcUtils jni: jobject clazz -\u003e jclass clazz\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0a06d2627ef06fe4606b3d1a6525af767d218945\n"
    },
    {
      "commit": "b0f8d31e7dc94d61c82a7c6cdb7d13dff03671af",
      "tree": "39ab379d0a6a0f6da60f41fcac86991fbf4d5ed2",
      "parents": [
        "85ac050b35be160ba06c3c96b988758f37438fb3"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 19:06:05 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 19:15:44 2023 +0000"
      },
      "message": "BpfUtils jni: jobject clazz -\u003e jclass clazz\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I3fd51ad129873782b74c7c47b50e16f1f1f0fa6e\n"
    },
    {
      "commit": "85ac050b35be160ba06c3c96b988758f37438fb3",
      "tree": "4a9e5d0eb9fe629adec2397e606ffeeab4f759d1",
      "parents": [
        "5b2611d044fbd976e14225e91bacb715f4d4d47d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 01:12:14 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 19:14:43 2023 +0000"
      },
      "message": "bpf jni: add native_getProgramIdFromCgroup\n\nTest: TreeHugger\nBug: 292156770\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ib7b194b9cbf6519f9fbcfd1fcefcbe5d825f5c3a\n"
    },
    {
      "commit": "340e2ff355000de232aebcf9b322afaf8b859d96",
      "tree": "4fed7bbd24772e99fed58bd8831bee573167366b",
      "parents": [
        "99c8a5d1e2084478b8b20526b0a2b15166cd8365"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Oct 03 07:25:38 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 04 19:12:25 2023 +0000"
      },
      "message": "BpfSyscallWrappers: add queryProgram()\n\nTest: TreeHugger\nBug: 292156770\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0f77220a6c4b13efb5630d7a5ade1db39c59901e\n"
    },
    {
      "commit": "73df7414f187c6b568941568b31bd2c9acb2dd62",
      "tree": "829b1116f54308f893c2fe971fad7f038f600412",
      "parents": [
        "b900201ffe58930dcc2725cda9f39c5d1984bf39"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 01 19:20:13 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Oct 02 20:03:41 2023 +0000"
      },
      "message": "BpfClassic.h - more helpers\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ie0eb8895c2d887b71ba886735ad106c1118ebeac\n"
    },
    {
      "commit": "b900201ffe58930dcc2725cda9f39c5d1984bf39",
      "tree": "26967ff837e2de29e1830bace296013ac18015c6",
      "parents": [
        "f74f42b4c093dabfbc34c2feb0c986c97d2ce0ba"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Oct 01 18:32:33 2023 +0000"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon Oct 02 16:09:05 2023 +0000"
      },
      "message": "rename BPF2_REJECT_IF_ANY_BITS_SET -\u003e BPF2_REJECT_IF_ANY_MASKED_BITS_SET\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I54a189f0f7b73917aa3fd049fe2eca387aaca250\n"
    },
    {
      "commit": "7e2f53e7620c3725436ed8fc601e8d33c8e54c85",
      "tree": "c15963e8bdb33f067b4c4b397334969166526be6",
      "parents": [
        "dd3e7e01591ff5e7ebdedd3220b99e1f9d5b7722"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Sep 28 01:08:28 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Sep 29 00:44:33 2023 +0000"
      },
      "message": "reverse BpfMap \u0026 BpfMapRO inheritence to make sense\n\nBug: 235590615\nBug: 235907076\nBug: 286003437\nTest: TreeHugger, m droid gpuservice_unittest libtimeinstate_test bpf_benchmark bpf_module_test libbpf_load_test \u0026\u0026 mma\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I020a898fe8b257040a100f146654d4a04b19f843\n"
    },
    {
      "commit": "601d9f8b65e897495ec8685971c449a401ab0f65",
      "tree": "8c15586480676bf1b63a210af4b481bd087b7ddd",
      "parents": [
        "3897aaf7e9d9abcfa862e42b77151f63cd35f650"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Sep 21 22:11:20 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Sep 21 22:11:43 2023 +0000"
      },
      "message": "use different log.h header file\n\nTest: TreeHugger\nBug: 299653233\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I1e5c7bfc86d2ad61c0bad3b5ef2add94b4ce1481\n"
    },
    {
      "commit": "127a1441c395f82caeb2d194476385eeb72fc315",
      "tree": "02ae1deb813736eccac037d1ee95c4d28c7d45e6",
      "parents": [
        "01e6dadd1ffdd585dfdebcb4c7d0ab39500f543b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Sep 19 23:17:10 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Sep 19 23:22:58 2023 +0000"
      },
      "message": "bump min_sdk_version from 29 (Q) to 30 (R)\n\nMainline no longer supports Q.\nThese files were recently moved into p/m/C as part of a refactor.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0f06ace921db6c79d63c0048bdb73d167ff606cf\n"
    },
    {
      "commit": "c48003930930fb54e03c6e8ce23f94e1a378e23d",
      "tree": "c5c0fe24a5583ab2c87f91e4540c88663886d77c",
      "parents": [
        "fcd2b7ccb0c9830ec91c0976f4c5881acb25219c",
        "89e9fac536832ac26c678e17abc0d09433a71e0d"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Sep 11 11:48:36 2023 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Mon Sep 11 11:53:46 2023 +0900"
      },
      "message": "Merge remote-tracking branch \u0027remotes/aosp/tmp_libs_net_move\u0027 into libs_net_move_merge\n\nframeworks/libs/net/common -\u003e\npackages/modules/Connectivity/staticlibs\n\nframeworks/libs/net/client-libs -\u003e\npackages/modules/Connectivity/staticlbs/client-libs\n\nTest: TH\nBug: 296014682\nChange-Id: I5dc78f0c4653e20312ab3d488b1e69262dbb9840\n"
    },
    {
      "commit": "325f675273d9f20252674d56ce74ea8e74169806",
      "tree": "a98902a254c0920942982fb6c172aa0be15ff990",
      "parents": [
        "343683916f089053479bae7d86f9be0140257c8f"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Sep 06 23:50:47 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Sep 06 23:51:37 2023 +0000"
      },
      "message": "fix a compile warning about out of order field init\n\nhttp://cs/h/prodkernel/kernel/upstream/torvalds/linux-2.6/+/master:tools/include/uapi/linux/bpf.h?l\u003d1486\n\nstruct { /* anonymous struct used by BPF_PROG_TEST_RUN command */\n\t\t__u32\t\tprog_fd;\n\t\t__u32\t\tretval;\n\t\t__u32\t\tdata_size_in;\n\t\t__u32\t\tdata_size_out;\n\t\t__aligned_u64\tdata_in;\n\t\t__aligned_u64\tdata_out;\n...\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2c08b65bdcdbd7fb9872b6d4cbbf542fe28ef916\n"
    },
    {
      "commit": "1ef814da951bf4fb8ccd5089dc4f7251115710e8",
      "tree": "89cecc828095ce9c973f6e61bec9d3e467116348",
      "parents": [
        "1d1c0e72825ac9d4b4997710e617a8533cdb012c",
        "12c0ea929c3343319da2fd95c8aa21c241fdd677"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Aug 22 00:32:09 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 22 00:32:09 2023 +0000"
      },
      "message": "Merge \"BpfMap.h - hide getMap()\" into main"
    },
    {
      "commit": "12c0ea929c3343319da2fd95c8aa21c241fdd677",
      "tree": "cf7f5c76a067ee19fdee251ed7690c09197c4513",
      "parents": [
        "eb1eb69f862583d71382758d1736f0a18a0f956d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 17:06:45 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 21 19:53:04 2023 +0000"
      },
      "message": "BpfMap.h - hide getMap()\n\nThis leaks (what should be) an internal only fd.\n\nThere\u0027s still multiple uses of getMap() left in:\n  common/native/bpf_headers/BpfMapTest.cpp\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I87a36f3f935ba9148ae4456fc6bf14b0e04f6038\n"
    },
    {
      "commit": "ef136ebfa10daa92a27a7fbc4c52abfee60247d9",
      "tree": "3f0e8e185349e5362b368b9e7c66582b92dd41c8",
      "parents": [
        "82ae7ff289ba0233058a8ec2a74fc2ff88747be2",
        "eb1eb69f862583d71382758d1736f0a18a0f956d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Aug 21 17:20:17 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 21 17:20:17 2023 +0000"
      },
      "message": "Merge \"BpfMap.h - add 3 using statements\" into main"
    },
    {
      "commit": "eb1eb69f862583d71382758d1736f0a18a0f956d",
      "tree": "f2b038961bb76a3c3a07d2c0534f1b0f83e908d9",
      "parents": [
        "10fe61b52008b5f0e1641e53d7fceebe1676a6d8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 23:33:23 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 23:33:46 2023 +0000"
      },
      "message": "BpfMap.h - add 3 using statements\n\nin particular base::Result is needlessly verbose\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ide0de9acec79b9aeeaff7ec92270304907bd10d4\n"
    },
    {
      "commit": "910cf4da9b6c1909a466b9e17f5f90676b54453b",
      "tree": "8e5353bad9895cf3ea66b8bd2b116738d8093902",
      "parents": [
        "10fe61b52008b5f0e1641e53d7fceebe1676a6d8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 12:02:35 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Aug 20 12:03:26 2023 +0000"
      },
      "message": "BpfMap - slightly simplify isEmpty()\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I9b93224ec2d4ff717d5e39c3ad50e63ac73f5f7c\n"
    },
    {
      "commit": "2cd8b6900586836ea31353a0ebb2765faec59e2e",
      "tree": "b747e2c01a39db52d462bf88d001ba2730b87440",
      "parents": [
        "28a8600dc04819cae00507c54f0d13c0797ab302"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jul 21 22:37:18 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jul 22 14:32:47 2023 +0000"
      },
      "message": "BpfClassic - add three more macros\n\nExample use case:\n  BPF_LOAD_SKB_PROTOCOL,\n  BPF2_ACCEPT_IF_EQUAL(ETH_P_ARP),\n  BPF2_REJECT_IF_NOT_EQUAL(ETH_P_IP),\n  BPF_LOAD_IPV4_BE16(frag_off),\n  BPF2_REJECT_IF_ANY_BITS_SET(IP_MF | IP_OFFMASK),\n  BPF_ACCEPT,\nwhich is a sample program which accepts ARP plus non-fragmented IPv4.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibe6f9f7941f11bc7b767a092d3d108fa0291f360\n"
    },
    {
      "commit": "4bf0632086636b4991843e2b5339dde6ed1266c1",
      "tree": "4e4d9e672687285e760033bcacb2f9a5f1dd0f6e",
      "parents": [
        "e5e306cd49595415c7bd60b60425bbffb1c23e20",
        "49e4a98f7883277c337905c963e53b1d2acc4d68"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jun 23 03:54:37 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 23 03:54:37 2023 +0000"
      },
      "message": "Merge \"Add a dumpService variant that uses libbinder_ndk.\""
    },
    {
      "commit": "49e4a98f7883277c337905c963e53b1d2acc4d68",
      "tree": "b2da8dfb5738ce084db6f4ee619fc04f4c81efda",
      "parents": [
        "111f341596e64d83149f37401f3c71c36e6d0793"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue May 23 18:41:39 2023 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 22 19:14:10 2023 +0900"
      },
      "message": "Add a dumpService variant that uses libbinder_ndk.\n\nThe one in this file requires libbinder and cannot be used when\nlibbinder is not present (e.g., when compiling against the NDK).\nThis allows users of this code not to link against libbinder, and\nhave the resulting binary not depend on it:\n\n$ m CtsNativeNetPlatformTestCases netd_integration_test\n$ objdump -p out/target/product/vsoc_x86_64/testcases/netd_integration_test/x86_64/netd_integration_test64 | grep NEEDED | grep libbinder\n  NEEDED               libbinder.so\n  NEEDED               libbinder_ndk.so\n$ objdump -p out/target/product/vsoc_x86_64/testcases/CtsNativeNetPlatformTestCases/x86_64/CtsNativeNetPlatformTestCases64 | grep NEEDED | grep libbinder\n  NEEDED               libbinder_ndk.so\n$\n\nBug: 268440865\nTest: see other CL in topic\nMerged-In: Icf982675aad4777677a36e357035809fb251d6e9\nChange-Id: Icf982675aad4777677a36e357035809fb251d6e9\n"
    },
    {
      "commit": "f1416b5494fe1e55e3ec7b156b8b57842a96e1e3",
      "tree": "f70438acd823c06962cd5ed935c067c52d74a689",
      "parents": [
        "1e1d7106bc2ba944d1b0013ff323bfca8f54d5bd"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 16 16:30:46 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 17 11:26:21 2023 +0000"
      },
      "message": "enforce bpf ring buffer size is a power of two\n\nWhile at it enforce a min/max of 4 kiB and 256 MiB.\n\nA bpf ringbuffer must be an integer multiple of page size\n(which is at least 4kiB), so 4kB is forced.\n\n256 MiB upper limit is probably higher than it should be,\nbut it\u0027s really only here to avoid the u32/s32 conversion\nmess that happens for 2+ GiB.\n\nTest: TreeHugger\nBug: 279819914\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2216d2273b0956a86c4222dd6ecf7293e0bafd41\n"
    },
    {
      "commit": "1e1d7106bc2ba944d1b0013ff323bfca8f54d5bd",
      "tree": "b656374c6d15ab2a22012c53d02ac6c8d3d4b187",
      "parents": [
        "c6e4122db8490504eaad02a76b4acd6fbb687bf7",
        "8837bf21a5e32e2d7a274720f5bcf59d0bbce124"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 16 02:37:14 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 16 02:37:14 2023 +0000"
      },
      "message": "Merge \"add macro to disable BTF on user builds\""
    },
    {
      "commit": "c6e4122db8490504eaad02a76b4acd6fbb687bf7",
      "tree": "1a7b02f971895073bc7c15a77378eb9706105d47",
      "parents": [
        "008f51e585976ab45f674d02c88d3c7deed6885e"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Jun 12 22:50:02 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jun 14 09:14:19 2023 +0000"
      },
      "message": "add createOuterMap()\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Icf49cc98daa339b0320b5c18cd055b8a53dcba6c\n"
    },
    {
      "commit": "008f51e585976ab45f674d02c88d3c7deed6885e",
      "tree": "0676151532b7072563f3b5a9ccf0aab659c821ac",
      "parents": [
        "be02054c79d83d94d3143848f8d75f9aaeb433e8"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 13 18:27:57 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jun 14 09:13:09 2023 +0000"
      },
      "message": "implement \u0027int bpfGetFdProgId(const BPF_FD_TYPE prog_fd)\u0027\n\nwhich fetches the internal kernel identifier of an ebpf program\n\nside note: Linux in include/uapi/linux/bpf.h declares:\n  4.14: struct bpf_map_info\n  4.14: struct bpf_prog_info\n  4.19: struct bpf_btf_info\n  5.4: struct bpf_func_info\n  5.4: struct bpf_line_info\n  5.10: struct bpf_link_info\n  5.10: struct bpf_pidns_info\n\nTest: TreeHugger\nBug: 286369326\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I8b2fe1a67bdefff521e41b3ff4ef37d29fc90fae\n"
    },
    {
      "commit": "be02054c79d83d94d3143848f8d75f9aaeb433e8",
      "tree": "c154a5f23a0bc22506fae881c4fb8951faef427a",
      "parents": [
        "111f341596e64d83149f37401f3c71c36e6d0793"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 13 18:47:57 2023 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jun 14 02:15:07 2023 +0000"
      },
      "message": "convert ptr_to_u64() macro to an inline function\n\nThis allows it to be used from outside this header file,\nand provides slightly more type safety.\n\nTest: TreeHugger\nBug: 286369326\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I98e5e37a002188813b602e51fd4fcbb9ca4466cc\n"
    },
    {
      "commit": "8837bf21a5e32e2d7a274720f5bcf59d0bbce124",
      "tree": "cdaa7173451acb172fb5806f50409dcd91d4516c",
      "parents": [
        "5bec8b44a958e1c79e4aed34080edc59af782ff0"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 09 05:50:30 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 09 06:06:36 2023 +0000"
      },
      "message": "add macro to disable BTF on user builds\n\nBug: 286369326\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I6a705ae99a12fb8464730dab1119f4ce2ef3f974\n"
    },
    {
      "commit": "5bec8b44a958e1c79e4aed34080edc59af782ff0",
      "tree": "3f29d279c8d125f8f271dba6819b06cd09204d2b",
      "parents": [
        "267467ec936aef3ac8cdcfe8a068792c6997c768"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jun 07 06:59:20 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jun 07 06:59:40 2023 +0000"
      },
      "message": "force map key/value sizes \u003c 1024/65536 bytes to match BpfMap.java\n\nTest: TreeHugger\nBug: 286154283\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I31fb48aa032e22a83e3e9f0ac8d7f2b3253e995e\n"
    },
    {
      "commit": "2129040ae4b44d4f34dbe5c0462472eb86bb73fa",
      "tree": "570561f941ecfcfb67d42f29f207e9ddd716c37b",
      "parents": [
        "8b39bca6551edf6853887179a72fd28ed6431608"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 25 12:30:22 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 25 12:30:52 2023 +0000"
      },
      "message": "KernelUtils.h - better static assert messages for impossible conditions\n\nper Lorenzo\u0027s request during cherrypick to udc-dev on\nhttps://googleplex-android-review.git.corp.google.com/c/platform/frameworks/libs/net/+/23391171\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ib19f5b3b63a6978ac5a72b2be08a2f0ba6cdd712\n"
    },
    {
      "commit": "4782ab1b9ec630454c1020a1c6ae33c6c896f0bd",
      "tree": "c5ad3866dd179a4bad101cc8b11b086ade0123b0",
      "parents": [
        "1c4ba307f408dec01e2acec3db0a38f237d1e7e9"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat May 20 23:11:52 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun May 21 02:33:55 2023 +0000"
      },
      "message": "KernelUtils.h: explicitly do not support x32\n\nx86 has 2 obvious ABIs:\n32-bit registers/pointers/system calls (i386/i486/i586/i686)\n64-bit registers/pointers/system calls (amd64 / x86_64)\n\nbut there also exists a third:\nthe memory optimizing hybrid \u0027x32\u0027 which uses 64-bit registers,\nwith 32-bit pointers, and 64-bit system calls (with minor tweaks).\n\n(there is also technically an aarch64/arm64-ilp32 ABI mirroring x32)\n\nNote: It would probably be trivial to add support if we wanted to.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I82138c5bafbc3bd37cad98eeb79441701d94c386\n"
    },
    {
      "commit": "1c4ba307f408dec01e2acec3db0a38f237d1e7e9",
      "tree": "0f9ed12374cca4531edc6be7a477519257d62106",
      "parents": [
        "2998627ddd7f17eb50e8a4d401172f66efc05ce7",
        "6d3224e2861c35b778e7b4d20dbfd674509404c1"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat May 20 01:04:21 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 20 01:04:21 2023 +0000"
      },
      "message": "Merge \"bpfloader: ignore_on_(arch) support\""
    },
    {
      "commit": "2998627ddd7f17eb50e8a4d401172f66efc05ce7",
      "tree": "6b5024cd7d1579f8f820ca50beacffb829c9c395",
      "parents": [
        "8273756bcc3d07a58b4969b9a92d300e6754903b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri May 19 21:21:10 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat May 20 00:45:27 2023 +0000"
      },
      "message": "KernelUtils.h - add describeArch()\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0ae4b5fd8cf9baf04b738743d9e52f94a35aaf21\n"
    },
    {
      "commit": "6d3224e2861c35b778e7b4d20dbfd674509404c1",
      "tree": "96bf8cf7788621d51e3027299bc3e02f7a93c6f5",
      "parents": [
        "cee4bd691e3e7b3e4cd3bc90494355938bba060f"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 18 00:44:14 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri May 19 20:59:40 2023 +0000"
      },
      "message": "bpfloader: ignore_on_(arch) support\n\nTest: TreeHugger\nBug: 283523051\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I73768a67b50bb82ebb13e20c6ba6425e1e4236c7\n"
    },
    {
      "commit": "8273756bcc3d07a58b4969b9a92d300e6754903b",
      "tree": "2247be3238de0d98b15f0d753161a795af3f3e18",
      "parents": [
        "93312c998eba91d9159c9e70c32e92aafbae4d18",
        "5b2bcc508ab6efd6171a8afffe9033d45da1d306"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri May 19 07:32:57 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 19 07:32:57 2023 +0000"
      },
      "message": "Merge \"KernelUtils.h - add arch query helpers\""
    },
    {
      "commit": "93312c998eba91d9159c9e70c32e92aafbae4d18",
      "tree": "a953bec4ddb3c6a2120b4fa9f6f9c230989ee2db",
      "parents": [
        "85a86cb9085cbb0f48585c44837724d173084a2a"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 18 14:34:36 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 18 14:39:14 2023 -0700"
      },
      "message": "bpf_headers: Make bpf_headers available to libsysutils\n\nSo KernelUtils.h can be used in NetlinkEvent.cpp.\n\nTest: builds\nChange-Id: If7a6a28e735ee19dc6b7a72330a97a8a01bcecd5\n"
    },
    {
      "commit": "85a86cb9085cbb0f48585c44837724d173084a2a",
      "tree": "c5ef5e9c8d05796479cb11850a4724b699076964",
      "parents": [
        "52954ff5050c83af36f6de76f6834c2068825699"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 18 13:54:36 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 18 14:08:37 2023 -0700"
      },
      "message": "BpfRingbuf: Clean up memory access\n\nConsumer pos is only written to by userspace (except for\ninitialization), so reading from it does not require a memory barrier.\n\nThis change also moves producer pos to be acquired before anything else\nand marks start_ptr as volatile, so it is only read once.\n\nTest: atest BpfRingbufTest\nChange-Id: I228578ef4b42c1732646f0ae928b9a0aa2445304\n"
    },
    {
      "commit": "52954ff5050c83af36f6de76f6834c2068825699",
      "tree": "566811604fd654457f4bcf43c24eba91c67d0045",
      "parents": [
        "0d6edeef83505b4abf7a926c4d5189b23320b428"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 17 16:22:05 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Thu May 18 14:08:37 2023 -0700"
      },
      "message": "BpfRingbuf: Add support for 32 bit kernels\n\nThis change adds support for 32 bit kernels by capping mProducerPos to\n4 bytes. mConsumerPos (which is written to by userspace) continues to\nuse 8 bytes. (This can be done because an entire page is allocated for\nmConsumerPos to control access permissions). In a 32 bit kernel, that\nmeans that the top order bits are just ignored. In addition, comparisons\nin userspace only use the bottom 4 bytes to be bitness agnostic.\n\nTest: atest BpfRingbufTest\nChange-Id: I7fe6d9000a151512785f1aa2a53fa97d31967d19\n"
    },
    {
      "commit": "5b2bcc508ab6efd6171a8afffe9033d45da1d306",
      "tree": "34ca731f0196fa97b3ea5a4ede5d0876a2449b65",
      "parents": [
        "cee4bd691e3e7b3e4cd3bc90494355938bba060f"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 18 06:31:37 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 18 17:17:29 2023 +0000"
      },
      "message": "KernelUtils.h - add arch query helpers\n\nsee bionic/docs/defines.md:\nhttp://cs/h/android/platform/superproject/+/master:bionic/docs/defines.md?l\u003d57\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I818da16ad4dd1837ef3cdcc552557119eafaf6af\n"
    },
    {
      "commit": "0d6edeef83505b4abf7a926c4d5189b23320b428",
      "tree": "51ad5230a20ae26490d204fc9061d3b4f23708b7",
      "parents": [
        "2cef16a4de336a6d5be215b9a0a2d5359433d6a9",
        "311f8b325e31cfcb54e30678b54c60d303cfec39"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 18 17:08:15 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 18 17:08:15 2023 +0000"
      },
      "message": "Merge \"BpfRingbuf: support 32 bit userspace\""
    },
    {
      "commit": "cee4bd691e3e7b3e4cd3bc90494355938bba060f",
      "tree": "0aa30c6a8869f33522bdfc1c11f0c01f52e08929",
      "parents": [
        "7d2b91e7a3fb3556ebbf78b02fe8cc8053cedf35",
        "432291a3344db891dc776994995dd16c95582b62"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu May 18 00:28:51 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 18 00:28:51 2023 +0000"
      },
      "message": "Merge \"bpf_headers: add kernel bitness utility functions to KernelUtils\""
    },
    {
      "commit": "7d2b91e7a3fb3556ebbf78b02fe8cc8053cedf35",
      "tree": "e83445e661e9ff48055968516951a9b5510f973b",
      "parents": [
        "677119874e02af2237711486bb84b85f43f75540",
        "2f5c1159ccce004c5b0ad8d8119b209327cdb270"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed May 17 22:40:57 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 17 22:40:57 2023 +0000"
      },
      "message": "Merge \"bpf: Copy comment about bpffs labelling into bpf_helpers.h\""
    },
    {
      "commit": "311f8b325e31cfcb54e30678b54c60d303cfec39",
      "tree": "b7da8675ace7fb2ce82787e09617c1da21c759fc",
      "parents": [
        "432291a3344db891dc776994995dd16c95582b62"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Mon May 15 19:58:49 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 17 15:39:38 2023 -0700"
      },
      "message": "BpfRingbuf: support 32 bit userspace\n\nBoth consumer and producer position are wrapped in an std::atomic and\nextended to uint64_t to enforce atomic access.\n\nSee resulting assembly instructions for aosp_cf_x86_phone-userdebug:\n\nframeworks/libs/net/common/native/bpf_headers/include/bpf/BpfRingbuf.h:212\n  2d:   8b 41 18                mov    0x18(%ecx),%eax\nexternal/libcxx/include/atomic:926 (discriminator 4)\n  30:   f3 0f 7e 00             movq   (%eax),%xmm0\n\nThis will not work on a 32 bit kernel (so we might want to explicitly\ncheck for that in the test).\n\nTest: atest BpfRingbufTest\nChange-Id: I7fec435cbe49d392363d05f7e702d82ecacb9e91\n"
    },
    {
      "commit": "2f5c1159ccce004c5b0ad8d8119b209327cdb270",
      "tree": "da67162898a0e64cb538e0ed92dbc16857f99d72",
      "parents": [
        "2f240ff0b79f4e6e0426878a2b1188874b9687ea"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 10 21:48:23 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed May 17 22:38:22 2023 +0000"
      },
      "message": "bpf: Copy comment about bpffs labelling into bpf_helpers.h\n\nI found this comment in aosp/2103424 helpful in figuring out the correct\nselinux domain for a newly added map.\n\nTest: documentation only change\nChange-Id: I96c06ff33605c8ed3f2ae6e8810bbcdc8e66b51b\n"
    },
    {
      "commit": "432291a3344db891dc776994995dd16c95582b62",
      "tree": "75401b3410789ae75b92a5512217120b6fc0478e",
      "parents": [
        "66452f566b54a4c5243892332b3e02de62f373e5"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 17 11:59:10 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 17 12:52:56 2023 -0700"
      },
      "message": "bpf_headers: add kernel bitness utility functions to KernelUtils\n\nThese were copied from\nsystem/core/libsysutils/src/NetlinkEvent.cpp and the following changes\nwere applied:\n- Mark isUserspace64bit as constexpr.\n- Added __unused annotations\n- Fixed a typo (s/meaningul/meaningful)\n\nTest: TH\nChange-Id: Ia0b8e6e02daca7e9b69f337a494d88eb1beffc22\n"
    },
    {
      "commit": "66452f566b54a4c5243892332b3e02de62f373e5",
      "tree": "438a429e39b8c3b73f692b24bae101fb3e5ae5fc",
      "parents": [
        "5b9c8cbeffd1253ecdf51b2f2be878063c6c8b81"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 17 11:35:08 2023 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed May 17 11:43:02 2023 -0700"
      },
      "message": "bpf_headers: rename KernelVersion.h to KernelUtils.h\n\nTest: TH\nChange-Id: Ifacc159c19a8fcb64b571295b945fb9fca82496a\n"
    },
    {
      "commit": "6b8144a07cb6e47ed4162e30e9449b8e4f7452f0",
      "tree": "995a9f6c4e33afd7f965580c47b8d3bca4ee97e5",
      "parents": [
        "783a3b82ae2384a944aea9961710bb731bff07aa"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 04 10:18:34 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu May 04 10:18:46 2023 +0000"
      },
      "message": "Revert \"Allow BpfMap to be accessed from NetworkStack\"\n\nThis reverts commit fbe95d914c707c34d2c9d150a467d51c73414fcd.\n\nReason for revert: I\u0027ve reconsidered.  This is a bad idea.\n(and there are not yet any users)\n\nThe NetworkStack is an apk, not an apex, and as such it cannot\nship any bpf .o files (since that requires apex disk image format\ninstead of apk/jar zip file format).\n\nThere\u0027s no support for this (NetworkStack shipping bpf) in the\ncurrent tip-of-tree bpfloader.\nAs such there\u0027s no chance of this happening before V.\nAnd even in V+ it is *super* unlikely, because... apk...\n(We\u0027d have to add apk zip traversal into the bpfloader...)\n\nAs such NetworkStack cannot possibly own any bpf programs/maps,\nand could only potentially access platform/system bpf maps or\nbpf maps owned by another module (ie. the Tethering apex).\n\nUsing any bpf maps from the system is not viable, as these\nare owned by the platform, and as such may be modified by\nvendors/oems.  Ie. their number, names, key/value layout, etc...\ncannot be guaranteed.  As such using them from mainline\ncode is simply not safe.\n\nFurthermore none of the platform bpfs are network related\n(and indeed bpfloader enforces this).\n\nAs such this the only potential use of this would be\nfor NetworkStack to use Tethering apex bpf maps/programs.\nHowever, this is also unsafe.\n\nOn older devices (pre-S) we don\u0027t even have support for\ntethering apex shipped programs/maps.\n\nOn pre-T only the offload program is shipped, while\nroughly equivalent netd.o maps/programs for the other\nstuff are still provided by the platform.\n(but the format of these cannot be relied upon)\n\nAs such use would have to be limited to T+.\n(because the offload bpf map isn\u0027t interesting\nto the network stack)\n\nBut on T+ we run into a cross-module versioning problem:\nthe source (and thus bpf map name/format/struct definitions)\nused to build the NetworkStack apk and Tethering apex may differ.\nEven modules shipped in tandem are build from separate release branches.  Additionally there\u0027s potential for only one module\nto update, while the other remains older.  Thus making this\nwork cross-module would require freezing the map name \u0026 format.\nie. they would need to become cross-module API.\nThis is not something I\u0027m willing to do.\n\nBasically, this can be summarized as:\nthere is no *safe* way for NetworkStack apk to use bpf maps.\n\nTest: TreeHugger\nBug: 276230058\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I65ecf6ffca6ae88a1b72f6f4c8a5739991d78fe3\n"
    },
    {
      "commit": "783a3b82ae2384a944aea9961710bb731bff07aa",
      "tree": "7a6673ba902939e99de452d1657fae89c5119144",
      "parents": [
        "747c9b9af56f596a4914b845d399c8b5e770261b"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Mon Apr 24 17:15:22 2023 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue May 02 11:03:48 2023 +0000"
      },
      "message": "Allow BpfMap to be accessed from NetworkStack\n\nWhen loading BpfMap class, JNI part is needed for native\nmethods. Allow the static lib can be compiled with NetworkStack\nJNI library.\n\nTest: atest FrameworksNetTests:android.net.connectivity.com.android.server.BpfNetMapsTest\nBug: 276230058\nChange-Id: I72ebe801dacd02de6711558d2058c1b756cf3080\n"
    },
    {
      "commit": "bc89547ed3f3c497dd3d25dcb3b569fddc7c7927",
      "tree": "8a9e29f4b3cc0f2fda0cc1f3cfd916e5c502fe02",
      "parents": [
        "82b6bd25f31bcf1a30871a011436cf64cdab8e97",
        "9ee26f72eb8d0e81a15a17a56c23ba177e053da5"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Apr 27 19:37:36 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 19:37:36 2023 +0000"
      },
      "message": "Merge \"Remove mentions of bploader versions between S and T\""
    },
    {
      "commit": "82b6bd25f31bcf1a30871a011436cf64cdab8e97",
      "tree": "41a1de808b18e78c19cd568d6063dd45b724d5db",
      "parents": [
        "265b5ec1890e34e4dddddb6c9fbb54e16597d66e",
        "59934d185ae5e627001ffd49dde4d5ce97d73394"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Apr 27 19:17:59 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 27 19:17:59 2023 +0000"
      },
      "message": "Merge \"Bump the default bpfloader version for platform code.\""
    },
    {
      "commit": "9ee26f72eb8d0e81a15a17a56c23ba177e053da5",
      "tree": "108c02afaead36e712c5149c9392b4bef6f81653",
      "parents": [
        "6e4762d6277424cc089a2df0798293df30b70f6b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 26 23:16:49 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 26 23:17:07 2023 +0000"
      },
      "message": "Remove mentions of bploader versions between S and T\n\n(they\u0027re only of historical interest at this point)\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0e52efda62626091c3023c5fd3622ffcdcd00ee1\n"
    },
    {
      "commit": "59934d185ae5e627001ffd49dde4d5ce97d73394",
      "tree": "3de7fe6008768770251d1d1077cfef5c516fd981",
      "parents": [
        "6e4762d6277424cc089a2df0798293df30b70f6b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 26 23:10:08 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 26 23:13:24 2023 +0000"
      },
      "message": "Bump the default bpfloader version for platform code.\n\nThis is the default for BPFLOADER_MIN_VER if not otherwise specified.\n\nThis does not affect mainline code, see:\n  cs/p:aosp-master file:packages/modules/Connectivity/bpf_progs define.*BPFLOADER_MIN_VER\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ice5b14c3b580653f8889a5292abaa89cf8434da1\n"
    },
    {
      "commit": "1e697e55140baa980443ccb5ac8a33479dc1808a",
      "tree": "4a431f97a0a424d55f449adfc78ecaece7dee84d",
      "parents": [
        "6e4762d6277424cc089a2df0798293df30b70f6b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 26 23:04:59 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Apr 26 23:06:38 2023 +0000"
      },
      "message": "Added a new #define for U BpfLoader version\n\nSee http://cs/h/googleplex-android/platform/superproject/+/udc-dev:system/bpf/libbpf_android/Loader.cpp?l\u003d40\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: If0d75a30f8432f62a1c56aef12efba644fb458d6\n"
    },
    {
      "commit": "2632888a107a15e7ef92208e080d0a9200175730",
      "tree": "1c2c4a5c6e934d85e52c124b58071be039fa25e9",
      "parents": [
        "b39f4400350e514a7ddaff8119139461917c5d96"
      ],
      "author": {
        "name": "Gopal Krishna Shukla",
        "email": "quic_gshukla@quicinc.com",
        "time": "Fri Apr 14 23:21:22 2023 +0530"
      },
      "committer": {
        "name": "Gopal Krishna Shukla",
        "email": "quic_gshukla@quicinc.com",
        "time": "Sat Apr 15 00:58:34 2023 +0530"
      },
      "message": "bpf_headers: add bpf_probe_read_user\n\nChange-Id: I2b106cf8e34ec97f1efa2dd735b70aab8e4e1b4e\n"
    },
    {
      "commit": "fb914d8226d0928b3767a2cf43d5f622409eb1c2",
      "tree": "0b93e10dd28dc73d2c2193c5222861280ffc6061",
      "parents": [
        "6559a91e3e13a3b5551099910d552070b2e43d74"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Apr 04 22:24:18 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Apr 04 22:24:31 2023 +0000"
      },
      "message": "update comment about synchronizeKernelRCU() still working\n\nSince it just came up again, and I just verified this still works\n\nTest: N/A\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I292c94cf9af63488ed30a6ac367ac83c8912e97e\n"
    },
    {
      "commit": "59e343367ad4d7425dca716f275bc6aaf85657ab",
      "tree": "78d949fa5a914cc44926ef5ada230a33209902fc",
      "parents": [
        "b0c6afda18554f4fc0b005e644d7d1e8643fab78"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Mar 29 00:12:36 2023 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Mar 29 00:12:36 2023 +0000"
      },
      "message": "bpf_headers: add bpf_probe_read_user_str\n\nBug: 269407130\nTest: N/A\nChange-Id: I735bffefd41ea3edcafd846041f8c237e860ee6c\n"
    },
    {
      "commit": "6ba8685aba95a732c6d2aa30db07c238f70f7b53",
      "tree": "f61b7c189da9f41dbd22b0e315f54ff7890fd3d5",
      "parents": [
        "e8849e3b0ebaa808af854650d8bf551080faf031"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Mar 15 00:22:59 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Mar 15 02:58:28 2023 +0000"
      },
      "message": "minor checksum changes\n\nmain change is checksum of zero buffer is now 0 instead of\nthe equivalent, but technically incorrect 0xFFFF.\n\nTest: TreeHugger\nBug: 265591307\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I1a8b0ace704009f82d3b7ad1c299bf8a6d8964d8\n"
    },
    {
      "commit": "aab04f1455eacacbaf235da52c25c024d32bed8b",
      "tree": "dabca35356c4efb4e7343f436af8a52d01658742",
      "parents": [
        "aa9063c3d5fa1a73b16d8b6b0a987c2ab8b3baec"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Mar 08 19:02:48 2023 -0800"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Mar 10 23:46:42 2023 +0000"
      },
      "message": "introduce BpfClassic.h\n\nwith helper macros for writing classic bpf code\n\nBug: 265591307\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibffad51668303ddc5d6850409f9058dfc2894ef6\n"
    },
    {
      "commit": "aa9063c3d5fa1a73b16d8b6b0a987c2ab8b3baec",
      "tree": "9cea361f20f2c17d4094d480f47c5e49f1a7fab1",
      "parents": [
        "ff5ee3131415d880545c62ea7d95a43675ee7e60"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Feb 23 04:13:05 2023 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Mar 03 01:56:47 2023 +0000"
      },
      "message": "improve getSocketCookie()\n\n(and a few minor cleanups while at it)\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I657c3314fb0ad2519dc4d1b0743e1be6a81a887a\n"
    },
    {
      "commit": "2669e240580f8811be74a59daf87fcbea455d537",
      "tree": "b004577f6cddb979c63dc95f83307132d7833206",
      "parents": [
        "be2ff67dae097dc735eca53ad622e861fdd610a4"
      ],
      "author": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Wed Nov 30 11:12:41 2022 -0800"
      },
      "committer": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Mon Jan 23 08:28:50 2023 -0800"
      },
      "message": "Add BpfRingbuf class to wrap ringbuf access\n\nThis implements the bare minimum to read from BPF ring buffers in\nuserspace. The implementation uses two shared memory regions with\natomic-like access. Currently, the class only guarantees that the\nelement type has the same size (later can add btf support).\n\nThe alternative would be to use libbpf or bcc, but since this is a small\nheader-only library that seemed like it could end up being more\ndifficulty than it was worth.\n\nBug: 246985031\nTest: atest libbpf_android_test\nChange-Id: I7f08e76db9cb9672ef66c629bccb3db63d3c2229\n"
    },
    {
      "commit": "be2ff67dae097dc735eca53ad622e861fdd610a4",
      "tree": "c4171ab96f72814a1eaa0c356c48fb8cb693e240",
      "parents": [
        "ccc7d37685e8ede8381fd4a9a8dcf7c7399c05cd"
      ],
      "author": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Thu Jan 19 15:24:38 2023 -0800"
      },
      "committer": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Thu Jan 19 17:24:10 2023 -0800"
      },
      "message": "Add macro support for ignore_on BPF maps.\n\nThis is similar to https://r.android.com/2374598 for maps.\n\nBug: 246985031\nTest: build connectivity module\nChange-Id: Id4c9f93b69e808d461b4554bf3fa591828635dd1\n"
    },
    {
      "commit": "888bd2de6764e16ca5b17aba9ed94e4f01b5b788",
      "tree": "d09ce117cb3ea031fd9ed7ff04eb03b951b94bb4",
      "parents": [
        "d2819de4d7b4397db0325f73ec2f652377cf58e2"
      ],
      "author": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Wed Jan 04 16:09:02 2023 -0800"
      },
      "committer": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Thu Jan 05 18:00:55 2023 -0800"
      },
      "message": "Update bpf helpers to support new ignore_on fields\n\nThis updates the ringbuffer and program helpers to allow specifying\nwhich platform builds they are ignored on. In order to use this, you\nmust specify a min loader version \u003e\u003d 0.32, so the helpers also add\noptions for setting this at the program/ringbuf level.\n\nBug: 246985031\nTest: tethering build \u0026 install, full platform build \u0026 install\nChange-Id: I6bf9f7945c3fbac8fd4e02b5805016ac275b7884\n"
    },
    {
      "commit": "d2819de4d7b4397db0325f73ec2f652377cf58e2",
      "tree": "4d6d92b4e6de1d9725a57618e9d8976f388340f2",
      "parents": [
        "d6aa6218e36196a483280b6c906da356a4948624",
        "3114700eba3acc7fb889cea3a5b67eedf42f392a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 12:17:22 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 12:17:22 2023 +0000"
      },
      "message": "Merge \"bpf_helpers.h: add load_byte/half/word() llvm/clang asm magic\""
    },
    {
      "commit": "d6aa6218e36196a483280b6c906da356a4948624",
      "tree": "481dcc19f1027891870422a37bfff6528d484088",
      "parents": [
        "17686b4c0527b6f7a3ce08de55c78e54882d7be7",
        "ff998720b64f219e97ce95d8575713c871ff0853"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Jan 04 10:28:51 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 04 10:28:51 2023 +0000"
      },
      "message": "Merge \"Use the .o-wide bpfloader min/max ver for maps \u0026 programs too\""
    },
    {
      "commit": "3114700eba3acc7fb889cea3a5b67eedf42f392a",
      "tree": "4c6a4bfabc5cd9dddbdd32dce787faad554a695f",
      "parents": [
        "074e4c656b5bb37a7f5406dd9245729831a11c7b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Dec 27 12:25:40 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Dec 27 12:31:27 2022 +0000"
      },
      "message": "bpf_helpers.h: add load_byte/half/word() llvm/clang asm magic\n\nsee kernel\u0027s\n  samples/bpf/bpf_helpers.h\nor\n  tools/testing/selftests/bpf/bpf_legacy.h\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Id331fb9abcd87df8bf87c5a86749acf0144ffbde\n"
    },
    {
      "commit": "ff998720b64f219e97ce95d8575713c871ff0853",
      "tree": "b4388a073f17d4af9638f9281be147447beefba3",
      "parents": [
        "074e4c656b5bb37a7f5406dd9245729831a11c7b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Dec 27 12:06:12 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Dec 27 12:07:03 2022 +0000"
      },
      "message": "Use the .o-wide bpfloader min/max ver for maps \u0026 programs too\n\nThis is basically a no-op, but will make future compatibility checks easier.\n\nThe programs/maps already won\u0027t load on a bpfloader outside of\nthis range, as the entire .o will be skipped.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0669c7ff9e04e24a8da68aa821c9ad705a8f5a93\n"
    },
    {
      "commit": "d7d3b03e13ee3f8d0e3d4d101eb3a6b73e0acc1d",
      "tree": "efaff11f87924c0219505721e19ec898a8ff7d8c",
      "parents": [
        "c97fcbdc9b3b5992f6518f6b18607b0efe4b6dcc"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Dec 22 17:03:18 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Dec 24 17:17:14 2022 +0000"
      },
      "message": "dedup kernelversion.h\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ie7a4dd46122e86bf808d0a3ac566075e1c3a2cd4\n"
    },
    {
      "commit": "32be06f45f8c6dd2a7fe32fa53c209bc0a733c76",
      "tree": "fb540a4dc7326a0f0eb5fc6db79a171edc756a49",
      "parents": [
        "cc40e9c11020d0d7d5635b9241dee557d5c845b4"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Dec 10 11:40:13 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Dec 21 00:03:37 2022 +0000"
      },
      "message": "verify java map key/value struct size matches file descriptor\n\n(this should avoid kernel reading/writing from out of bounds)\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I71fe71eee4e4e6a917477eef5fd2266439e803f3\n"
    },
    {
      "commit": "cc40e9c11020d0d7d5635b9241dee557d5c845b4",
      "tree": "a8847f02dc0db3b0cfadd807c9796cbe600aeeeb",
      "parents": [
        "e504cc8754806b18b41ee1c87d81c3c3353f7606",
        "6776e3b02b0799e0b7afdf914162193fefea1e50"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Dec 20 12:13:43 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 12:13:43 2022 +0000"
      },
      "message": "Merge \"remove spurious #include and OVERFLOW_COUNTERSET\""
    },
    {
      "commit": "e504cc8754806b18b41ee1c87d81c3c3353f7606",
      "tree": "dcf6efe26cb81e6f2540e3990590e1a687195fd2",
      "parents": [
        "ebdb391e3c8484cc4dbdc7bfaa16521389641f05",
        "8531cfe5dda13fcb56ffbebbb4e39d9b6940fcef"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Dec 20 08:38:45 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 20 08:38:45 2022 +0000"
      },
      "message": "Merge \"Add option to skip map/prog based on build type\""
    },
    {
      "commit": "8531cfe5dda13fcb56ffbebbb4e39d9b6940fcef",
      "tree": "6446950b28961c915e0bd239099a2050b39b556a",
      "parents": [
        "22d2158452d466449aea737aaaac65f20421befc"
      ],
      "author": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Thu Dec 15 16:11:37 2022 -0800"
      },
      "committer": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Mon Dec 19 14:08:53 2022 -0800"
      },
      "message": "Add option to skip map/prog based on build type\n\nThis feature allows skipping a program or map based on the type of the\nbuild. This allows things like userdebug-only programs.\n\nBug: 246985031\nTest: added test program and watched it skipped on userdebug\nChange-Id: I5cd9725ad8f133c98c86e6ba620a266313055157\n"
    },
    {
      "commit": "6776e3b02b0799e0b7afdf914162193fefea1e50",
      "tree": "0b5496a85da4d46ef48362c3650cf0c8d957dc6b",
      "parents": [
        "da152d63b4ae65e057aa82c7e48865baadae1803"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Dec 10 12:18:23 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Dec 19 09:59:25 2022 -0800"
      },
      "message": "remove spurious #include and OVERFLOW_COUNTERSET\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I8ad1b19905509862bdfa4e710da778ed0effb058\n"
    },
    {
      "commit": "ec6505edd62380f2a3060a12e0857c8d91c61359",
      "tree": "a3e76f8691cc966432da88817c7111bc824392ff",
      "parents": [
        "d6ba77ab89daacd138a0669818de3a3dcde51a15"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Dec 18 19:48:07 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Dec 18 19:48:54 2022 +0000"
      },
      "message": "remove SKIP_IF_BPF_NOT_SUPPORTED\n\nThere is only user left, let us simply move the macro\ndefinition into the resolv_integration_test.cpp file.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I6eb66abaa7f6392ab43300e5087e4277491e44c9\n"
    },
    {
      "commit": "d6ba77ab89daacd138a0669818de3a3dcde51a15",
      "tree": "3177e74d8bc5bc5e652947e6ef263bc35ce45a38",
      "parents": [
        "8da25a73a503d59387510247fd57822ed671d6c1"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Dec 18 11:04:12 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Dec 18 16:37:32 2022 +0000"
      },
      "message": "remove no longer needed SKIP_IF_EXTENDED_BPF_NOT_SUPPORTED macro\n\nWe can merge this now that:\n  https://googleplex-android-review.git.corp.google.com/c/platform/system/netd/+/20284735\n  \u0027bpf_base_test - unconditionally run TestSocketFilterSetUp\u0027\nhas been pulled into tm-mainline-prod.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I1b65cd41ce7b4eaab7f1fead2742c72e48294244\n"
    },
    {
      "commit": "8da25a73a503d59387510247fd57822ed671d6c1",
      "tree": "b800c606484fbbddfb2353ba36e8d52655e8e61a",
      "parents": [
        "d8c03fec3aa1a491052ee48ba9b0fd1240fa01d7"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Dec 18 11:11:03 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Dec 18 11:11:21 2022 +0000"
      },
      "message": "remove unused SKIP_IF_XDP_NOT_SUPPORTED macro\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2480cbe958d2827440e5dd827b43a89f4b7a556c\n"
    },
    {
      "commit": "d8c03fec3aa1a491052ee48ba9b0fd1240fa01d7",
      "tree": "f8be07fb13b35cb800c87af0ca6b05840df5e903",
      "parents": [
        "1a2aafc9a4d7879bd71ad0e45972aaf69f4605dc"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Dec 16 20:59:00 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Dec 16 20:59:31 2022 +0000"
      },
      "message": "BpfSyscallWrapper - use \u0027enum bpf_cmd\u0027 instead of int for bpf() arg\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I73d8d33e1677088fbbed02c554c88269912d2f76\n"
    },
    {
      "commit": "22d2158452d466449aea737aaaac65f20421befc",
      "tree": "db5ae92ee5f2e1eb0a7bef184133b5500504d17b",
      "parents": [
        "26388b06efd64092e739eef66ba752b92fa0e55e",
        "ccd5eb9359653037b86e9afa3f003265a03271b6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 14 21:04:18 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 14 21:04:18 2022 +0000"
      },
      "message": "Merge \"Add skeleton BPF ring buffer integration test\""
    },
    {
      "commit": "ccd5eb9359653037b86e9afa3f003265a03271b6",
      "tree": "d2877b572b10d487419159755db2dca961014e7a",
      "parents": [
        "8b541aa6aed5e34ba82aac97315edfde3e3acfcd"
      ],
      "author": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Wed Nov 30 10:21:47 2022 -0800"
      },
      "committer": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Mon Dec 12 10:02:18 2022 -0800"
      },
      "message": "Add skeleton BPF ring buffer integration test\n\nThis adds a BPF program with a ring buffer and an associated test that\nensures the program and ring buffer can be loaded by the bpf loader. In\nthe following changes, this foundation will be used to test the user\nspace ring buffer wrapper class.\n\nUnlike BpfMap, userspace can\u0027t (easily) write to the ring buffer so the\nmost accurate way to test a userspace ring buffer implementation is to\nwrite to it from a BPF program.\n\nNote: the BPF program in this change is never actually attached to a\ncgroup, it is only loaded. The program will be executed manually using\nBPF_PROG_RUN which is \"side-effect free\" (it can have side effects on\nBPF maps, but not on Kernel state, e.g. dropping packets).\n\nBug: 246985031\nTest: atest libbpf_android_test\nChange-Id: Ib9c591218188f5f358a755c8854bc6f87d26af12\n"
    },
    {
      "commit": "39f2501c5018603340403a724ffccb92848c7f7a",
      "tree": "4b84d5023bbb303c3c21a3458eca84a8d979a1dd",
      "parents": [
        "521ed5b92da6eb8ad121802318c740cf4f879582",
        "41abe75ba75d79042c5e46e378d3d731659c71dc"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Dec 10 10:26:54 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 10 10:26:54 2022 +0000"
      },
      "message": "Merge \"updated TODO\u0027s for bpf_shared.h -\u003e netd.h rename\""
    },
    {
      "commit": "5a8738e7de92b06fc769a05b7b1069849fc5bb9d",
      "tree": "a774c5fa0044e852fa342da4c9e4c90a7231d151",
      "parents": [
        "0937911c419dc786d34aa94f0975a952ece30b8c"
      ],
      "author": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Thu Dec 08 16:44:23 2022 -0800"
      },
      "committer": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Thu Dec 08 17:18:54 2022 -0800"
      },
      "message": "Rename DEFINE_BPF_RINGBUF to DEFINE_BPF_RINGBUF_EXT\n\n_EXT suffix is used for the all-args versions of these, such as the one\nhere.\n\nBug: 246985031\nTest: build and flash on 4.19 and 5.10\nChange-Id: Ibd76cbdc38f4d1f9df4f440147e5f18d9a2ea026\n"
    },
    {
      "commit": "41abe75ba75d79042c5e46e378d3d731659c71dc",
      "tree": "afcfbae308b63826dff13bc7cbc3066a6470ab18",
      "parents": [
        "7e04d1678d645935a9642bbf9ff7ce6f36b2f4d1"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Dec 08 16:39:56 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Dec 08 16:40:28 2022 +0000"
      },
      "message": "updated TODO\u0027s for bpf_shared.h -\u003e netd.h rename\n\nTest: TreeHugger\nSigned-off: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I44bb430f176161cafd6dfbd5e26e61dbe2a0183a\n"
    },
    {
      "commit": "79ce874e8f33b4b903adef9d0b4d59aed92bd31b",
      "tree": "77e5d53a6cd568779d74979e80941443b90d4b7a",
      "parents": [
        "8228246ad0de9f16d245e23c8066c8f806c1e1ac"
      ],
      "author": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Mon Nov 21 17:19:25 2022 -0800"
      },
      "committer": {
        "name": "Ryan Zuklie",
        "email": "rzuklie@google.com",
        "time": "Mon Nov 28 11:06:30 2022 -0800"
      },
      "message": "Add macro to create BPF ring buffers.\n\nBPF ring buffers are defined like maps, but cannot specify a key or\nvalue size (attempting to do so is a verifier error). This change also\nadds the type-safe methods for interacting with the map (output, reserve\nand submit).\n\nBug: 246985031\nTest: local run of Network Tracing w/ ring buffers\nChange-Id: Ie8a47d987be6cb219fe7d73f2c61a56e3a3ab21a\n"
    },
    {
      "commit": "91e4845301c228acaaf9413ab778e32a1472d792",
      "tree": "3e8ba77d084247231bcdde27a6e5c624c94de56e",
      "parents": [
        "5043f90f0f72bea1abe54a6c445021217e0bfee6",
        "61e21fff0b3ae74a2044d9fd89b10e5bb192c625"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Nov 07 23:36:35 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 07 23:36:35 2022 +0000"
      },
      "message": "Merge \"Revert \"add bpf_for_each_map_elem() helper definition\"\""
    },
    {
      "commit": "61e21fff0b3ae74a2044d9fd89b10e5bb192c625",
      "tree": "9b8269ad1ee6495d3af91bc77105857eddd2f316",
      "parents": [
        "c5dcf2c8ea0a104143f6ffdcb8ef2816c1f2cc33"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 02 08:38:49 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Nov 02 08:39:20 2022 +0000"
      },
      "message": "Revert \"add bpf_for_each_map_elem() helper definition\"\n\nThis reverts commit 8711ae5494a3011f48543987fa08872d775df652.\n\nBug: 256991746\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I4835904f906422d5927feef82459ce1adcebc90c\n"
    },
    {
      "commit": "203d5e0dcd6c735da39248c3ee13a5e3e8c662e4",
      "tree": "ab35f777fc1b14de06cd98a41fbc7d2293b835b2",
      "parents": [
        "87e48d453ed6ffd49efdceaef7dd5cca8f82ea51"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 26 00:11:16 2022 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Wed Oct 26 03:05:32 2022 +0000"
      },
      "message": "trivialize SKIP_IF_EXTENDED_BPF_NOT_SUPPORTED\n\nBug: 255652639\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I3732bbd7ad9e4e06c914206560268bd1ce8204f4\n"
    },
    {
      "commit": "87e48d453ed6ffd49efdceaef7dd5cca8f82ea51",
      "tree": "a5e600d93cb9f2c0c32f69dd234d0cb23c57b64b",
      "parents": [
        "713c112d23f0c4917751dfacdadc32aa9fb9e96e",
        "33f1f3f74c7efc325211699eca3162b60f0cae9d"
      ],
      "author": {
        "name": "Chris Sabotta",
        "email": "crsabotta@google.com",
        "time": "Tue Oct 25 23:40:44 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 23:40:44 2022 +0000"
      },
      "message": "Merge \"Bug: b/255652639\""
    },
    {
      "commit": "33f1f3f74c7efc325211699eca3162b60f0cae9d",
      "tree": "079627e77faec5a86649da074ff9a464327589c5",
      "parents": [
        "52605df5fd274a7a2e1aa2924a9c93a075e31a28"
      ],
      "author": {
        "name": "Chris Sabotta",
        "email": "crsabotta@google.com",
        "time": "Tue Oct 25 23:31:10 2022 +0000"
      },
      "committer": {
        "name": "Chris Sabotta",
        "email": "crsabotta@google.com",
        "time": "Tue Oct 25 23:38:32 2022 +0000"
      },
      "message": "Bug: b/255652639\n\nRevert \"remove SKIP_IF_EXTENDED_BPF_NOT_SUPPORTED\"\n\nThis reverts commit 319d8468ad90d33307ce764e7f6130587ce81419.\n\nReason for revert: Build breakage, (First bad build: 9217822)\n\nChange-Id: I0db2bdb68006f9379bb149f7de9fa81ace501c3d\n"
    },
    {
      "commit": "713c112d23f0c4917751dfacdadc32aa9fb9e96e",
      "tree": "c5aef08dd06aea14209046d101ddb7bd2507a0cd",
      "parents": [
        "5897a805ea4f1347e259cb4c26b3a42da46e83ae",
        "52605df5fd274a7a2e1aa2924a9c93a075e31a28"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Oct 25 22:10:11 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 25 22:10:11 2022 +0000"
      },
      "message": "Merge \"remove SKIP_IF_EXTENDED_BPF_NOT_SUPPORTED\""
    }
  ],
  "next": "5897a805ea4f1347e259cb4c26b3a42da46e83ae"
}
