)]}'
{
  "log": [
    {
      "commit": "f0da1bee5ee23148126ae3afb0e2dfe0c4e9848d",
      "tree": "dc75e68129d1dc788e7400815e16640eb5101469",
      "parents": [
        "904ae8f3272fc8ea011a1ea9855e574e17573c28"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Jun 16 05:02:50 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sun Jun 16 05:22:58 2024 -0700"
      },
      "message": "ConnectivityService - do not dumpBpfProgramStatus before T\n\nthis is to fix some lint issues\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I8c4dff0c8a6ba28596a346fef40f698962e7094b\n"
    },
    {
      "commit": "904ae8f3272fc8ea011a1ea9855e574e17573c28",
      "tree": "80e4e270a58dafe526ba49b582c324bb116c185c",
      "parents": [
        "59a2b902de168dd7675d2618c2149e8cec700306",
        "9161b153b47013577499d1348cc57e1716cb2c55"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Sun Jun 16 00:05:26 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Jun 16 00:05:26 2024 +0000"
      },
      "message": "Merge \"Add a Log.wtf() on user builds to test Pitot reporting pipeline\" into main"
    },
    {
      "commit": "9161b153b47013577499d1348cc57e1716cb2c55",
      "tree": "e9d5aedb1f191e791c218890eb22dced4a9f1f89",
      "parents": [
        "fe956d9189d17b3f221baeac3c87f8a2019df4fd"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Sat Jun 15 14:07:29 2024 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Sat Jun 15 14:11:55 2024 -0700"
      },
      "message": "Add a Log.wtf() on user builds to test Pitot reporting pipeline\n\nApparently, we have previously seen instances of the pipeline being\nbroken, so this is adding a Log.wtf() to test the pipeline.\n\nIt is only run on user builds to not randomly crash droidfood devices.\n\nTest: cf boots\nChange-Id: Ie4e6661adef6f1878529688561805f2485e58391\n"
    },
    {
      "commit": "59a2b902de168dd7675d2618c2149e8cec700306",
      "tree": "c9c169847b91f1d894f06123f2495549ae16e3e3",
      "parents": [
        "52d6c5587fa8ec432ca8f6256b037f0ca5ee326c"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 02:46:17 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 14:04:03 2024 -0700"
      },
      "message": "ClatCoordinator - use SingleWriterBpfMap\n\nThese two maps aren\u0027t (and should never be) accessed from anywhere else.\n\nTest: TreeHugger, atest FrameworksNetTests\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I93b8b94dcad8f2bc4d022314372fb97109ed8f2f\n"
    },
    {
      "commit": "52d6c5587fa8ec432ca8f6256b037f0ca5ee326c",
      "tree": "eec910dae8ea61c8eb1d7c767a896666180c95f3",
      "parents": [
        "878aae0856f77e5268c7ed52784c29b3bc4d6bdc"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 12:41:36 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 14:04:03 2024 -0700"
      },
      "message": "SingleWriterBpfMap - introduce getSingleton with caching\n\nTest: TreeHugger, atest BpfMapTest finally happy!\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ia4ddcbb4994bb0fd5df7d36e0d306ca5061d8963\n"
    },
    {
      "commit": "878aae0856f77e5268c7ed52784c29b3bc4d6bdc",
      "tree": "f132ce90389809591eeb334143e4db8b162ee94e",
      "parents": [
        "45e9372733ac1cd599e1e6bbc22f6b86659f9cdb"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 11:54:36 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 14:04:03 2024 -0700"
      },
      "message": "BpfMapTest: fixes for testGetFd\n\nTest: TreeHugger, atest BpfMapTest happier\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ib2915d48fab2c1e90300f1d4aa5d2cb2f69741f9\n"
    },
    {
      "commit": "45e9372733ac1cd599e1e6bbc22f6b86659f9cdb",
      "tree": "3319382e4eaf7d418cf85f1d96dfedf7506ad94e",
      "parents": [
        "2f50623b0edd32c55003bad2c3fecd3e303dcf58"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 11:47:26 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 14:04:03 2024 -0700"
      },
      "message": "use a second map for SingleWriterBpfMap test\n\nbecause the shared r/w lock on the first\nconflicts with the exclusive r/w lock on the second\n\nThis fixes roughly *half* the BpfMapTest tests.\n\nTest: TreeHugger, atest BpfMapTest less broken\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I9d500597cad16bb7756df3e6feb9a7aa762e59d9\n"
    },
    {
      "commit": "2f50623b0edd32c55003bad2c3fecd3e303dcf58",
      "tree": "6166c7f21abf275de67cf78e51252924eab85112",
      "parents": [
        "fe956d9189d17b3f221baeac3c87f8a2019df4fd"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 06:11:00 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 13:58:27 2024 -0700"
      },
      "message": "BpfMap: enforce BPF_F_RDWR_EXCLUSIVE doesn\u0027t use cached fd.\n\nThis prevents creation of 2 SingleWriterBpfMap objects accessing the same map.\n\nNote: we never close/flush the cache, so this also prevents the creation\nof 2 such maps even if they don\u0027t simultaneously exist...\n\nTest: TreeHugger, atest BpfMapTest fails\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2754657cdd54a07fcab3bd43b3530ac690bcba18\n"
    },
    {
      "commit": "fe956d9189d17b3f221baeac3c87f8a2019df4fd",
      "tree": "2cf14b044bf6439e862af7b8e319af0025c47c9d",
      "parents": [
        "083cce9bf974f01f5c795850250d8c21177db87e"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Fri Jun 14 22:22:40 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 03:58:43 2024 -0700"
      },
      "message": "Add a temporary hack to CS to report netbpfload result\n\nSince BpfHandler::init() in the August module does not wait on\nnetbpfload (it only loads test.o), post on the ConnectivityService\nhandler and check that netbpfload ran to completion after 30s.\n\nLog.wtf() on failure as these logs show up in Pitot even on release\nbuilds.\n\nNote that system server does not have access to any of the programs or\nmaps loaded from test.c, so all it can do is verify that mainline_done\nexists.\n\nTest: cuttlefish boots and does not crash\nChange-Id: I6d2063f1d4f03207bbb6599b75954cfceb793af4\n"
    },
    {
      "commit": "083cce9bf974f01f5c795850250d8c21177db87e",
      "tree": "af4c4bd110c8aa0f9562ee8ab49695f928f89de5",
      "parents": [
        "fbaa3c989086c3a09eab0886e324f69a49339e9f"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 02:46:17 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 03:58:42 2024 -0700"
      },
      "message": "bpf_progs: introduce mainline loaded non-critical gentle.o\n\nwith map \u0026 program that can be checked from system_server\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ife736d54cfc3768aca378d46a092c4518a7302dd\n"
    },
    {
      "commit": "fbaa3c989086c3a09eab0886e324f69a49339e9f",
      "tree": "823a5bc7967eb14cc0459d7fa620a87cfebdfd7e",
      "parents": [
        "0fff839ae65147f1a5bfd282ceca15073df43366"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 02:40:46 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 03:58:24 2024 -0700"
      },
      "message": "BpfRingbuf.h - use exclusively locked map\n\nAs currently implemented, it is not safe to open (and mmap) the\nsame kernel -\u003e userspace ringbuffer multiple times.\n\nNote: it\u0027s likely, that as implemented, even a single instance\nis not thread safe without external locking.\n\nTest: TreeHugger, atest bpf_existence_test bpf_module_test bpf-time-in-state-tests libbpf_android_test\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Iea6908746a58e7412c0ce89da29a764aefeaef47\n"
    },
    {
      "commit": "0fff839ae65147f1a5bfd282ceca15073df43366",
      "tree": "335d24c82525f9b138b15eadd264bfc3466b4bf8",
      "parents": [
        "04fb3862a9054c07418476100fdb427506babf30"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 02:43:12 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 03:54:09 2024 -0700"
      },
      "message": "introduce mapRetrieveLocklessRW()\n\nthe clat verifyPerms() checker only wants to check the\nexistence and accessibility of the maps.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I3079ab316bcd88370d774fec5e88c1b5ff438266\n"
    },
    {
      "commit": "04fb3862a9054c07418476100fdb427506babf30",
      "tree": "b847eb3645c33016f79482cc1c1c333a2e095160",
      "parents": [
        "9eca02a8fa20aa14920f0dd3bf88c06ce04a2575"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Sat Jun 15 00:14:16 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 17:35:29 2024 -0700"
      },
      "message": "Add BPF_MAP_LOCKLESS_FOR_TEST hack for root resolver tests\n\nPer commit description of https://android-review.git.corp.google.com/c/platform/packages/modules/Connectivity/+/3109108 \"Use SingleWriterBpfMap in BpfNetMaps\":\n\n- firewall.cpp writes to sConfigurationMap, sUidOwnerMap, and\n  sDataSaverEnabledMap, but that code only runs in tests because\n  it requires root privileges.\n\nSo either those maps need to not use SingleWriterBpfMap\nin the BpfNetMaps (which would affect performance),\nor we need to prevent the tests from grabbing the locks,\nor the tests will (presumably) fail.\n\nThis avoids grabbing the locks from the test, even though\nthis is absolutely terrible and likely breaks things...\nBut in general the entire firewall.cpp file (and libconnectivity_native_test_utils target) are just one\nlarge modularization violation in need of major escalation...\n\nTest via:\n  atest resolv_{gold,stress,integration,unit}_test\n\nWithout this patch:\n  resolv_gold_test: Passed: 16\n  resolv_integration_test: Passed: 53, Failed: 2, Ignored: 118, Assumption Failed: 0 (Completed With ERRORS)\n  resolv_stress_test: Passed: 2\n  resolv_unit_test: Passed: 124, Failed: 2\n\n  4 tests failed\n  --------------\n  ResolverMultinetworkTest#DnsWithVpn\n  PrivateDns/TransportParameterizedTest#BlockDnsQuery/DoT\n  CallbackTest#tagSocketCallback\n  ResolvGetAddrInfoTest#InvalidParameters\n\nWith this patch:\n  resolv_gold_test: Passed: 16\n  resolv_integration_test: Passed: 178\n  resolv_stress_test: Passed: 2\n  resolv_unit_test: Passed: 126\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ie97d015ef66c3864a23484e7ed190fe7d091af5c\n"
    },
    {
      "commit": "9eca02a8fa20aa14920f0dd3bf88c06ce04a2575",
      "tree": "26b072889bc6cada2dedc2af27021df041510dea",
      "parents": [
        "c606f1ab3c1d408a46f6063b7f668da8a7f8d7b4"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 15:15:23 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 15:56:01 2024 -0700"
      },
      "message": "make java maps grab locks\n\nThe java bpfmap fd cache has some implications:\n- this won\u0027t protect against two SingleWriterBpfMap instantiations\n  for the same map (path) in the same process\n- we don\u0027t release any locks on BpfMap destruction.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibb0b1f57974c307ea5e0fa699ce8d598c59f456e\n"
    },
    {
      "commit": "c606f1ab3c1d408a46f6063b7f668da8a7f8d7b4",
      "tree": "a9975f31ce2c3fff67e6fd91911777578a9a67f2",
      "parents": [
        "7eb7d67279b313199c0757b11fe89dceac754908"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 15:12:28 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 15:56:01 2024 -0700"
      },
      "message": "SingleWriterBpfMap - eliminate spurious constructor\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I8368e5397ac1e72f8728b0de64f502f0ad1d288e\n"
    },
    {
      "commit": "7eb7d67279b313199c0757b11fe89dceac754908",
      "tree": "8d2607bc57884b58d865d1ba5bb03ccc7ddecbe8",
      "parents": [
        "231598bc928edf9c5714dc667f9e7240bc37a1ed"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 13:55:09 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 15:56:01 2024 -0700"
      },
      "message": "make mapRetrieveWO take exclusive lock\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I4929bbc3490350fc4c57e909109d2ec36eb0359c\n"
    },
    {
      "commit": "231598bc928edf9c5714dc667f9e7240bc37a1ed",
      "tree": "584fdbc07b69359e3e50164a5e61138a45d4c331",
      "parents": [
        "686f6ac0ee23283c03f7940bc179cc305c08408b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 04:39:03 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 15:09:41 2024 -0700"
      },
      "message": "NetBpfLoad: gently enable mainline\n\nOnly the non-CRITICAL test@mainline.o is loaded from netbpfload\non T and U \u003c QPR3, everything else is loaded by platform bpfloader\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ic07a57cf93851d3a1411b62c97d8ce057507360b\n"
    },
    {
      "commit": "686f6ac0ee23283c03f7940bc179cc305c08408b",
      "tree": "871e61e9ad31ff915c399891ff001b7946483864",
      "parents": [
        "7262899d17904f8c8ab537729097a777c321b3a5"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 14:42:06 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 15:09:41 2024 -0700"
      },
      "message": "changes requested on \u0027NetBpfLoad: on aosp/main bump version from U QPR3 to V\u0027\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibe6f42291242b1b8dca93c826969b6efc666e3b8\n"
    },
    {
      "commit": "7262899d17904f8c8ab537729097a777c321b3a5",
      "tree": "8254c6f122558d2f7c95be9a1d9fefe5bf0d948e",
      "parents": [
        "4acfa1fc82062c71a679e80ffc1dbb35dd530f04"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 13:46:11 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 14:27:28 2024 -0700"
      },
      "message": "NetBpfLoad: add requested comments\n\nAs requested by Patrick on http://go/aog/3132975\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ie49426c5e8c19bd0329e93c78a0918ca1120f164\n"
    },
    {
      "commit": "4acfa1fc82062c71a679e80ffc1dbb35dd530f04",
      "tree": "9b1c9bd71b168dc5c06a766973693cd054fa687f",
      "parents": [
        "e819e43eb2857bc2e028fad49d00fecaaf32b4a5"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 14:16:31 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 14:25:27 2024 -0700"
      },
      "message": "bpfLock: avoid using ifAtLeastKernelVersion()\n\nPer inspection of:\n  https://source.corp.google.com/h/prodkernel/kernel/upstream/torvalds/linux-2.6/+/master:kernel/bpf/syscall.c;drc\u003d2884dc7d08d98a89d8d65121524bb7533183a63a;l\u003d5786\nbpf system call returns -EINVAL on unknown operations:\n\nstatic int __sys_bpf(int cmd, bpfptr_t uattr, unsigned int size)\n{\n...\n    switch (cmd) {\n...\n    case BPF_OBJ_GET_INFO_BY_FD:\n\terr \u003d bpf_obj_get_info_by_fd(\u0026attr, uattr.user);\n\tbreak;\n..\n    default:\n\terr \u003d -EINVAL;\n\tbreak;\n    }\n\n    return err;\n}\n\nEquivalent logic is present in ACK 4.9-Q:\n  SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size)\n\nThis is what should thus be returned on 4.9-T devices.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I124686ca360513f45e17afba23efa87acf1ce480\n"
    },
    {
      "commit": "e819e43eb2857bc2e028fad49d00fecaaf32b4a5",
      "tree": "e83ddab141ba11df9d990da23446685a9fc66988",
      "parents": [
        "4a0838c2ce4bb96057cd4b6938a866b659d5b79e",
        "52018c821ccc7d097449442eea25b1249d706caf"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 21:08:05 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 21:08:05 2024 +0000"
      },
      "message": "Merge \"BpfSyscallWrappers: grab shared lock on writable map open\" into main"
    },
    {
      "commit": "4a0838c2ce4bb96057cd4b6938a866b659d5b79e",
      "tree": "b11d0fc92d3887a1cf81f921e94029f05903a1dc",
      "parents": [
        "f8b1d2a1ed6f57308dcdb95d2435ee0d90f570db"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 20:22:20 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 20:23:16 2024 +0000"
      },
      "message": "NetBpfLoad: remove isGSI() check\n\nit doesn\u0027t work due to sepolicy anyway:\n\nI auditd  : type\u003d1400 audit(0.0:6): avc:  denied  { search } for  comm\u003d\"netbpfload\" name\u003d\"gsi\" dev\u003d\"sda8\" ino\u003d23 scontext\u003du:r:bpfloader:s0 tcontext\u003du:object_r:gsi_metadata_file:s0 tclass\u003ddir permissive\u003d0\n\nBug: 347309609\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ic8c56a096a89a89950585b939379634accb78e56\n"
    },
    {
      "commit": "f8b1d2a1ed6f57308dcdb95d2435ee0d90f570db",
      "tree": "1db380b43ceb2002ea664ce2ca5f74d57b5d809c",
      "parents": [
        "ea076326b12528e6d10ee35b11bcd34d7213669a",
        "4b28336a7a35df561511b2124bca1a817daa9426"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 18:12:55 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 18:12:55 2024 +0000"
      },
      "message": "Merge changes Ibe285aef,I318df93e into main\n\n* changes:\n  NetBpfLoad: disable mainline on \u003c U QPR3\n  NetBpfLoad: on aosp/main bump version from U QPR3 to V\n"
    },
    {
      "commit": "ea076326b12528e6d10ee35b11bcd34d7213669a",
      "tree": "06b796194934a2f6c6e9d5dcc9b206e2646929aa",
      "parents": [
        "36bc46d17136ef1c79c003fab9ae9630503c61d2",
        "15f9731efc59deb271eb8086d05f532209c8561e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 14 14:37:05 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 14:37:05 2024 +0000"
      },
      "message": "Merge \"NetBpfLoad: change condition for when we execute platform bpfloader\" into main"
    },
    {
      "commit": "4b28336a7a35df561511b2124bca1a817daa9426",
      "tree": "7103788f4f159d6b96c910a92e1624c3660b6a27",
      "parents": [
        "7b95d99077562dd2f367fd89bfe8132e4f8e4659"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 04:23:48 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 05:49:17 2024 -0700"
      },
      "message": "NetBpfLoad: disable mainline on \u003c U QPR3\n\nWe stop calling \u0027service mdnsd_netbpfload\u0027 from libnetd_updatable.so.\n\nTo make this work we need to change all bpf .o minimum bpfloader versions\nfrom mainline BPFLOADER_MAINLINE_X_VERSION to non-mainline\nBPFLOADER_X_VERSION equivalents (at least for X \u003c U QPR3).\n\nThe {offload,test}@mainline.o files are now misnamed, but we leave this be:\n - \u0027mainline\u0027 now means \u0027U+ BTF enabled version\u0027,\n - S and (official) T use the baseline non-BTF version.\nHowever, there are *some* oem/vendor T\u0027s with @ supporting bpfloade,\nso they will use the @mainline.o files instead... (this is harmless)\n\nBug: 335124875\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: Ibe285aefc315e6cb224450d1487980df3cba0eff\n"
    },
    {
      "commit": "7b95d99077562dd2f367fd89bfe8132e4f8e4659",
      "tree": "e63ac2d05ae554321c2ef3fdcc7f21f8794880a4",
      "parents": [
        "15f9731efc59deb271eb8086d05f532209c8561e"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 18:18:11 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 05:49:17 2024 -0700"
      },
      "message": "NetBpfLoad: on aosp/main bump version from U QPR3 to V\n\naosp/main is currently still sdk 34/U, and netbpfload\nruns as root (like on U QPR3 and V) which makes us treat\nit as U QPR3.\n\nThis change will make us treat it as 35/V.\n\nThis will also potentially result in us already seeing\nsdk 36 in places (goog/main?), but this won\u0027t currently hurt\n(because we don\u0027t distinguish anything \u003e\u003d35).\n\nAnd indeed it likely won\u0027t ever hurt us, as too high\na version on dev branches (goog/main?) is unlikely\nto be a practical problem.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I318df93e5b3a06af2ee2c6ab1cb40d8a8dffa212\n"
    },
    {
      "commit": "15f9731efc59deb271eb8086d05f532209c8561e",
      "tree": "3837b5404c3b6fab2afaeb803239d310a3c2c536",
      "parents": [
        "c390083c0cec02f09a208ff0cd63da5dd1824322"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 14:11:28 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 05:48:49 2024 -0700"
      },
      "message": "NetBpfLoad: change condition for when we execute platform bpfloader\n\nNote that \u0027true iff U QPR3 or V+\u0027 comment is subtle.\n\nnetbpfload.35rc runs netbpfload as \u0027root\u0027 uid, so V+ is obvious.\n\nHowever, netbpfload.33rc runs netbpfload as \u0027system\u0027 uid, so one\nwould think that this isn\u0027t true on T/U.\n\nHowever the U QPR2 and U QPR3 \u0027service bpfloader\u0027 actually run\nplatform netbpfload, and the U QPR3 platform netbpfload immediately\nexecutes the apex provided netbpfload...\n\nOnce the apex netbpfload finishes mainline init is considered\n\u0027done\u0027, and thus we won\u0027t (need to) start service mdnsd_netbpfload.\n\nAs a result even on U QPR3, we never run netbpfload as system uid.\n\nTest: TreeHugger\nChange-Id: I02661dff07c317394a9d8ba3d48e4cb9cd694fd0\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\n"
    },
    {
      "commit": "52018c821ccc7d097449442eea25b1249d706caf",
      "tree": "c4c4cebfeabe66632a035fb5ff3bfdced402f1c8",
      "parents": [
        "b62d79c423570421e9813bf0db2dbd7c981a3c71"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 04 16:05:16 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 10:51:25 2024 +0000"
      },
      "message": "BpfSyscallWrappers: grab shared lock on writable map open\n\nand add an accessor to grab an exclusive lock on a R/W map open\n(such a map could be accessed with a write-through cache)\n\nNote: we can\u0027t grab a flock as that would occupy the full inode,\nand all bpfmaps are actually (currently) the *same* anonymous inode.\n\nAs such we actually grab a lock on a range (a single byte),\nthe offset being determined by the unique bpf map id.\n\nWe include some very simple, but sufficient, correctness tests\nin the critical boot path: this is to prevent any surprises\ncaused by kernel implementation changes.\n\n$ adb root \u0026\u0026 sleep 1 \u0026\u0026 adb wait-for-device shell grep OFDLCK /proc/locks\nid: OFDLCK ADVISORY [WRITE|READ] pid blkmaj:min:inode min_offset max_offset\n11: OFDLCK ADVISORY  READ -1 00:0e:1048 36 36\n14: OFDLCK ADVISORY  READ -1 00:0e:1048 35 35\n15: OFDLCK ADVISORY  READ -1 00:0e:1048 41 41\n16: OFDLCK ADVISORY  READ -1 00:0e:1048 40 40\n22: OFDLCK ADVISORY  READ -1 00:0e:1048 24 24\n23: OFDLCK ADVISORY  READ -1 00:0e:1048 17 17\n24: OFDLCK ADVISORY  READ -1 00:0e:1048 16 16\n25: OFDLCK ADVISORY  READ -1 00:0e:1048 13 13\n\nOFDLCK probably means \u0027Open File Descriptor LoCK\u0027 since an OFDLCK\nis associated with (held by) the file descriptor and not a process/pid,\non the given (anonymous in this case) block device + inode.\n\nWhere READ\u003dshared and WRITE\u003dexclusive.\nThere are (as yet) no exclusive locks held post boot.\n\nThe pid field is unfortunately always -1 (and cannot be manually set).\n\nThe 00:0e:1048 (or at least the inode portion) is random\n(likely depends on boot ordering)\n\nThe final two fields (min and max offset) are the bpf map id.\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I208e3450da3fe4689ad5fd578539f401f25a4fef\n"
    },
    {
      "commit": "36bc46d17136ef1c79c003fab9ae9630503c61d2",
      "tree": "85b5c91f25f41d3d04a5a4507c938de0ea2d2fcd",
      "parents": [
        "c390083c0cec02f09a208ff0cd63da5dd1824322",
        "070094d8579e0bbe34fafe7845afa3cf58bd96cf"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jun 14 07:58:20 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 07:58:20 2024 +0000"
      },
      "message": "Merge \"Add ignore-mobile-data-check option to preparer\" into main"
    },
    {
      "commit": "c390083c0cec02f09a208ff0cd63da5dd1824322",
      "tree": "e646c2154441b906f5b21544e815a2723ddb111a",
      "parents": [
        "7fecf30941d733e826c25b86e9a79beb2932ccc0",
        "1a3b54f005037c85216c6926ff1b7378e3957a83"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Fri Jun 14 06:51:08 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 06:51:08 2024 +0000"
      },
      "message": "Merge \"introduce BPFLOADER_MAINLINE_U_QPR3_VERSION\" into main"
    },
    {
      "commit": "070094d8579e0bbe34fafe7845afa3cf58bd96cf",
      "tree": "048b590b29171146d361714745f38c4b5754edf8",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon May 20 13:11:16 2024 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jun 14 15:09:30 2024 +0900"
      },
      "message": "Add ignore-mobile-data-check option to preparer\n\nAllow tests to use ConnectivityTestTargetPreparer with\nrequire-mobile-data\u003dfalse, if the test only requires wifi.\n\nBug: 340098257\nTest: atest\nChange-Id: I32b67932fc9973f374c975f2fd8009699f5d2725\n"
    },
    {
      "commit": "7fecf30941d733e826c25b86e9a79beb2932ccc0",
      "tree": "ac9cc51c03392ffca4a3a8c7ea6658094e3e22d7",
      "parents": [
        "584656e84500deb6993bcb237657f1102beb360b",
        "6295614bc8c287af55f01bcd5d1957eab23b0952"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 14 02:23:24 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 02:23:24 2024 +0000"
      },
      "message": "Merge \"NetBpfLoad: log bpfloader_ver\" into main"
    },
    {
      "commit": "584656e84500deb6993bcb237657f1102beb360b",
      "tree": "a45765263c6ba139191f384ff498910a23ee0c3c",
      "parents": [
        "27dda75277ea06332c1b4f0fb08e5d08755f8b74",
        "48e476bdfafca35e10e8590fa0cdafe478f84ae5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 14 01:59:24 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 01:59:24 2024 +0000"
      },
      "message": "Merge \"NetBpfLoad: change condition for writing \u0027unprivileged_bpf_disabled\u0027 sysctl\" into main"
    },
    {
      "commit": "27dda75277ea06332c1b4f0fb08e5d08755f8b74",
      "tree": "d5b4bbf123256bf6fcf2d752ad6461a3f850de0d",
      "parents": [
        "8b6133a54744778b61994a62b6c23bb9f9852bb8",
        "08c82c3b6581fa163400e11ce9a1e5f322fcbddd"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 14 01:58:44 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 01:58:44 2024 +0000"
      },
      "message": "Merge \"NetBpfLoad: rename \u0027mdnsd_loadbpf\u0027 to \u0027mdnsd_netbpfload\u0027\" into main"
    },
    {
      "commit": "8b6133a54744778b61994a62b6c23bb9f9852bb8",
      "tree": "c021e66333bdf7321b12cb46ce4ee3265e093159",
      "parents": [
        "2555c1f1e4102febea0313f2f82feaf85caf66b0",
        "b4a1e87cccc0be4924891f103c3dd6f809435f6d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 14 01:58:08 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 01:58:08 2024 +0000"
      },
      "message": "Merge \"rename netbpfload.mainline.rc to netbpfload.33rc\" into main"
    },
    {
      "commit": "2555c1f1e4102febea0313f2f82feaf85caf66b0",
      "tree": "73a6b9fa8c87ea7aa7f0eb354e4881f1ab89e886",
      "parents": [
        "1bc29744b4f020e4e303b6012aad2c0fe61a068c",
        "6a167411522ca6e2026f64946088682819f94ae9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 14 01:58:08 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 01:58:08 2024 +0000"
      },
      "message": "Merge \"NetBpfLoad: remove android_get_application_target_sdk_version()\" into main"
    },
    {
      "commit": "1bc29744b4f020e4e303b6012aad2c0fe61a068c",
      "tree": "388a9bf45b1abcd6bf31416636bc6b9a661f7741",
      "parents": [
        "4fd27d40893aaf51abbf0fa9b0ddd4fd98017db7",
        "bf6f928b2dec5721508d8506c328fa171bb1ad7d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 14 01:58:07 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 14 01:58:07 2024 +0000"
      },
      "message": "Merge \"Fix comment about U QPR2 vs V bpfloader version\" into main"
    },
    {
      "commit": "1a3b54f005037c85216c6926ff1b7378e3957a83",
      "tree": "bd171b3ff103a12da0c41d8153c7a4ac72231409",
      "parents": [
        "6295614bc8c287af55f01bcd5d1957eab23b0952"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:35:46 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:38:33 2024 -0700"
      },
      "message": "introduce BPFLOADER_MAINLINE_U_QPR3_VERSION\n\nNote: this is technically a little bit early,\nas U QPR3 still runs netbpfload as \u0027system\u0027 uid by virtue of\nnetbpfload.33rc overriding \u0027service bpfloader\u0027,\nbut this will change in a followup, at which point U QPR3\nwill become special by virtue of always using mainline netbpfload\n\nSee: https://android.googlesource.com/platform/packages/modules/Connectivity/+/refs/heads/android14-qpr3-release/netbpfload/NetBpfLoad.cpp#262\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I0f52d1e78652501c8601227c4740d9b34673bf5f\n"
    },
    {
      "commit": "6295614bc8c287af55f01bcd5d1957eab23b0952",
      "tree": "4257bc7d84ec3a9bf55a79896d3be3ee0305f14b",
      "parents": [
        "48e476bdfafca35e10e8590fa0cdafe478f84ae5"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:32:57 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:38:33 2024 -0700"
      },
      "message": "NetBpfLoad: log bpfloader_ver\n\nsince this is dynamic, it seems like a useful thing to log\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I073e76ab54b4f2182c9b5c2b128425a5294ed50a\n"
    },
    {
      "commit": "48e476bdfafca35e10e8590fa0cdafe478f84ae5",
      "tree": "6ebeb2772fbceba2bb8fa8b0e5ca6e22c08e22ba",
      "parents": [
        "08c82c3b6581fa163400e11ce9a1e5f322fcbddd"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 14:06:49 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:26:55 2024 -0700"
      },
      "message": "NetBpfLoad: change condition for writing \u0027unprivileged_bpf_disabled\u0027 sysctl\n\n(and add a few more comments for what access is needed in general)\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I2aa596f4f2d34179bb36360ad1c9a795fbb97d0d\n"
    },
    {
      "commit": "08c82c3b6581fa163400e11ce9a1e5f322fcbddd",
      "tree": "6f997425a27f9d37e1d941f1a6a1773281b888fc",
      "parents": [
        "b4a1e87cccc0be4924891f103c3dd6f809435f6d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 13:43:13 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:26:55 2024 -0700"
      },
      "message": "NetBpfLoad: rename \u0027mdnsd_loadbpf\u0027 to \u0027mdnsd_netbpfload\u0027\n\n(perhaps a clearer name, especially once we switch what this does)\n\nTest: TreeHugger\nChange-Id: I99c811fc357ab0bb3b4065658c9e5e4733689728\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\n"
    },
    {
      "commit": "b4a1e87cccc0be4924891f103c3dd6f809435f6d",
      "tree": "9c11fd92d0310db9ec9189e51ebcd979b8456314",
      "parents": [
        "6a167411522ca6e2026f64946088682819f94ae9"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 13:41:19 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:26:55 2024 -0700"
      },
      "message": "rename netbpfload.mainline.rc to netbpfload.33rc\n\n(easier to realize what is happening, and clearer with the also\n existing netbpfload.35rc)\n\nTest: TreeHugger\nChange-Id: I587aa3d8b846800c7fc93765ecb0acc9715b0521\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\n"
    },
    {
      "commit": "6a167411522ca6e2026f64946088682819f94ae9",
      "tree": "91262056e01923dd2c04680188a912df43650762",
      "parents": [
        "bf6f928b2dec5721508d8506c328fa171bb1ad7d"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 13:25:47 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:26:55 2024 -0700"
      },
      "message": "NetBpfLoad: remove android_get_application_target_sdk_version()\n\nThis isn\u0027t actually useful as it is apparently always just 10000\n\nTest: TreeHugger\nChange-Id: Ibf625150ee8f964a386a5e9f15e0552d611ce927\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\n"
    },
    {
      "commit": "bf6f928b2dec5721508d8506c328fa171bb1ad7d",
      "tree": "37a341a3517312ce0b678254679d92cc0afe5544",
      "parents": [
        "b62d79c423570421e9813bf0db2dbd7c981a3c71"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 13:08:10 2024 -0700"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 13 15:26:55 2024 -0700"
      },
      "message": "Fix comment about U QPR2 vs V bpfloader version\n\nSee: https://android.googlesource.com/platform/system/bpf/+/refs/heads/android14-qpr2-release/libbpf_android/Loader.cpp#34\n\nTest: N/A\nChange-Id: I7ee4ce73efddd0259f0248fcb45d7544387cde7d\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\n"
    },
    {
      "commit": "4fd27d40893aaf51abbf0fa9b0ddd4fd98017db7",
      "tree": "08632f7756bb9e5f12c10999e9d435b639e1d92a",
      "parents": [
        "0ecf2cbac8aaea9d96d055c1678297a93234a8ba",
        "6278e2d4b51f60a5fe79127785c1113ec9d513cb"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 13 14:18:26 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 13 14:18:26 2024 +0000"
      },
      "message": "Merge \"Enable some mdns features as default\" into main"
    },
    {
      "commit": "0ecf2cbac8aaea9d96d055c1678297a93234a8ba",
      "tree": "973a2458f799ccc35de4b0ca5d53784eb618b6d6",
      "parents": [
        "66de80d723d40c3d2bdd94edc4e4eade13fa4630",
        "bfe49e0844c94f3a7eed6654ee53352c528fae5c"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Jun 13 11:45:57 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 13 11:45:57 2024 +0000"
      },
      "message": "Merge \"Update document for ApfCapabilities.hashCode()\" into main"
    },
    {
      "commit": "bfe49e0844c94f3a7eed6654ee53352c528fae5c",
      "tree": "8e94a7c57abd5ee9560caa56d33228a6d5bc9a72",
      "parents": [
        "568034b1c6e7be865a3f86f87fd9ec9fe7fbb14e"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Tue Jun 11 16:28:33 2024 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Jun 13 20:44:46 2024 +0900"
      },
      "message": "Update document for ApfCapabilities.hashCode()\n\nBug: 346468860\nTest: TH\nChange-Id: I608effa4b84fbd34461cbfd22afb5eef33bed139\n"
    },
    {
      "commit": "66de80d723d40c3d2bdd94edc4e4eade13fa4630",
      "tree": "a88612371fb931c331af717f4d0a4039ab07d3a6",
      "parents": [
        "488d40d122664e1998b06186467d71ae9f1b75a2",
        "f4c16355dccccb6a81f32220d78f5eb8e06e0741"
      ],
      "author": {
        "name": "Zhi Zhou",
        "email": "zhizhounq@google.com",
        "time": "Thu Jun 13 10:02:54 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 13 10:02:54 2024 +0000"
      },
      "message": "Merge \"Add a local dynamic config for ConnectivityManagerTest to decouple the test config from test logic.\" into main"
    },
    {
      "commit": "488d40d122664e1998b06186467d71ae9f1b75a2",
      "tree": "d67050ec009f273d56e03484fa3fb6aa514fb424",
      "parents": [
        "b26b437dea53f4954819265e9a71e37b7b85edcf",
        "05aa33ccec59345b1edb89334482d7384a301b49"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 13 09:50:15 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 13 09:50:15 2024 +0000"
      },
      "message": "Merge \"Do not display \"null\" in sign-in note details\" into main"
    },
    {
      "commit": "6278e2d4b51f60a5fe79127785c1113ec9d513cb",
      "tree": "d839ba558fb25519a52cbbdfa40051864ba6acb7",
      "parents": [
        "4dd381a966f0c322abf619736425e3da8779802b"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed May 29 06:26:34 2024 +0000"
      },
      "committer": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Thu Jun 13 08:53:42 2024 +0000"
      },
      "message": "Enable some mdns features as default\n\nThe following flags have been successfully rolled out to public\nstage on Pixel devices without any observed regressions. As a\nresult, these flags should be enabled by default with a kill\nswitch, allowing these features to be deployed to all production\ndevices.\n\n- nsd_expired_services_removal\n- nsd_known_answer_suppression\n- nsd_unicast_reply_enabled\n\nBug: 265787401\nBug: 314510849\nTest: atest FrameworksNetTests NsdManagerTest\nChange-Id: I95e6f994bfc84d25f9df5d5831ff4b78c4b8d52b\n"
    },
    {
      "commit": "f4c16355dccccb6a81f32220d78f5eb8e06e0741",
      "tree": "a9f197bf504fca46f88067742d14feb62c5c0b78",
      "parents": [
        "b26b437dea53f4954819265e9a71e37b7b85edcf"
      ],
      "author": {
        "name": "zhi",
        "email": "zhizhounq@google.com",
        "time": "Wed May 08 20:52:00 2024 +0800"
      },
      "committer": {
        "name": "zhi",
        "email": "zhizhounq@google.com",
        "time": "Thu Jun 13 16:43:47 2024 +0800"
      },
      "message": "Add a local dynamic config for ConnectivityManagerTest to decouple the test config from test logic.\n\nTest: local runs, abtd\nBug: 317166695\nChange-Id: I105650c4c9cb93e7da8cbe9aa68baa04d750a691\n"
    },
    {
      "commit": "b26b437dea53f4954819265e9a71e37b7b85edcf",
      "tree": "0f87d809f242b979a9dcee7976263f31f9b48c57",
      "parents": [
        "b62d79c423570421e9813bf0db2dbd7c981a3c71",
        "7627f7e9c1ec09e34bd818774c9940d482a3e55c"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Jun 13 08:29:13 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 13 08:29:13 2024 +0000"
      },
      "message": "Merge \"Increase testReadWriteProgram() timeout to 15 minutes\" into main"
    },
    {
      "commit": "05aa33ccec59345b1edb89334482d7384a301b49",
      "tree": "a909b8a1ebebf13c9c7dc97ee61e9b0017744927",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jun 13 17:10:36 2024 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jun 13 17:10:36 2024 +0900"
      },
      "message": "Do not display \"null\" in sign-in note details\n\nFor non-telephony, non-wifi networks, both extraInfo and SSID are likely\nto be null, in which case\ngetString(network_available_sign_in_detailed, null) would be used for\nthe notification contents, which would just print \"null\" (by default the\nstring template is just \"%1$s\").\n\nUse an empty string instead, as there is no string identifier for the\nnetwork. This should still be better than having text that says \"null\".\n\nTest: atest\nBug: 334926818\nChange-Id: I19bdba186d2402b40549b1ad5f97864b7c38ca10\n"
    },
    {
      "commit": "b62d79c423570421e9813bf0db2dbd7c981a3c71",
      "tree": "0caae09129625c8484ce9fbd6279cfd2ca91e474",
      "parents": [
        "99f1201b0f2febdc73f0397f83d9364feb0db021",
        "b41e4f6326d3ca13ec0bd431261a6993face6351"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 13 01:54:03 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 13 01:54:03 2024 +0000"
      },
      "message": "Merge \"Add individual try/catch blocks for ParcelFileDescriptor closure\" into main"
    },
    {
      "commit": "99f1201b0f2febdc73f0397f83d9364feb0db021",
      "tree": "a131f476d5162acc485b5579264f08c59e2f1453",
      "parents": [
        "7ff092e3d1bdd1e7d799db855c6fc6fab7eaf913",
        "e2ef4547e14d977705a563cbd0ac390f7948207c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jun 12 21:08:34 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 12 21:08:34 2024 +0000"
      },
      "message": "Merge \"Adjust background restriction transition delays in tests\" into main"
    },
    {
      "commit": "7ff092e3d1bdd1e7d799db855c6fc6fab7eaf913",
      "tree": "9667ff6f15c0664daf3632b977dc38b722d9d186",
      "parents": [
        "0781c74af45a405a56cce8bb6297d4fa2c24c9aa",
        "151275359f776b005a37e43f376148ccda54fd4c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jun 12 18:07:55 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 12 18:07:55 2024 +0000"
      },
      "message": "Merge \"[Thread] add the \"vgh\" TXT entry\" into main"
    },
    {
      "commit": "e2ef4547e14d977705a563cbd0ac390f7948207c",
      "tree": "68a4e985277f0d6a22b1cf337312e647ccaa3a78",
      "parents": [
        "0781c74af45a405a56cce8bb6297d4fa2c24c9aa"
      ],
      "author": {
        "name": "Suprabh Shukla",
        "email": "suprabh@google.com",
        "time": "Wed Jun 12 17:35:14 2024 +0000"
      },
      "committer": {
        "name": "Android Build Cherrypicker Worker",
        "email": "android-build-cherrypicker-worker@google.com",
        "time": "Wed Jun 12 17:35:14 2024 +0000"
      },
      "message": "Adjust background restriction transition delays in tests\n\nBackground chain transition delays are changing in the framework to be\nlonger for LAST_ACTIVITY and higher-priority and shorter for\nlower-priority process-states. Updating tests to use the shorter timeout\nwherever possible and using the longer timeout wherever the test\nspecifically tests for process-state LAST_ACTIVITY.\n\nFlag: com.android.server.net.use_different_delays_for_background_chain\n\nTest: atest CtsHostsideNetworkPolicyTests\n\nBug: 323963467\n(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:adf00ec210dc72b0075755065f5dfafa7971e70f)\nMerged-In: I4ab0cef2e81c465753a8aa2228d2e0ddf1abf1ea\nChange-Id: I4ab0cef2e81c465753a8aa2228d2e0ddf1abf1ea\n"
    },
    {
      "commit": "151275359f776b005a37e43f376148ccda54fd4c",
      "tree": "fe27adbb770f284987758548e49c92fcb0be7162",
      "parents": [
        "922194de62ca05c6f3bc6a08c681eb6f9ae939fa"
      ],
      "author": {
        "name": "Kangping Dong",
        "email": "wgtdkp@google.com",
        "time": "Sun Jun 02 16:22:24 2024 +0800"
      },
      "committer": {
        "name": "Kangping Dong",
        "email": "wgtdkp@google.com",
        "time": "Wed Jun 12 23:19:34 2024 +0800"
      },
      "message": "[Thread] add the \"vgh\" TXT entry\n\nAllows vendors to specify whether the Thread network is managed by\nGoogle or not.\n\nBug: 343671003\n\nChange-Id: Ie4d4050add0485643ea3eff0c576868b086f848c\n"
    },
    {
      "commit": "7627f7e9c1ec09e34bd818774c9940d482a3e55c",
      "tree": "886897408b19481f2680fa52277a5ea13b280e0d",
      "parents": [
        "568034b1c6e7be865a3f86f87fd9ec9fe7fbb14e"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Wed Jun 12 19:06:49 2024 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Wed Jun 12 19:13:22 2024 +0900"
      },
      "message": "Increase testReadWriteProgram() timeout to 15 minutes\n\nExtended the timeout of ApfIntegrationTest#testReadWriteProgram() to 15\nminutes to accommodate devices with larger APF memory (e.g., 4K RAM).\n\nExample run on a device with 4K APF RAM:\n[1/1] android.net.cts.ApfIntegrationTest#testReadWriteProgram: PASSED (09m47.451s)\n\nBug: 346707554\nTest: TH\nChange-Id: I063abe285e061edf3a0d338ba7233a08be03c9b4\n"
    },
    {
      "commit": "0781c74af45a405a56cce8bb6297d4fa2c24c9aa",
      "tree": "c56415472906c522d4ad5ac0d84750be748ea1fd",
      "parents": [
        "f1a7b4122ade4e005df02395a27034d9e2532356",
        "26c81bd9a3ec3bb716b430f8db96198b2d595fc8"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jun 12 08:30:44 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 12 08:30:44 2024 +0000"
      },
      "message": "Merge \"Fix test_hotspot_upstream_cellular failure\" into main"
    },
    {
      "commit": "f1a7b4122ade4e005df02395a27034d9e2532356",
      "tree": "259e43dd87ea15ae1714ed0e3e3223a10aebaca6",
      "parents": [
        "922194de62ca05c6f3bc6a08c681eb6f9ae939fa",
        "24b3462d24b8c6427f5adf6c6d8e36b1006b04e0"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Wed Jun 12 07:00:45 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 12 07:00:45 2024 +0000"
      },
      "message": "Merge \"Do not crash test on invalid pending intent\" into main"
    },
    {
      "commit": "24b3462d24b8c6427f5adf6c6d8e36b1006b04e0",
      "tree": "c20ca81c422cdef8e0001990fefed9716f87fa2c",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jun 12 12:56:02 2024 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jun 12 12:58:11 2024 +0900"
      },
      "message": "Do not crash test on invalid pending intent\n\nInstead of having an assert in the BroadcastReceiver, which runs in a\nseparate thread which crashes the test process on assertion failure,\nmove it to the test thread.\n\nBug: 345804242\nTest: atest\nChange-Id: Ib10cb1464918bcb978bdd9fae378427cb393f2f3\n"
    },
    {
      "commit": "26c81bd9a3ec3bb716b430f8db96198b2d595fc8",
      "tree": "7214e9da87bda2389fc9d9fb07341ff07c5962de",
      "parents": [
        "d1c52e3eb0aa13f8e671d5141c84183f2ff82880"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jun 12 10:45:46 2024 +0800"
      },
      "committer": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Wed Jun 12 11:49:54 2024 +0800"
      },
      "message": "Fix test_hotspot_upstream_cellular failure\n\nThis change:\n  1. Move precondition checks prior to setup hotspot.\n     This removes the need of redundant clean-up if\n     the device doesn\u0027t meet preconditions.\n  2. Use unregisterAll instead of unregisterCell to\n     clean-up registered connections to prevent from\n     complex error handling in clean-up stage.\n\nTest: m connectivity_multi_devices_snippet \u0026\u0026 \\\n      atest CtsConnectivityMultiDevicesTestCases:ConnectivityMultiDevicesTest\nFix: 345110845\nChange-Id: I4de0e7401d52f891948eb7b5a8c112a837cb0c3e\n"
    },
    {
      "commit": "922194de62ca05c6f3bc6a08c681eb6f9ae939fa",
      "tree": "60a028de907b1077fcb0ab8d4435a986af3130c5",
      "parents": [
        "ea8177b3496b67fb9c8e601d915498c474e80d3a",
        "e4cbb9c7f64b8a95da918b162b3a1a42b8bca634"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Tue Jun 11 15:10:26 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 11 15:10:26 2024 +0000"
      },
      "message": "Merge \"Remove unused function\" into main"
    },
    {
      "commit": "b41e4f6326d3ca13ec0bd431261a6993face6351",
      "tree": "d239fa7d395963d01504ef0f67f762afe443946e",
      "parents": [
        "568034b1c6e7be865a3f86f87fd9ec9fe7fbb14e"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Tue Jun 11 15:09:41 2024 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Tue Jun 11 15:09:41 2024 +0900"
      },
      "message": "Add individual try/catch blocks for ParcelFileDescriptor closure\n\nEnclosed each ParcelFileDescriptor.close() call in its own try/catch\nblock to ensure that if one closure throws an exception, the others will\nstill be attempted.\n\nBug: 346469095\nTest: TH\nChange-Id: Ib59fffaa39488acb73bbdbe8ebc795043f2b301f\n"
    },
    {
      "commit": "ea8177b3496b67fb9c8e601d915498c474e80d3a",
      "tree": "079aed3f23f9fb0db188aa7725ca9eeb7cad7f6d",
      "parents": [
        "a0f17c45a36c2150766ddd3d5f227b1dd34dcff9",
        "82bf7bbe8b229a587901260354b5acda231aa837"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Mon Jun 10 16:40:32 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 10 16:40:32 2024 +0000"
      },
      "message": "Merge \"Build CtsNativeNetDnsTestCases with static libc++ and version script\" into main"
    },
    {
      "commit": "82bf7bbe8b229a587901260354b5acda231aa837",
      "tree": "173f24c20780f2c462d9e719112e765d4e3953ee",
      "parents": [
        "d6f447215f47169d54b4047fe3659ea5379f5f89"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jun 07 14:38:14 2024 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Jun 07 14:38:14 2024 -0700"
      },
      "message": "Build CtsNativeNetDnsTestCases with static libc++ and version script\n\nBug: http://b/344654921\nTest: m CtsNativeNetDnsTestCases\nChange-Id: I3d5d25d1f51ab45a5d96639a1b70f5d6e58f6239\n"
    },
    {
      "commit": "a0f17c45a36c2150766ddd3d5f227b1dd34dcff9",
      "tree": "7de7df1cb43c4f17dccdcf3b9be51567935b159a",
      "parents": [
        "568034b1c6e7be865a3f86f87fd9ec9fe7fbb14e",
        "d44bd8bc80691274d787f3385ba984af0e937419"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 07 21:09:31 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 07 21:09:31 2024 +0000"
      },
      "message": "Merge \"NearbyManagerTest: Put static classRule as public\" into main"
    },
    {
      "commit": "568034b1c6e7be865a3f86f87fd9ec9fe7fbb14e",
      "tree": "3813793167bd675c39746ed5ff433ed98729b410",
      "parents": [
        "3e07102814f42d367b272b01fec9f191f0c461ca",
        "660584a69fb7b716140cd3c8584417dd948e00b6"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 11:39:27 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 07 11:39:27 2024 +0000"
      },
      "message": "Merge changes I299dd0df,If4a256df into main\n\n* changes:\n  Re-enable HostsideVpnTests on presubmit\n  Update VpnTest#testDefault to use otherUid that has internet permission\n"
    },
    {
      "commit": "3e07102814f42d367b272b01fec9f191f0c461ca",
      "tree": "e284b3953191c9e54f6470374b4cec9f9a5c0306",
      "parents": [
        "d6f447215f47169d54b4047fe3659ea5379f5f89",
        "1cf04c96dadff7a74ff50cca36ec46b16831148e"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 09:29:06 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 07 09:29:06 2024 +0000"
      },
      "message": "Merge changes I62c990d0,I413bdb76,I020ba48e into main\n\n* changes:\n  Update NetworkRequestTest#testDefaultCapabilities\n  Allow default messaging app to use constrained satellite network\n  Introduce NET_CAPABILITY_NOT_BANDWIDTH_CONSTRAINED\n"
    },
    {
      "commit": "660584a69fb7b716140cd3c8584417dd948e00b6",
      "tree": "cf3d9c592b9dbd324ceef95673fcbfd00dc2d7ff",
      "parents": [
        "dda2d35b0c8443f380ce836eb32e3504813e63a4"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 14:53:51 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 17:59:23 2024 +0900"
      },
      "message": "Re-enable HostsideVpnTests on presubmit\n\nSome tests were disabled by aosp/2676836 since these tests were flaky\n(b/291701394).\nb/291701394 was fixed. So, this CL re-enables them on presubmit.\n\nBug: 291701394\nBug: 342557183\nTest: VpnTest --iterations 10\nChange-Id: I299dd0dfd7d6cbdea2ad97477b5613c78af421e1\n"
    },
    {
      "commit": "dda2d35b0c8443f380ce836eb32e3504813e63a4",
      "tree": "f43b306c27cf3a4b40ec65d81edead7bafe5192a",
      "parents": [
        "d6f447215f47169d54b4047fe3659ea5379f5f89"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 14:50:25 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 17:59:20 2024 +0900"
      },
      "message": "Update VpnTest#testDefault to use otherUid that has internet permission\n\nBug: 342557183\nTest: VpnTest\nChange-Id: If4a256df9ef96285c65dd285c7d37696dbd82298\n"
    },
    {
      "commit": "d6f447215f47169d54b4047fe3659ea5379f5f89",
      "tree": "8abc7b5a702f7bf7f458b795a549de2121e130be",
      "parents": [
        "65bb6527cdf5386773827c20b91e1ad4dfb7fa79",
        "5848825c42bb98442db51a2284d623ecd5989dba"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Fri Jun 07 05:32:16 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 07 05:32:16 2024 +0000"
      },
      "message": "Merge \"Add sdk_version property to cts tests\" into main"
    },
    {
      "commit": "65bb6527cdf5386773827c20b91e1ad4dfb7fa79",
      "tree": "d1aedf98d124f69d56be56d3ef1674a23e8632a6",
      "parents": [
        "53f4a29816f04e47eb91429a0b1b7434538298a9",
        "986dd36e65aad9082f2bf13d5e7a25ea18110ead"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 07 03:51:14 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 07 03:51:14 2024 +0000"
      },
      "message": "Merge \"waitForIdle to avoid stubbing mocked bpfNetMaps while CS is accessing\" into main"
    },
    {
      "commit": "53f4a29816f04e47eb91429a0b1b7434538298a9",
      "tree": "6f0d1aca1641cfea1b37ccaabb41ff7f50859380",
      "parents": [
        "eb6c2885a34be0f173c6c2cd18aaf67d4eb2d99e",
        "3b47411d25d8ef429b2a30e0e4ea40d777e13bdf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Fri Jun 07 02:39:52 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 07 02:39:52 2024 +0000"
      },
      "message": "Merge \"[Thread] add public newbie guide\" into main"
    },
    {
      "commit": "3b47411d25d8ef429b2a30e0e4ea40d777e13bdf",
      "tree": "05c368edbcf87da4cf77199d30434713ebacb5a4",
      "parents": [
        "8b15cc8f8eba1b775b8552b4702c58f7a4c34a1d"
      ],
      "author": {
        "name": "Kangping Dong",
        "email": "wgtdkp@google.com",
        "time": "Fri Jun 07 02:38:58 2024 +0000"
      },
      "committer": {
        "name": "Kangping Dong",
        "email": "wgtdkp@google.com",
        "time": "Fri Jun 07 02:38:58 2024 +0000"
      },
      "message": "[Thread] add public newbie guide\n\nChange-Id: I03975d832c2ae1223a472f01541d4d488e2f6950\n"
    },
    {
      "commit": "1cf04c96dadff7a74ff50cca36ec46b16831148e",
      "tree": "cd277d5e51830c155c6cc0a5114b4b780314efec",
      "parents": [
        "ab750abf2948222f70e49523db31d897b005b755"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri May 31 13:43:58 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 09:26:25 2024 +0900"
      },
      "message": "Update NetworkRequestTest#testDefaultCapabilities\n\ntestDefaultCapabilitieswas was added when aosp/2539630 introduced\nDEFAULT_FORBIDDEN_CAPABILITIES to avoid existing users getting callbacks\nfrom local networks.\nBut aosp/2539630 was reverted and aosp/2936050 fixed this issue by\nintroducing compat flag.\ntestDefaultCapabilities was missed to be cleaned up due to the\nannotation.\nThis CL updates testDefaultCapabilities to verify the default\ncapabilities and default forbidden capabilities are not changed on U-.\n\nTest: NetworkRequestTest\nBug: 332466530\nChange-Id: I62c990d0f2c73d159e7c93827bbec14d4d0c0f45\n"
    },
    {
      "commit": "ab750abf2948222f70e49523db31d897b005b755",
      "tree": "1ce65ab3ef60f1be6fe47d53d412da5a4a3039f0",
      "parents": [
        "154ce6381ae989d48d81389c4a8fef52d6e3e7e9"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri May 31 18:15:07 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri Jun 07 09:26:19 2024 +0900"
      },
      "message": "Allow default messaging app to use constrained satellite network\n\nOn V+, there could be satellite network which is not restricted but\nbandwidth constrained.\nThese satellite network has NET_CAPABILITY_NOT_RESTRICTED but does not\nhave NET_CAPABILITY_NOT_BANDWIDTH_CONSTRAINED.\nSince NET_CAPABILITY_NOT_BANDWIDTH_CONSTRAINED is set by default, this\nCL remove this capability from per-app default network request for the\ndefault messaging app.\n\nTest: CSSatelliteNetworkTest\nBug: 343823469\nChange-Id: I413bdb764ead42d67ce1315c365500dbb8508eb3\n"
    },
    {
      "commit": "d44bd8bc80691274d787f3385ba984af0e937419",
      "tree": "2a4ed0582b99c7685f753280fc03a705b97a74f7",
      "parents": [
        "dfef229781fbbeda37c01dab7882e7009470cf82"
      ],
      "author": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Thu Jun 06 17:02:53 2024 -0700"
      },
      "committer": {
        "name": "William Escande",
        "email": "wescande@google.com",
        "time": "Thu Jun 06 17:02:53 2024 -0700"
      },
      "message": "NearbyManagerTest: Put static classRule as public\n\nBug: 345117020\nFix: 345117020\nFlag: TEST_ONLY\nTest: atest NearbyManagerTest\nChange-Id: I37bf29c1c025b361eec2a4e397a3004767920c7f\n"
    },
    {
      "commit": "5848825c42bb98442db51a2284d623ecd5989dba",
      "tree": "e995cad7adff7a6cca14777d7870b4a51d1c27c7",
      "parents": [
        "becb4c1c980ee95eba3c36c30fe3d6b3fc35b4a4"
      ],
      "author": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Thu Jun 06 18:20:36 2024 +0000"
      },
      "committer": {
        "name": "Jihoon Kang",
        "email": "jihoonkang@google.com",
        "time": "Thu Jun 06 21:35:00 2024 +0000"
      },
      "message": "Add sdk_version property to cts tests\n\nThis change specifies the sdk_version property to the cts test modules\nso that the test modules do not depend on the framework, and utilize the\ntest api instead.\n\nTest: TH\nBug: 345499522\nChange-Id: I876fb8681dadad9d123bedb38d67c1a31b0f3a54\n"
    },
    {
      "commit": "eb6c2885a34be0f173c6c2cd18aaf67d4eb2d99e",
      "tree": "7950db08796a100baa14a4949331ca4500f9740e",
      "parents": [
        "4518e093752e3d5e4fe81b093b933a612df16f04",
        "943139f5d7f80e365a31f9a16f283dfd6311039b"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Thu Jun 06 12:57:14 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 06 12:57:14 2024 +0000"
      },
      "message": "Merge \"Add @VsrTest annotations to ApfIntegrationTest\" into main"
    },
    {
      "commit": "986dd36e65aad9082f2bf13d5e7a25ea18110ead",
      "tree": "3d841cac4c54110bcc4af58e9c39a3971e12ec17",
      "parents": [
        "b1d3a85f19ec1c8a0b05dd0ed7293364c44d006c"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Jun 06 18:04:08 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Jun 06 18:04:08 2024 +0900"
      },
      "message": "waitForIdle to avoid stubbing mocked bpfNetMaps while CS is accessing\n\nBug: 343302460\nTest: TH\nChange-Id: I74683b20ce581206c47a153b0e2f348295363ecb\n"
    },
    {
      "commit": "4518e093752e3d5e4fe81b093b933a612df16f04",
      "tree": "22dda38435b6ffb640368433ef99271c6ef4fd59",
      "parents": [
        "4dd381a966f0c322abf619736425e3da8779802b",
        "5e005cf4210435f5a733dbb2a3c226b9941bf40f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "android-test-infra-autosubmit@system.gserviceaccount.com",
        "time": "Thu Jun 06 08:30:20 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 06 08:30:20 2024 +0000"
      },
      "message": "Merge changes I181a490b,Ie2619949,I4bd5fbdf,Ifc0c5baa,I437e6607 into main\n\n* changes:\n  Use /proc/self instead of calling Os.getPid().\n  Use SingleWriterBpfMap in BpfNetMaps.\n  Add a microbenchmark test for BpfMap.\n  Add a SingleWriterBpfMap class that caches reads.\n  Deflake BpfMapTest#testNoFdLeaks.\n"
    },
    {
      "commit": "154ce6381ae989d48d81389c4a8fef52d6e3e7e9",
      "tree": "9ac93fbbfed183ec29b44ac54ca7b5a67f22198e",
      "parents": [
        "b1d3a85f19ec1c8a0b05dd0ed7293364c44d006c"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri May 31 13:01:06 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Jun 06 15:49:21 2024 +0900"
      },
      "message": "Introduce NET_CAPABILITY_NOT_BANDWIDTH_CONSTRAINED\n\nOn V+, this capability is set by default.\nConstrained satellite networks never become the system default network.\n\nTest: CSSatelliteNetworkTest\nBug: 343823469\nChange-Id: I020ba48e74f1f180e1807cbe1c066209bedb0454\n"
    },
    {
      "commit": "5e005cf4210435f5a733dbb2a3c226b9941bf40f",
      "tree": "d2721a9dd866e63472ee37155815d382efcdf286",
      "parents": [
        "8fd925a9b318c22a135887a0c18be862916665cd"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 06 05:50:47 2024 +0000"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 06 05:52:55 2024 +0000"
      },
      "message": "Use /proc/self instead of calling Os.getPid().\n\nChange-Id: I181a490bea05bf62d1a854a4882a0969de280439\nTest: test-only change\n"
    },
    {
      "commit": "4dd381a966f0c322abf619736425e3da8779802b",
      "tree": "19a47396f5b8075222a66d70cfec55bd3d06094a",
      "parents": [
        "9d88333273660d51da2173d3daf1d7e79018e5a4",
        "67586d188ec932b1390d63766f8ff23bcb0b3591"
      ],
      "author": {
        "name": "Kangping Dong",
        "email": "wgtdkp@google.com",
        "time": "Thu Jun 06 05:44:45 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 06 05:44:45 2024 +0000"
      },
      "message": "Merge \"Use DeviceFeatureModuleController to run tests only if the device has the required feature.\" into main"
    },
    {
      "commit": "943139f5d7f80e365a31f9a16f283dfd6311039b",
      "tree": "2c7f6af28b682ab7263f1f36087d8ce1d8caba12",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0"
      ],
      "author": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Jun 06 13:15:42 2024 +0900"
      },
      "committer": {
        "name": "Yuyang Huang",
        "email": "yuyanghuang@google.com",
        "time": "Thu Jun 06 13:23:36 2024 +0900"
      },
      "message": "Add @VsrTest annotations to ApfIntegrationTest\n\nBug: 303356901\nTest: TH\nChange-Id: Ie1c1157df8aaf31123501eb3df32b4b2416001d3\n"
    },
    {
      "commit": "9d88333273660d51da2173d3daf1d7e79018e5a4",
      "tree": "5bb08b538737f4bad88d2873472aabb7d4133abe",
      "parents": [
        "b1d3a85f19ec1c8a0b05dd0ed7293364c44d006c",
        "aa355ac875567db1c987d2387e8108fef2623344"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jun 06 02:42:54 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 06 02:42:54 2024 +0000"
      },
      "message": "Merge \"Add config flag for useDeclaredMethodsForCallbacks\" into main"
    },
    {
      "commit": "67586d188ec932b1390d63766f8ff23bcb0b3591",
      "tree": "dbabc11e90f3478e4d4e6b96beb9c5ac51eae27b",
      "parents": [
        "b1d3a85f19ec1c8a0b05dd0ed7293364c44d006c"
      ],
      "author": {
        "name": "Kangping Dong",
        "email": "wgtdkp@google.com",
        "time": "Wed Jun 05 08:29:58 2024 +0000"
      },
      "committer": {
        "name": "Kangping Dong",
        "email": "wgtdkp@google.com",
        "time": "Wed Jun 05 19:32:59 2024 -0700"
      },
      "message": "Use DeviceFeatureModuleController to run tests only if the device has the required feature.\n\nThis is to avoid running tests on devices that do not support Thread. Otherwise, the tests will fail with ClassNotFoundException when the test classes are loaded\n\nChange-Id: I286394ae925ad7258aa82cd308ac963ee334992c\n"
    },
    {
      "commit": "b1d3a85f19ec1c8a0b05dd0ed7293364c44d006c",
      "tree": "4e5bf2b588e9b332895f986145c27c966cb0888b",
      "parents": [
        "a22aa7777d84ac9c0106fb9121cdf5090c998530",
        "ab1a0671c78c6e829bc102ff726ba0afd438a986"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Thu Jun 06 01:49:31 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jun 06 01:49:31 2024 +0000"
      },
      "message": "Merge \"Stop throwing when the invalid capability is passed\" into main"
    },
    {
      "commit": "e4cbb9c7f64b8a95da918b162b3a1a42b8bca634",
      "tree": "9b1e5acf116de994db599dd12c499f698e2939c3",
      "parents": [
        "6deed1ce5791d8fdd6aa3bba83fe9f8b46cec583"
      ],
      "author": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Jun 05 11:59:43 2024 -0700"
      },
      "committer": {
        "name": "Patrick Rohr",
        "email": "prohr@google.com",
        "time": "Wed Jun 05 12:01:08 2024 -0700"
      },
      "message": "Remove unused function\n\nI believe this did not work in the first place. CompletableFuture#get()\nmight throw a timeout exception if TIMEOUT_MS is reached which fails the\nassertion (but it should not!).\n\nAnyway, it is unused, so just delete this method.\n\nTest: TH\nChange-Id: I43a747179eeaded320df32f40f1237be11de7867\n"
    },
    {
      "commit": "a22aa7777d84ac9c0106fb9121cdf5090c998530",
      "tree": "7571d8e80e5e0b285f4644bb4225c5056f691dbf",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0",
        "1a6ca28ae054c7c9f03e2dac561e82145efe3e53"
      ],
      "author": {
        "name": "Handa Wang",
        "email": "handaw@google.com",
        "time": "Wed Jun 05 10:23:26 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 05 10:23:26 2024 +0000"
      },
      "message": "Merge \"[Thread] support resolving a host for NsdPublisher\" into main"
    },
    {
      "commit": "aa355ac875567db1c987d2387e8108fef2623344",
      "tree": "99af9d2b3d9f6fd56cb72d0589b5683242a9bc0b",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 29 17:56:17 2024 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jun 05 15:54:49 2024 +0900"
      },
      "message": "Add config flag for useDeclaredMethodsForCallbacks\n\nAdd a DeviceConfig flag that will be used to control whether callbacks\nshould be sent selectively based on whether the receiving method has\nbeen overridden (will be implemented in a future change).\n\nThis adds utilities to allow ConnectivityManager to check whether a\nConnectivityService flag is enabled, as that feature will work across\nConnectivityManager and ConnectivityService. ConnectivityManager runs in\napp process and does not necessarily have permissions to use\nDeviceConfig. Also if it checked DeviceConfig separately from\nConnectivityService, values may be out-of-sync.\n\nTest: atest, and see change using this\nChange-Id: I204fa719cc627e84edc5c1e043d947f5ef3f8dee\n"
    },
    {
      "commit": "8fd925a9b318c22a135887a0c18be862916665cd",
      "tree": "42720f2045a3715e6c6811f7bb73fd855ce93685",
      "parents": [
        "f5ebe1aafaeda8e4983b13edff10094bf4cf8f94"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jun 03 12:27:21 2024 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jun 05 06:48:50 2024 +0000"
      },
      "message": "Use SingleWriterBpfMap in BpfNetMaps.\n\nMost of the maps used by BpfNetMaps are configuration maps that\nin production code are only written to by BpfNetMaps. Move these\nmaps to SingleWriterBpfMap to take advantage of caching.\n\nSpecifically, the following are only written by BpfNetMaps in\nproduction code:\n\n- sConfigurationMap\n- sUidOwnerMap\n- sUidPermissionMap\n- sDataSaverEnabledMap\n- sIngressDiscardMap\n\nAdditionally:\n- firewall.cpp writes to sConfigurationMap, sUidOwnerMap, and\n  sDataSaverEnabledMap, but that code only runs in tests because\n  it requires root privileges.\n- NetworkStackBpfNetMaps also uses sConfigurationMap,\n  sUidOwnerMap and sDataSaverEnabledMap, but it opens all of them\n  with BPF_F_RDONLY so cannot write to them.\n\nsCookieTagMap is left uncached because it\u0027s also written to by\nnetd (as part of socket tagging) and ClatCoordinator.\n\nFix: 343166906\nTest: no-op replacement, covered by existing tests\nChange-Id: Ie2619949477323d557b8906cf082e86a78512847\n"
    },
    {
      "commit": "f5ebe1aafaeda8e4983b13edff10094bf4cf8f94",
      "tree": "589b603b602cfcf45bf2c1f0400d89806e5d60f3",
      "parents": [
        "05be2f52fd7af9a02d00e58311bbfea9a0a19821"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Jun 03 12:13:29 2024 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jun 05 06:48:38 2024 +0000"
      },
      "message": "Add a microbenchmark test for BpfMap.\n\nBug: 343166906\nTest: Test-only change\nChange-Id: I4bd5fbdfd4736885f0533b892b089a1c5c1a4b49\n"
    },
    {
      "commit": "05be2f52fd7af9a02d00e58311bbfea9a0a19821",
      "tree": "ca5ce5857d3c508b3409e0e273d01c395f30c392",
      "parents": [
        "05a3e88e6253e64ca912f287d36b299690aad139"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sun Jun 02 13:24:21 2024 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jun 05 06:48:27 2024 +0000"
      },
      "message": "Add a SingleWriterBpfMap class that caches reads.\n\nThis should speed up BPF map reads by returning the cached value\nwithout needing a system call.\n\nBug: 343166906\nTest: added parameterization to BpfMapTest\nChange-Id: Ifc0c5baa80f6d46356434c249749e87fe2f9ec6c\n"
    },
    {
      "commit": "05a3e88e6253e64ca912f287d36b299690aad139",
      "tree": "f1a5dcb95877e911331935405e101239e073ef63",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jun 05 15:08:24 2024 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jun 05 06:48:15 2024 +0000"
      },
      "message": "Deflake BpfMapTest#testNoFdLeaks.\n\nWhen running locally, this occasionally fails due to unrelated fds\nbeing opened or closed while the test is running.\n\nBug: 343166906\nTest: test-only change\nChange-Id: I437e66077f0471572ec2b215db63a000a4622af5\n"
    },
    {
      "commit": "ab1a0671c78c6e829bc102ff726ba0afd438a986",
      "tree": "e05ee2e5bfd855407ea147156a522b239ce6721d",
      "parents": [
        "08137f6e40ce80cd34a4c26b954343a700d52de0"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Fri May 31 12:55:31 2024 +0900"
      },
      "committer": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Jun 05 11:57:18 2024 +0900"
      },
      "message": "Stop throwing when the invalid capability is passed\n\nWhen new capability is introduced and added to capaility or\nforbiddenCapability by default, module rollback could cause system\nserver crash since JobScheduler persists network request that contains\nnew capability that is invalid for old code.\nThis CL updates capability validation not to throw exception to avoid\nsystem crash in this case.\n\nBug: 343823469\nBug: 313030307\nTest: NetworkCapabilitiesTest\nChange-Id: I5708c475f3b4974284531212b77f9788ca9f497e\n"
    },
    {
      "commit": "08137f6e40ce80cd34a4c26b954343a700d52de0",
      "tree": "de15588aa99adae16f4b22e7cf9adf718d8b775e",
      "parents": [
        "dfef229781fbbeda37c01dab7882e7009470cf82",
        "1e31ad3dff5454182394244a477b863ebd019a39"
      ],
      "author": {
        "name": "Motomu Utsumi",
        "email": "motomuman@google.com",
        "time": "Wed Jun 05 01:57:55 2024 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 05 01:57:55 2024 +0000"
      },
      "message": "Merge \"Update CSSatelliteNetworkTest to use restricted satellite network\" into main"
    },
    {
      "commit": "dfef229781fbbeda37c01dab7882e7009470cf82",
      "tree": "0d8f3109493a502ac145b0ef7cedeb5ff0ae5cca",
      "parents": [
        "8b8cf5d8d40a6ce650ccbf736f2e5cbbfcf355af"
      ],
      "author": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 04 13:48:36 2024 +0000"
      },
      "committer": {
        "name": "Maciej Żenczykowski",
        "email": "maze@google.com",
        "time": "Tue Jun 04 13:49:06 2024 +0000"
      },
      "message": "BpfSyscallWrappers: remove mapRetrieve()\n\n(spurious)\n\nTest: TreeHugger\nSigned-off-by: Maciej Żenczykowski \u003cmaze@google.com\u003e\nChange-Id: I642104fb08ffb73f7f409ac868b029962dc31979\n"
    }
  ],
  "next": "8b8cf5d8d40a6ce650ccbf736f2e5cbbfcf355af"
}
