)]}'
{
  "log": [
    {
      "commit": "13701b5532e0c3295bf5670361692b0d0044228d",
      "tree": "285bcff7d8f48c17b0fc6729d4dfe26255231055",
      "parents": [
        "6a3a8155848f0e2f54827ff31f1f7db8329beea5"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 04 13:48:50 2026 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 04 13:48:50 2026 -0500"
      },
      "message": "libtraceevent: 1.9\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6a3a8155848f0e2f54827ff31f1f7db8329beea5",
      "tree": "16a0b7a63ba041e0d7331f87942fdc130c0f6de1",
      "parents": [
        "31fc91bf7f568bc01affa0729c52a6b53dd46462"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 03 18:12:26 2026 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 04 09:14:45 2026 -0500"
      },
      "message": "libtraceevent: Add tep_load_modules() API\n\nWhen the last_boot_info is loaded by tep_parse_last_boot_info(), the\noffset between the last boot core functions can be calculated by the _text\naddress of kallsyms of the current boot. But the module functions need to\nbe calculated by where the modules are loaded. This can be found by the\n/proc/modules file.\n\nAdd tep_load_modules() to read the /proc/modules file and this will be\nused to calculate the offsets from a buffer from a previous boot and from\nthe module functions in kallsyms of the current boot.\n\nLink: https://lore.kernel.org/20260203231507.2117658-3-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "31fc91bf7f568bc01affa0729c52a6b53dd46462",
      "tree": "93edf6d130a4bc19892c25885ee842df39a9310b",
      "parents": [
        "5e4ef1f89e22c3adf8697799bafc1f06c777c066"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 03 18:12:25 2026 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 04 09:14:45 2026 -0500"
      },
      "message": "libtraceevent: Add tep_parse_last_boot_info()\n\nAdd tep_parse_last_boot_info() API to load the tep handler with a persistent\nring buffer\u0027s last_boot_info file. This is used to map the new boot\u0027s\nkallsyms with the boot from the persistent ring buffer kallsyms.\n\nNote, currently only kernel addresses are supported. Module offsets will\ncome later.\n\nLink: https://lore.kernel.org/20260203231507.2117658-2-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5e4ef1f89e22c3adf8697799bafc1f06c777c066",
      "tree": "e2277784c5b2e752048f9a0803bd6bfaba7d6000",
      "parents": [
        "aa49dceba4363d6a38ca17aedbb662d54e1c1f1c"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 03 17:27:27 2026 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 04 09:14:18 2026 -0500"
      },
      "message": "libtraceevent: Add tep_btf_list_args()\n\nAdd tep_btf_list_args() to display a function\u0027s prototype:\n\n struct trace_seq s;\n\n trace_seq_init(\u0026s);\n tep_btf_list_args(tep, \u0026s, \"proc_scheduler\");\n trace_seq_do_printf(\u0026s);\n\nproduces:\n\n    const struct ctl_table *ctl, int write, void *buffer, size_t *lenp, loff_t *ppos\n\nWhere the prototype of proc_scheduler() is:\n\n static int proc_scheduler(const struct ctl_table *ctl, int write,\n\t\t\t  void *buffer, size_t *lenp, loff_t *ppos)\n\nLink: https://lore.kernel.org/20260203222853.2110187-3-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "aa49dceba4363d6a38ca17aedbb662d54e1c1f1c",
      "tree": "e129e83145191a717bda65995d378a31b91b5ac0",
      "parents": [
        "239b063c82cf90916984a5928cec5ae631dae659"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Feb 03 17:27:26 2026 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Feb 04 09:14:18 2026 -0500"
      },
      "message": "libtraceevent: Split out btf func init code from tep_btf_print_args()\n\nIn order to use BTF for various other attributes of functions, move out the\nbtf function initialization from the tp_btf_print_args() and into its own\nfunction.\n\nLink: https://lore.kernel.org/20260203222853.2110187-2-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "239b063c82cf90916984a5928cec5ae631dae659",
      "tree": "ff5f37b3b7af4957e73fbcce769a16798131a847",
      "parents": [
        "c284dec6c6386d5f9e4ef584df43082fbf8844e2"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 30 10:30:00 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 30 11:05:19 2025 -0500"
      },
      "message": "libtraceevent: Do not change names of functions not of this library\n\nThe hidden attribute is used for functions within the library that are\nnot to be exported. They do not have name space naming which is not a\nproblem for the shared library, because the hidden attribute hides them\nfrom being linked.\n\nBut these functions are not protected by the hidden attribute for the\nstatic library. The build was modified to run \u0027nm\u0027 on the shared library\nand any hidden function found that does not start with \u0027tep_\u0027 would have\nits name changed to \u0027tep_local_\u003cname\u003e\u0027.\n\nA problem occurred where on x86_32 systems, gcc adds other functions like:\n\n  __stack_chk_fail_local\n  __udivdi3\n  __umoddi\n\nand these too were converted. But by doing so, it caused the \"make test\"\nbuild to fail (make test uses the static library):\n\n  /usr/bin/ld: lib/libtraceevent.a(event-parse.o): in function `consolidate_op_arg\u0027:\n  src/event-parse.c:2302: undefined reference to `_tep_local___udivdi3\u0027\n  /usr/bin/ld: src/event-parse.c:2305: undefined reference to `_tep_local___umoddi3\u0027\n  /usr/bin/ld: lib/libtraceevent.a(event-parse.o): in function `eval_num_arg\u0027:\n  src/event-parse.c:4561: undefined reference to `_tep_local___udivdi3\u0027\n  /usr/bin/ld: src/event-parse.c:4564: undefined reference to `_tep_local___umoddi3\u0027\n  /usr/bin/ld: lib/libtraceevent.a(event-parse.o): in function `print_event_time\u0027:\n  src/event-parse.c:7168: undefined reference to `_tep_local___udivdi3\u0027\n  /usr/bin/ld: src/event-parse.c:7175: undefined reference to `_tep_local___umoddi3\u0027\n  /usr/bin/ld: src/event-parse.c:7175: undefined reference to `_tep_local___udivdi3\u0027\n  collect2: error: ld returned 1 exit status\n  make[1]: *** [Makefile:22: utest/trace-utest] Error 1\n  make: *** [Makefile:258: test] Error 2\n\nRead the \u0027nm\u0027 symbols of the temporary static library and record only the\nfunctions that have an address. As the above gcc functions are still\nundefined there. Then this will only convert functions that are defined by\nthe static library and not added by the compiler.\n\nAlso add the missing .gitignore file to hide these temp files.\n\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nCc: Metin Kaya \u003cmetin.kaya@arm.com\u003e\nLink: https://lore.kernel.org/20251230103000.30be6e94@gandalf.local.home\nReported-by: Vitaly Chikunov \u003cvt@altlinux.org\u003e\nCloses: https://lore.kernel.org/all/d3ozbooqkmvjf4rnyklwvdvc7h@altlinux.org/\nFixes: 399f8462ff1b1 (\"libtraceevent: Have static library to hide hidden functions\")\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c284dec6c6386d5f9e4ef584df43082fbf8844e2",
      "tree": "d816e03c68096417f78293abb62791dfff759c0e",
      "parents": [
        "1ba126286319688bdc386ebeca90ff77eab850f5"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 29 20:02:23 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 30 11:04:37 2025 -0500"
      },
      "message": "libtraceevent: Handle __get_stacktrace()\n\nA synthetic event can add a stacktrace as one of its fields. The print fmt\nof getting to the stacktrace field is the __get_stacktrace() function\nhelper. Add support for parsing the __get_stacktrace() so that it properly\ndisplays the stacktrace of synthetic events.\n\nLink: https://lore.kernel.org/all/aVG2VoBpFoEEE1gG@krava/\n\nCc: Jiri Olsa \u003cjolsa@kernel.org\u003e\nLink: https://lore.kernel.org/20251229200223.04c8d2bc@gandalf.local.home\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1ba126286319688bdc386ebeca90ff77eab850f5",
      "tree": "b991ac9c997f2e0a3d27e961f8a6cd6cc00e18b6",
      "parents": [
        "263459e119547ecda044bc5ccfd32eb8b48a67a6"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 03 20:45:18 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 03 20:47:58 2025 -0500"
      },
      "message": "libtraceevent: Move back to 1.8.99\n\nUsing non-numeric characters as the extra version causes issues with\npkg-config, not to mention meson doesn\u0027t work with it. Change the version\nfrom 1.9.dev to 1.8.99 as a way to state this isn\u0027t really 1.8 (there\u0027s\nalso to tag for this), and that this is a development version.\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "263459e119547ecda044bc5ccfd32eb8b48a67a6",
      "tree": "eca337b8f2544ed21eff12c1eee3714d04a1321f",
      "parents": [
        "0294b73f17e978c50fbd3e607713881a2ed1c317"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:09:25 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:45:01 2025 -0500"
      },
      "message": "libtraceevent: Use BTF_INT_BITS/OFFSET() when parsing int parameters\n\nThe BTF_KIND_INT can be less than 64 bits in size and the\nBTF_INT_BITS(encode) will express that.\n\nAlso process BTF_INT_OFFSET() even though it is likely to be zero every\ntime, but it follows the specification.\n\nLink: https://lore.kernel.org/all/82376535-30a5-4602-aac7-1bd3abcd271a@arm.com/\n\nLink: https://lore.kernel.org/20251114140925.3df4f3ff@gandalf.local.home\nSuggested-by: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0294b73f17e978c50fbd3e607713881a2ed1c317",
      "tree": "3f41f2f78487e2dd50d8dab54a9766a4df74f1e4",
      "parents": [
        "38e03acf135e548fe9726c9e996770e337f1485a"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 16:42:38 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:44:53 2025 -0500"
      },
      "message": "libtraceevent utest: Add simple test to test BTF parsing\n\nAdd a test that reads the kernel BTF and does a simple test.\n\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Takaya Saeki \u003ctakayas@google.com\u003e\nCc: Ian Rogers \u003cirogers@google.com\u003e\nLink: https://lore.kernel.org/20251112214929.290686-5-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "38e03acf135e548fe9726c9e996770e337f1485a",
      "tree": "88bf2ff61b0ef01ccddc547afa434c69dc243d7f",
      "parents": [
        "b441fffe25ebd246e96f8fcd350bcda40bcd5281"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 16:42:37 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:44:41 2025 -0500"
      },
      "message": "libtraceevent: Have BTF find functions with extra characters\n\nSometimes the symbol of a function has extra characters followed by a \u0027.\u0027.\nIn this case, the BTF lookup may not find the function. If the function is\nnot found and the function name contains a \u0027.\u0027, try stripping off the\nextra characters and try again. That way, instead of:\n\n  __mutex_unlock_slowpath.isra.0(ffffffffb5cd4e40, 8, 1, 1, ffffffffb43e0fe4, ffffed1024699f88)\n\nIt can produce:\n\n  __mutex_unlock_slowpath.isra.0(lock\u003d0xffffffffb5cd4e40, ip\u003d0x8)\n\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Takaya Saeki \u003ctakayas@google.com\u003e\nCc: Ian Rogers \u003cirogers@google.com\u003e\nLink: https://lore.kernel.org/20251112214929.290686-4-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b441fffe25ebd246e96f8fcd350bcda40bcd5281",
      "tree": "77c872064efdf841021e303a3b2c95eaec7e7aff",
      "parents": [
        "87f30d98e3cd44b099ec0a0aff3637185fe03331"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 16:42:36 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:43:56 2025 -0500"
      },
      "message": "libtraceevent: Add man page for the new BTF functions\n\nAdd a man page for tep_load_btf() and tep_btf_print_args()\n\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Takaya Saeki \u003ctakayas@google.com\u003e\nCc: Ian Rogers \u003cirogers@google.com\u003e\nLink: https://lore.kernel.org/20251112214929.290686-3-rostedt@goodmis.org\n[ Removed Tzvetomir from being author ]\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "87f30d98e3cd44b099ec0a0aff3637185fe03331",
      "tree": "a75b3d68afccb9794810c0bff7f52be841391b8b",
      "parents": [
        "3488dc983943204ef744b2e36b3dd9a7f7768843"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 16:42:35 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:35:44 2025 -0500"
      },
      "message": "libtraceevent: Add loading of BTF to the tep handle\n\nAdd loading of the BTF file /sys/kernel/btf/vmlinux into the tep_handler and\nthen use it to format the function tracer if it has arguments:\n\n    cat-33501 [005] ..... 136155.767950: function:             __x64_sys_execve(regs\u003d0xffffc9000e3eff58)\n    cat-33501 [005] ..... 136155.767951: function:                getname_flags(filename\u003d0x7ffe7d33f3d0, flags\u003d0)\n    cat-33501 [005] ..... 136155.767951: function:                getname_flags.part.0(7ffe7d33f3d0, 0, 0, 0, 0, 0)\n    cat-33501 [005] ..... 136155.767951: function:                   kmem_cache_alloc_noprof(s\u003d0xffff8881001d3800, gfpflags\u003d0xcc0)\n    cat-33501 [005] ..... 136155.767951: function:                      fs_reclaim_acquire(gfp_mask\u003d0xcc0)\n    cat-33501 [005] ..... 136155.767952: function:                      fs_reclaim_release(gfp_mask\u003d0xcc0)\n    cat-33501 [005] ..... 136155.767953: function:                      kmemleak_alloc(ptr\u003d0xffff8881114a0000, size\u003d0x1000, min_count\u003d1, gfp\u003d0xcc0)\n    cat-33501 [005] ..... 136155.767953: function:                      __create_object(ptr\u003d0xffff8881114a0000, size\u003d0x1000, min_count\u003d1, gfp\u003d0xcc0, objflags\u003d0x0)\n    cat-33501 [005] ..... 136155.767954: function:                         __alloc_object(gfp\u003d0xcc0)\n    cat-33501 [005] ..... 136155.767954: function:                            kmem_cache_alloc_noprof(s\u003d0xffff888100045700, gfpflags\u003d0x92cc0)\n    cat-33501 [005] ..... 136155.767954: function:                      fs_reclaim_acquire(gfp_mask\u003d0x92cc0)\n    cat-33501 [005] ..... 136155.767955: function:                      fs_reclaim_release(gfp_mask\u003d0x92cc0)\n\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nCc: Masami Hiramatsu \u003cmhiramat@kernel.org\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Takaya Saeki \u003ctakayas@google.com\u003e\nCc: Ian Rogers \u003cirogers@google.com\u003e\nLink: https://lore.kernel.org/20251112214929.290686-2-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3488dc983943204ef744b2e36b3dd9a7f7768843",
      "tree": "fbe1a5d17f9dff23a4bb117d80c0a26e1c36ebf0",
      "parents": [
        "98c217427183f66f09f4a27300ad87d71814c38f"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 11 12:58:36 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:35:43 2025 -0500"
      },
      "message": "libtraceevent: Move to 1.9 devel\n\nAdding infrastructure to use BTF is rationale enough to up the minor\nversion number.\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "98c217427183f66f09f4a27300ad87d71814c38f",
      "tree": "cd0acf37a72e2fe32558c829ebabe2542fac3f64",
      "parents": [
        "08b94c774f7dbcf9d1f3a5d2ffa73d10f6d8579d"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:35:19 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:35:19 2025 -0500"
      },
      "message": "libtraceevent: 1.8.6\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "08b94c774f7dbcf9d1f3a5d2ffa73d10f6d8579d",
      "tree": "acf4e36b25e7eb2a2c9d45f2cf3345e1af853f74",
      "parents": [
        "bea29b16e9b0d4eee671ab97ae7d2bdbdb7f8491"
      ],
      "author": {
        "name": "Michal Sojka",
        "email": "michal.sojka@cvut.cz",
        "time": "Fri Nov 14 12:10:25 2025 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Nov 14 14:34:27 2025 -0500"
      },
      "message": "meson.build: Build plugin_net.c\n\nplugin_net was added to Makefile but not to meson.build. Fix it!\n\nCc: Petr Malat \u003coss@malat.biz\u003e\nLink: https://lore.kernel.org/20251114111025.21303-1-michal.sojka@cvut.cz\nSigned-off-by: Michal Sojka \u003cmichal.sojka@cvut.cz\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bea29b16e9b0d4eee671ab97ae7d2bdbdb7f8491",
      "tree": "8289cfbe508ac880221a1f6eff721c82f4749cb9",
      "parents": [
        "e4a233967404d39548227e6b531360ee0d072661"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 11 12:56:35 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 12:05:34 2025 -0500"
      },
      "message": "libtraceevent: 1.8.5\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e4a233967404d39548227e6b531360ee0d072661",
      "tree": "02111fab9c1ae448c349eebce13b300420782d20",
      "parents": [
        "399f8462ff1b1e5513a723e0ba055e3c57038e99"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 09:45:07 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 12:05:34 2025 -0500"
      },
      "message": "libtraceevent: Have meson build rename hidden global functions\n\nThe meson build needs to perform the same operation as the normal make\nbuild with respect to global hidden functions within the static library.\n\nMove the redefine_local function to utils.mk and have it take a parameter\nfor what shared library it will read to find the global functions with.\nThen separate out a target in Makefile.meson for the static library to use\nthis helper function to rename the non \"tep_*\" global functions to have a\n\"_tep_local_*\" prefix.\n\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nTested-by: Metin Kaya \u003cmetin.kaya@arm.com\u003e\nReviewed-by: Metin Kaya \u003cmetin.kaya@arm.com\u003e\nLink: https://lore.kernel.org/20251112144912.268258-3-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "399f8462ff1b1e5513a723e0ba055e3c57038e99",
      "tree": "2cef9715d00ac5104cc78e39c513092a8285b8c9",
      "parents": [
        "bd74288a68cb3591acadb5bd8cd69cc4cb837651"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 09:45:06 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 12:05:34 2025 -0500"
      },
      "message": "libtraceevent: Have static library to hide hidden functions\n\nWhen the static library uses the objects directly to be created, it makes\nall the hidden functions visible to applications that link to it.\n\nCheck all the functions that are global and if they do not start with\n\"tep_\" rename the symbol to start with \"_tep_local_\". This keeps the\nsource code clean and still adds the namespace for the hidden functions\nwithin the objects.\n\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nTested-by: Metin Kaya \u003cmetin.kaya@arm.com\u003e\nReviewed-by: Metin Kaya \u003cmetin.kaya@arm.com\u003e\nLink: https://lore.kernel.org/20251112144912.268258-2-rostedt@goodmis.org\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bd74288a68cb3591acadb5bd8cd69cc4cb837651",
      "tree": "a7a383f2df306c66b3771c3a4bfb8e7809483ebe",
      "parents": [
        "b3f5849527ae226b88342ef80fc42c66ab206f99"
      ],
      "author": {
        "name": "Bastien Curutchet",
        "email": "bastien.curutchet@bootlin.com",
        "time": "Tue Nov 04 09:45:00 2025 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Nov 12 12:05:34 2025 -0500"
      },
      "message": "kbuffer: Fix endianness flags for big-endian host\n\nWhen KBUFFER_ENDIAN_SAME_AS_HOST is set on a big-endian host, the\nKBUFFER_FL_BIG_ENDIAN flag is added to the local flags variable instead\nof the kbuf-\u003eflags. Since the local flags variable has already been\ncopied to kbuf-\u003eflags at that time, the KBUFFER_FL_BIG_ENDIAN flag is\nlost when we leave the function.\n\nAdd KBUFFER_FL_BIG_ENDIAN to the kbuf-\u003eflags when\nKBUFFER_ENDIAN_SAME_AS_HOST is used on a big-endian host.\n\nCc: Thomas Petazzoni \u003cthomas.petazzoni@bootlin.com\u003e\nLink: https://lore.kernel.org/20251104-fix-parse-v1-1-5af9b8965886@bootlin.com\nSigned-off-by: Bastien Curutchet \u003cbastien.curutchet@bootlin.com\u003e\nFixes: 5f2aa8497c5b (\"libtraceevent kbuffer: Add SAME_AS_HOST for endian and size\")\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b3f5849527ae226b88342ef80fc42c66ab206f99",
      "tree": "64fdb6bbd930f9d4173798df8b5a50ac0c383fd0",
      "parents": [
        "800c1a257df254108ef277245dfde3162c4e5b4c"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 30 17:22:37 2025 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 30 17:26:50 2025 -0400"
      },
      "message": "libtraceevent: Save missed events in kbuffer_read_buffer()\n\nWhen reading events from a kbuffer, if the kbuf has missed events make sure\nto pass that information to the buffer passed to it.\n\nLink: https://lore.kernel.org/20250530172237.022d21d0@gandalf.local.home\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "800c1a257df254108ef277245dfde3162c4e5b4c",
      "tree": "b8c778e8107dd596a5a5dfe5b06277f9e74c0a68",
      "parents": [
        "262c9def266db88f944fd2d50906d40a351ad7c7"
      ],
      "author": {
        "name": "Petr Malat",
        "email": "oss@malat.biz",
        "time": "Thu Apr 17 16:41:27 2025 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 30 16:58:13 2025 -0400"
      },
      "message": "libtraceevent plugins: Add plugin_net to handle byte swap during print\n\nTraced data my be stored in the network order and transformed to the\nhost order at print time by ntohs() or similar functions. These\nfunctions end up being implemented by one of __builtin_bswapXX()\nor by a combination of __builtin_constant_p() and __fswapXX().\nSupport them in the print format string.\n\nThe __builtin_constant_p() is used in conditionals, which have an\noptimized version for constant argument like this:\n  __builtin_constant_p(X) ? constant_expression(X) : func(X)\nAlways assume __builtin_constant_p() is false, as the false branch\nshould be generic and work even with constant.\n\nLink: https://lore.kernel.org/20250417144126.702609-1-oss@malat.biz\nSigned-off-by: Petr Malat \u003coss@malat.biz\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "262c9def266db88f944fd2d50906d40a351ad7c7",
      "tree": "a131357d55afeba823cd2c0420003d218f4ed984",
      "parents": [
        "c1db0c69f6d485cd146e295fc00b894266091cc9"
      ],
      "author": {
        "name": "Haiyue Wang",
        "email": "haiyuewa@163.com",
        "time": "Tue May 13 18:23:08 2025 +0800"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 30 16:48:04 2025 -0400"
      },
      "message": "libtraceevent: Fix the /dev/null redirection compatibility in Makefile\n\nThe commit c2ea03541453 (\"libtraceevent: Add trace.conf for ld.so if needed\")\nruns with below output message, and the built \u0027test\u0027 will not be removed as\nexpected.\n\n  INSTALL     /root/linux/libtraceevent/lib/libtraceevent.so.1.8.4      to      /usr/local/lib64\n  INSTALL      trace.conf       to       /etc/ld.so.conf.d/\n/bin/sh: 1: /root/linux/libtraceevent/test: not found\n  DESCEND            plugins\n\nUse more compatible syntax to handle shell null redirection.\n\nLink: https://lore.kernel.org/20250513102427.36330-1-haiyuewa@163.com\nSigned-off-by: Haiyue Wang \u003chaiyuewa@163.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c1db0c69f6d485cd146e295fc00b894266091cc9",
      "tree": "a34cf319e518ae06677fac2d666687276c457a22",
      "parents": [
        "3f96551987272a605341b669f136bafa5e2e316c"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 14 15:35:26 2025 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 30 15:43:32 2025 -0400"
      },
      "message": "libtraceevent: Add support for nested ?: conditionals\n\nIt was reported that nested ?: conditionals were broken in libtraceevent.\nSpecifically, the following did not parse correctly:\n\n\tREC-\u003eseverity \u003d\u003d AER_CORRECTABLE ? \"Corrected\" :\n\t\tREC-\u003eseverity \u003d\u003d AER_FATAL ?\n\t\t\"Fatal\" : \"Uncorrected, non-fatal\",\n\nThat was due to the second half of the \u0027:\u0027 operator was not being evaluated.\n\nLink: https://lore.kernel.org/all/20250414153835.947207-1-sargun@sargun.me/\n\nLink: https://lore.kernel.org/20250414153526.25bb71db@gandalf.local.home\nReported-by: Borislav Petkov \u003cbp@alien8.de\u003e\nReported-by: Sargun Dhillon \u003csargun@sargun.me\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3f96551987272a605341b669f136bafa5e2e316c",
      "tree": "365a2b32a6fe322c3d7fa18b97e0c6adf492cf94",
      "parents": [
        "e798103c0815e6642e74d9317c325b2c62681f2e"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 14 15:30:17 2025 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 30 15:43:02 2025 -0400"
      },
      "message": "libtraceevent: Add support for __print_dynamic_array() macro\n\nThe Linux version v6.13 added a __print_dynamic_array() helper macro that is\nbasically:\n\n #define __print_dynamic_array(array, el_size)                          \\\n        ({                                                              \\\n                __print_array(__get_dynamic_array(array),               \\\n                              __get_dynamic_array_len(array) / (el_size), \\\n                              (el_size));                               \\\n        })\n\nAdd support for it.\n\nLink: https://lore.kernel.org/20250414153017.2d956a04@gandalf.local.home\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e798103c0815e6642e74d9317c325b2c62681f2e",
      "tree": "cf658428297298f23aeffb0e738e68d8273f623a",
      "parents": [
        "68635b8716e634ab85a44b8cb241cb5ec6b3d079"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 04 15:30:32 2025 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Apr 11 16:41:36 2025 -0400"
      },
      "message": "libtraceevent: If function has arguments print them\n\nStarting with v6.15, function tracer can hold arguments. If the event has them,\nthen print them.\n\nLink: https://lore.kernel.org/20250404153032.2ec27f47@gandalf.local.home\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "68635b8716e634ab85a44b8cb241cb5ec6b3d079",
      "tree": "33a466e2fb0499e8001d980135bdf308e1bf4ae6",
      "parents": [
        "a1648f49584d1d0f0b5810ad7ef03518889ae041"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 02 12:23:03 2025 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 02 12:40:59 2025 -0400"
      },
      "message": "libtraceevent: Add NEED_RESCHED_LAZY flag\n\nStarting with v6.13 the IRQS_NOSUPPORT latency flag was replaced by the\nNEED_RSCHED_LAZY flag. Update the library to do the same.\n\nLink: https://lore.kernel.org/linux-trace-devel/20250402122303.70ba14fa@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a1648f49584d1d0f0b5810ad7ef03518889ae041",
      "tree": "b72df560cd751b339679315b3c82152916c96edb",
      "parents": [
        "030cc9b55ca0d345809adfe56d77cac396c1c2b8"
      ],
      "author": {
        "name": "Ruben Devos",
        "email": "devosruben6@gmail.com",
        "time": "Thu Feb 27 21:26:18 2025 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 02 12:39:53 2025 -0400"
      },
      "message": "libtraceevent: Add support for \\t char in print fmt\n\nEvents can have \\t characters in their print format strings. An example\nis the smb3_cmd_done event from the cifs module. It has print format\nstring:\n\t \"\\tsid\u003d0x%llx tid\u003d0x%x cmd\u003d%u mid\u003d%llu\", ...\n\nAdd \\t as an accepted character in the while loop that parses the format\nstring. This prevents the \"[FAILED TO PARSE]\" message and imporperly\nparsed output in `trace-cmd report`.\n\nLink: https://lore.kernel.org/linux-trace-devel/20250227202618.54073-1-devosruben6@gmail.com\n\nLink: https://bugzilla.kernel.org/show_bug.cgi?id\u003d219688\nSigned-off-by: Ruben Devos \u003cdevosruben6@gmail.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "030cc9b55ca0d345809adfe56d77cac396c1c2b8",
      "tree": "1ff2c46f2b8d6b7db40c29add3632f08897d6a55",
      "parents": [
        "2f7cfddd8068de199cbc24d8411bbc0c1f97ed2f"
      ],
      "author": {
        "name": "Tzvetomir Stoyanov (VMware)",
        "email": "tz.stoyanov@gmail.com",
        "time": "Wed Feb 26 18:31:57 2020 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Apr 02 12:36:50 2025 -0400"
      },
      "message": "libtraceevent: Add new flag to suppress parsing warnings\n\nWhen the event\u0027s format strings are parsed by tep_parse_format()\nAPI and there is a parsing error, a warning is printed. There are\nuse cases when these errors are not important and should be suppressed.\nA new flag is added to\n enum tep_flag {\n   ...\n   TEP_NO_PARSING_WARNINGS\n   ...\n }\nfor such use cases. It can be set / cleared / checked using\nthe existing libtraceevent APIs:\n void tep_set_flag(struct tep_handle *tep, int flag);\n void tep_clear_flag(struct tep_handle *tep, enum tep_flag flag);\n bool tep_test_flag(struct tep_handle *tep, enum tep_flag flag);\n\nLink: https://lore.kernel.org/linux-trace-devel/20200226163159.20232-4-tz.stoyanov@gmail.com\n\nSigned-off-by: Tzvetomir Stoyanov (VMware) \u003ctz.stoyanov@gmail.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2f7cfddd8068de199cbc24d8411bbc0c1f97ed2f",
      "tree": "65e08336181121d6af43613e3b4d7fda4ae90176",
      "parents": [
        "8edaaac8bc8e0e19e16ac705ad203779b5f0e9af"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jan 09 10:23:38 2025 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 22 21:24:13 2025 -0500"
      },
      "message": "libtraceevent: Return error on event parsing if format parsing fails\n\nThe event parsing should not fail if the \"print fmt\" portion fails, as\nthat is just a hint by the kernel on how to display the event. But that\nportion can contain kernel internal information that is not available to\nuser space and there\u0027s no way the library can parse it properly. When that\nfails, the event printing falls back to simply showing the content of all\nthe fields.\n\nBut if the fields themselves fail to parse, then there\u0027s no way to parse\nthe event properly. This should end up as a failure of parsing the event.\n\nLink: https://lore.kernel.org/all/20250102174317.1594-1-shiju.jose@huawei.com/\n\nFixes: 6582b0aea1cc (\"tools/events: Add files to create libtraceevent.a\")\nLink: https://lore.kernel.org/20250109102338.6128644d@gandalf.local.home\nReported-by: Shiju Jose \u003cshiju.jose@huawei.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8edaaac8bc8e0e19e16ac705ad203779b5f0e9af",
      "tree": "a73b40f0605e9133e6b0e4534fe19dd0f6e45a7b",
      "parents": [
        "f558a2d5fb486a5fd4055689468b1702af1689db"
      ],
      "author": {
        "name": "Pragyansh Chaturvedi",
        "email": "pragyansh.chaturvedi@canonical.com",
        "time": "Fri Dec 06 11:17:38 2024 +0530"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Dec 06 14:46:10 2024 -0500"
      },
      "message": "libtraceevent: Fix file endianness for big endian hosts\n\nThis patch initialises the file endianness to the same value as host endianness.\nWithout this, the file endianness is set to little endian by default, which\nresults in segfaults of libtracefs testsuite on big endian architectures\n(libtracefs uses libtracevent, and my investigating led to this patch).\nWe can make a default assumption that the host and FS endianness is same.\nIf it is different, the user must set the correct endianness using the\nevent-parse-api (tep_set_file_bigendian)\n\nAfter applying my fix, the run summary of utest/trace-utest of libtracefs:\n\nRun Summary: Type Total Ran Passed Failed Inactive\n              suites 1 1 n/a 0 0\n               tests 36 36 35 1 0\n             asserts 16407066 16407066 16407064 2 n/a\n\nElapsed time \u003d 22.623 seconds\n\nLink: https://lore.kernel.org/20241206054739.1431381-1-pragyansh.chaturvedi@canonical.com\nSigned-off-by: Pragyansh Chaturvedi \u003cpragyansh.chaturvedi@canonical.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f558a2d5fb486a5fd4055689468b1702af1689db",
      "tree": "0372cfc0a13846b6bbf06e2c7eb246574fd5bff8",
      "parents": [
        "45a9b0647c904b7bf1240da5a11fe3a1ffd1006d"
      ],
      "author": {
        "name": "Tzvetomir Stoyanov (VMware)",
        "email": "tz.stoyanov@gmail.com",
        "time": "Wed Jan 22 16:59:57 2020 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 19 20:13:12 2024 -0500"
      },
      "message": "libtraceevent: Remove TEP_PLUGIN_OPTIONS\n\nWhen loading a plugin, the current API searches for TEP_PLUGIN_OPTIONS\narray in plugin\u0027s symbols and loads any options from it. This API\nduplicates:\n\n tep_plugin_add_options()\n\nIn order to simplify the APIs, The duplicated TEP_PLUGIN_OPTIONS is\nremoved as an API, as it is not used by any existing plugin.  The\ntep_plugin_add_options() API is the only way to register plugin options.\n\nLink: https://lore.kernel.org/20200122150002.763233-3-tz.stoyanov@gmail.com\nSigned-off-by: Tzvetomir Stoyanov (VMware) \u003ctz.stoyanov@gmail.com\u003e\n[ Also remove TEP_PLUGIN_ALIAS ]\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "45a9b0647c904b7bf1240da5a11fe3a1ffd1006d",
      "tree": "4bd4725255a8ab7fa9faa8e2b8f4f1d966f313a9",
      "parents": [
        "08eb2e1ca2c1ab3ab949c8ea363b96794ac8971b"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 19 15:18:09 2024 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 19 20:12:35 2024 -0500"
      },
      "message": "libtraceevent: Handle case of unknown operator\n\nThe m68k architecture had a trace event with \"m68k_memory[0].addr \u003e\u003e 13\"\nin it. The parsing after the \u0027]\u0027 and before the \u0027.\u0027 checked the priority\nof the \u0027.\u0027 but because it does not handle \u0027.\u0027 as an operator it returned a\nnegative number. But process_op() did not check for an error and continued\nprocessing. This caused a segfault.\n\nReturn immediately if the operator is not handled by get_op_prio().\n\nLink: https://lore.kernel.org/all/20241119112850.219834f5@gandalf.local.home/\n\nLink: https://lore.kernel.org/20241119151809.4da5f874@gandalf.local.home\nFixes: 6582b0aea1cc (\"tools/events: Add files to create libtraceevent.a\")\nReported-by: Jean-Michel Hautbois \u003cjeanmichel.hautbois@yoseli.org\u003e\nTested-by: Jean-Michel Hautbois \u003cjeanmichel.hautbois@yoseli.org\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "08eb2e1ca2c1ab3ab949c8ea363b96794ac8971b",
      "tree": "8ee1ea101ab46b6b7d710ce4d5bb42719f9f766f",
      "parents": [
        "ecbf580c3a6acb577248ee637bed38f5dc259173"
      ],
      "author": {
        "name": "Sudip Mukherjee",
        "email": "sudipm.mukherjee@gmail.com",
        "time": "Thu Nov 07 20:28:49 2024 +0000"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 19 15:28:12 2024 -0500"
      },
      "message": "libtraceevent: allow unsetting LIBTRACEEVENT_STATIC\n\nWe also use the unit tests as a final test of the built shared library.\nWith this change, we can do:\nLIBTRACEEVENT_STATIC\u003d LIBS\u003d-ltraceevent make test \u0026\u0026 ./utest/trace-utest\nand that will build and execute the unit tests with libtraceevent.so instead\nof the static library.\n\nLink: https://lore.kernel.org/20241107202849.340335-1-sudipm.mukherjee@gmail.com\nSigned-off-by: Sudip Mukherjee \u003csudipm.mukherjee@gmail.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ecbf580c3a6acb577248ee637bed38f5dc259173",
      "tree": "0b2b3729bf42258bfa76cfe675edf176d4e81c11",
      "parents": [
        "bd47bd544c9ebc9f44bd88c2b2f2049230741058"
      ],
      "author": {
        "name": "Metin Kaya",
        "email": "metin.kaya@arm.com",
        "time": "Tue Nov 19 15:31:48 2024 +0000"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Nov 19 15:28:12 2024 -0500"
      },
      "message": "libtraceevent: Rename private functions to prevent static build failures\n\nBuilding trace-cmd statically fails because of duplicated symbols for\nstrstrip() function which is implemented both in trace-cmd and\nlibtracefs. The __hidden attribute does not resolve these conflicts for\nstatic builds due to the lack of namespacing support in C. Refer to the\nassociated Bugzilla page for further details.\n\nAlthough strstrip() breakage is out of libtraceevent\u0027s scope for now,\nproactively take a preventive action to fix the underlying issue\ncomprehensively across the libtraceevent, libtracefs, and trace-cmd\npackages. Follow the recommendation and prepend \"tep_\" prefix to all\nprivate functions (tagged with __hidden attribute). The exceptions of\nthis renaming scheme are free_tep_format_field, free_tep_event and\nfree_tep_plugin_paths functions which are renamed to\ntep_free_format_field, tep_free_event and tep_free_plugin_paths\nrespectively.\n\nFuture __hidden functions should follow this prefixing schemed to avoid\nnew naming conflicts.\n\nLink: https://lore.kernel.org/linux-trace-devel/20241030204731.69d656d8@rorschach.local.home\n\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d217768\nCc: Douglas Raillard \u003cdouglas.raillard@arm.com\u003e\nLink: https://lore.kernel.org/20241119153148.1668004-1-metin.kaya@arm.com\nSigned-off-by: Metin Kaya \u003cmetin.kaya@arm.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "bd47bd544c9ebc9f44bd88c2b2f2049230741058",
      "tree": "0ec61e0cb4acd76a2fc3899f63b97006f620839a",
      "parents": [
        "fe0bc497829bf7b3537b0e720e9cfa7ef91e5732"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 11 17:26:45 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 11 17:26:45 2024 -0400"
      },
      "message": "libtraceevent: 1.8.4\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "fe0bc497829bf7b3537b0e720e9cfa7ef91e5732",
      "tree": "221db8759ee0167ce3db8a22f39f51516a22a043",
      "parents": [
        "f2224d5b26a1fafd033506052c1f368e59563e85"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Aug 22 17:30:03 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 11 17:25:06 2024 -0400"
      },
      "message": "libtraceevent: Print function pointer address when TEP_EVENT_FL_PRINTRAW is specified\n\nWhen the TEP_EVENT_FL_PRINTRAW flag is specified in print_event_info(),\nprint function pointer addresses and not just the function pointer itself.\n\nThat is, instead of having just:\n\n    ip\u003dtrace_printk_irq_work\n\nPrint:\n\n    ip\u003dtrace_printk_irq_work (0xffffffffc06d0028)\n\nLink: https://lore.kernel.org/20240822173003.773f498e@gandalf.local.home\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f2224d5b26a1fafd033506052c1f368e59563e85",
      "tree": "11b145280e32a52f7693fa05411582e336926294",
      "parents": [
        "5f570de85c6b6a391c5e7ffea0b9a54fd8c4b043"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 11 15:48:01 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 11 17:24:18 2024 -0400"
      },
      "message": "libtraceevent: Have sizeof() parsing handle u8/s8 through u64/s64\n\nThe sizeof() may be used for common types like:\n\n __u8, __s8, u8, s8,\n __u16, __s16, u16, s16,\n __u32, __s32, u32, s32,\n __u64, __s64, u64, s64\n\nHandle them.\n\nLink: https://lore.kernel.org/20241011154801.6e237662@gandalf.local.home\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5f570de85c6b6a391c5e7ffea0b9a54fd8c4b043",
      "tree": "f9cd3a3ffe44e575b816baee8f58df638d4c557a",
      "parents": [
        "645a883516e343ee970ebb80398cfd7b7dbd227e"
      ],
      "author": {
        "name": "Sean Anderson",
        "email": "sean.anderson@linux.dev",
        "time": "Mon Aug 26 17:00:22 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Oct 11 17:17:03 2024 -0400"
      },
      "message": "libtraceevent: Print arrays like Linux does\n\nIn Linux, trace_print_array_seq prints array elements as hexadecimal\nnumbers, separates them with commas, and surrounds the whole thing with\ncurly braces. Modify print_str_arg to use the same formatting.\n\nLink: https://lore.kernel.org/20240826210022.2251838-1-sean.anderson@linux.dev\nSigned-off-by: Sean Anderson \u003csean.anderson@linux.dev\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "645a883516e343ee970ebb80398cfd7b7dbd227e",
      "tree": "d9567fd2c62a766b0a78904a10ebaf65c2bfc9fa",
      "parents": [
        "d4c1fb44fafdf063d02d73a81845c4ae14ec051e"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 24 13:19:18 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 24 13:28:57 2024 -0400"
      },
      "message": "libtraceevent: 1.8.3\n"
    },
    {
      "commit": "d4c1fb44fafdf063d02d73a81845c4ae14ec051e",
      "tree": "7ba757e0972fd0886cef9a51d65b1f4b402a8cb4",
      "parents": [
        "c3dc22001ef35ed0392558bdceb79571466410a9"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 24 13:26:32 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 24 13:28:47 2024 -0400"
      },
      "message": "libtraceevent: Add meson build targets to Makefile\n\nAdd make targets for building with meson:\n\n  make meson\n  make meson_install\n  make meson_docs\n\nLink: https://lore.kernel.org/linux-trace-devel/20240724132632.33d49bc2@gandalf.local.home\n\nCc: Daniel Wagner \u003cwagi@monom.org\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c3dc22001ef35ed0392558bdceb79571466410a9",
      "tree": "ac52603cf60df6977b255235159861b268e50926",
      "parents": [
        "021da909bcbf657ceccbc1bcfa34b3d5c029be80"
      ],
      "author": {
        "name": "Namhyung Kim",
        "email": "namhyung@gmail.com",
        "time": "Mon Jul 22 09:19:16 2024 -0700"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jul 22 18:52:13 2024 -0400"
      },
      "message": "libtraceevent: Fix a double free in process_op()\n\nWhen process_cond() failed, it freed the token but didn\u0027t reset the\narg-\u003eop.op to NULL.  So it tried to free the arg-\u003eop.op again from\nfree_arg() from the caller and resulted in a double free.\n\nAnd Steve found another location that needs an update.  Let\u0027s handle\nthe error in consolidate_op_arg() instead.\n\nLink: https://lore.kernel.org/linux-trace-devel/20240719163242.690f4c0e@gandalf.local.home/\nLink: https://lore.kernel.org/linux-trace-devel/20240722161917.991077-1-namhyung@google.com\n\nCc: Ian Rogers \u003cirogers@google.com\u003e\nFixes: 76a0eb8d5a20c (\"libtraceevent: Fix event-parse memory leak in process_cond\")\nSuggested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Namhyung Kim \u003cnamhyung@google.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "021da909bcbf657ceccbc1bcfa34b3d5c029be80",
      "tree": "c15fe865c56500bbdca3529d4badda6a9afa5118",
      "parents": [
        "340e2e673f8951f049e9250621e3a4d4e84f10dc"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 14 15:54:56 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 14 16:02:08 2024 -0400"
      },
      "message": "libtraceevent: Do not return a local stack pointer in get_field_str()\n\nJerome Marchand sent a patch with the description of:\n\n    The function get_field_str() can return a pointer to string on the\n    stack. Replace it by a global variable.\n\n    Fixes a RETURN_LOCAL error (CWE-562)\n\nBut made hex a global variable. Having a generic name \"hex\" as a global\nvariable in a library will cause a lot of issues. Just make it a static\nvariable, and then it can be used outside the function.\n\nLink: https://lore.kernel.org/linux-trace-devel/20240607160542.46152-5-jmarchan@redhat.com/\nLink: https://lore.kernel.org/linux-trace-devel/20240614155456.092944eb@rorschach.local.home\n\nFixes: dee43d8067350 (\"tools lib traceevent: Let filtering numbers by string use function names\")\nReported-by: \"Jerome Marchand\" \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "340e2e673f8951f049e9250621e3a4d4e84f10dc",
      "tree": "e93dcb44273e91ef32f6c26c52cdca35f7ce774f",
      "parents": [
        "c84155f7dfedeb0e0c0c00f5fae7bad67f494de7"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 14 15:34:21 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 14 15:59:46 2024 -0400"
      },
      "message": "libtraceevent: Have unit test fail when any tests fail\n\nIf any of the tests of the unit test fails, make sure it returns non-zero to\nallow tools that use this know that a test failed.\n\nLink: https://lore.kernel.org/linux-trace-devel/20240329135331.784707-1-paul.mars@canonical.com/\nLink: https://lore.kernel.org/linux-trace-devel/20240614153421.2c934dc1@rorschach.local.home\n\nReported-by: Paul Mars \u003cpaul.mars@canonical.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "c84155f7dfedeb0e0c0c00f5fae7bad67f494de7",
      "tree": "2391cd14a1b0c8b7dc66f715d19ae2e3db47dbfc",
      "parents": [
        "03551ebce2a745127a9b6cf3765381c05621b27a"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Jun 07 18:05:41 2024 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 14 15:58:08 2024 -0400"
      },
      "message": "libtraceevent: prevent a memory leak in tep_plugin_add_option()\n\nIf parse_option_name() fails, plugin, which now points to the previous\nvalue of option_str isn\u0027t freed. Go to out_free if that happens.\n\nFixes a RESOURCE_LEAK error (CWE-772)\n\nLink: https://lore.kernel.org/linux-trace-devel/20240607160542.46152-4-jmarchan@redhat.com\n\nFixes: 442ac241bef96 (\"libtraceevent: Handle strdup() error in parse_option_name()\")\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "03551ebce2a745127a9b6cf3765381c05621b27a",
      "tree": "91b71181e2ca4586fc99054e62a99263f742b985",
      "parents": [
        "34ece90e09559089da0bfec1a1a03396fd507178"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Jun 07 18:05:40 2024 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 14 15:58:08 2024 -0400"
      },
      "message": "libtraceevent: Prevent a memory leak in process_fields()\n\nOne of the error paths after the field was allocated goes to the wrong\nlabel.  Go to out_free_field if the allocation of arg fails.\n\nFixes a RESOURCE_LEAK error (CWE-772)\n\nLink: https://lore.kernel.org/linux-trace-devel/20240607160542.46152-3-jmarchan@redhat.com\n\nFixes: b17b75e511722 (\"tools lib traceevent: Handle alloc_arg failure\")\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "34ece90e09559089da0bfec1a1a03396fd507178",
      "tree": "f3d4b7e59ea2333a447783fa3e3555faa4b5d514",
      "parents": [
        "8802f0f8761a9bdaf8c15223ce05389b7397ffbb"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Jun 07 18:05:39 2024 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 14 15:57:56 2024 -0400"
      },
      "message": "libtraceevent: Close shared object in the error path of load_plugin()\n\nThe handle returned by dlopen() isn\u0027t close if an error occurs\nafterward. Call dlclose() in the error path.\n\nFixes a RESOURCE_LEAK error (CWE-772)\n\nLink: https://lore.kernel.org/linux-trace-devel/20240607160542.46152-2-jmarchan@redhat.com\n\nFixes: 7e95ebdbbc3a9 (\"tools lib traceevent: Add plugin support\")\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8802f0f8761a9bdaf8c15223ce05389b7397ffbb",
      "tree": "e25a5ffb4917e6745a0f4fcbf9ac6381f1b8ec10",
      "parents": [
        "76a0eb8d5a20c69120a5f8b4c12f4da0cdc15bb5"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Wed May 08 22:13:17 2024 -0700"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 17 15:11:18 2024 -0400"
      },
      "message": "libtraceevent: Avoid a simple asprintf case\n\nThe asprintf function can cause some noticeable overhead[1] and using\nit for allocating just two characters is a little expensive.\nAvoid the asprintf for the single character TEP_EVENT_NEWLINE and\nTEP_EVENT_DELIM case.\n\n[1] https://lore.kernel.org/lkml/20240509052015.1914670-1-irogers@google.com/\n\nLink: https://lore.kernel.org/linux-trace-devel/20240509051317.1913001-1-irogers@google.com\n\nSigned-off-by: Ian Rogers \u003cirogers@google.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "76a0eb8d5a20c69120a5f8b4c12f4da0cdc15bb5",
      "tree": "07be54b63fbc776e5166bacd56636f01672a5b11",
      "parents": [
        "5bc98bdb566c533ed4ac092783f82efd57bb14f3"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Apr 30 00:39:08 2024 -0700"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri May 17 15:11:18 2024 -0400"
      },
      "message": "libtraceevent: Fix event-parse memory leak in process_cond\n\nLeak sanitizer was reporting a stack trace with perf:\n```\n$ perf stat -e \u0027kvm:kvm_inj_exception\u0027 true\n\n Performance counter stats for \u0027true\u0027:\n\n                 0      kvm:kvm_inj_exception\n\n       0.001701473 seconds time elapsed\n\n       0.000000000 seconds user\n       0.001865000 seconds sys\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\u003d\u003d1705137\u003d\u003dERROR: LeakSanitizer: detected memory leaks\n\nDirect leak of 2 byte(s) in 1 object(s) allocated from:\n    #0 0x7f413ee80778 in __interceptor_strdup ../../../../src/libsanitizer/asan/asan_interceptors.cpp:454\n    #1 0x7f413ecb7b66 in __read_token libtraceevent/src/event-parse.c:1274\n    #2 0x7f413ecb85bb in read_token libtraceevent/src/event-parse.c:1432\n    #3 0x7f413ecbeaaa in process_entry libtraceevent/src/event-parse.c:2554\n    #4 0x7f413ecc54ae in process_arg_token libtraceevent/src/event-parse.c:3698\n    #5 0x7f413ecbb52e in process_arg libtraceevent/src/event-parse.c:2017\n    #6 0x7f413ecbd05a in process_op libtraceevent/src/event-parse.c:2357\n    #7 0x7f413ecc5a56 in process_arg_token libtraceevent/src/event-parse.c:3752\n    #8 0x7f413ecbb52e in process_arg libtraceevent/src/event-parse.c:2017\n    #9 0x7f413ecc5dd6 in event_read_print_args libtraceevent/src/event-parse.c:3791\n    #10 0x7f413ecc6511 in event_read_print libtraceevent/src/event-parse.c:3879\n    #11 0x7f413ecda16c in parse_format libtraceevent/src/event-parse.c:7808\n    #12 0x7f413ecda667 in __parse_event libtraceevent/src/event-parse.c:7866\n    #13 0x7f413ecda71b in tep_parse_format libtraceevent/src/event-parse.c:7908\n    #14 0x561672439029 in tp_format util/trace-event.c:94\n    #15 0x561672439141 in trace_event__tp_format util/trace-event.c:109\n    #16 0x56167230a429 in evsel__newtp_idx util/evsel.c:472\n    #17 0x561672329f99 in add_tracepoint util/parse-events.c:552\n    #18 0x56167232a5b4 in add_tracepoint_event util/parse-events.c:627\n    #19 0x56167232ebf2 in parse_events_add_tracepoint util/parse-events.c:1313\n    #20 0x561672411e0e in parse_events_parse util/parse-events.y:500\n    #21 0x561672332409 in parse_events__scanner util/parse-events.c:1878\n    #22 0x561672333cd4 in __parse_events util/parse-events.c:2146\n    #23 0x561672334e74 in parse_events_option util/parse-events.c:2349\n    #24 0x56167269ec23 in get_value tools/lib/subcmd/parse-options.c:251\n    #25 0x56167269fe65 in parse_short_opt tools/lib/subcmd/parse-options.c:351\n    #26 0x5616726a0e4d in parse_options_step tools/lib/subcmd/parse-options.c:539\n    #27 0x5616726a1d86 in parse_options_subcommand tools/lib/subcmd/parse-options.c:654\n    #28 0x5616720e6ad2 in cmd_stat tools/perf/builtin-stat.c:2531\n    #29 0x5616722b0f5d in run_builtin tools/perf/perf.c:350\n$ cat /sys/kernel/tracing/events/kvm/kvm_inj_exception/format\nname: kvm_inj_exception\nID: 1956\nformat:\n        field:unsigned short common_type;       offset:0;       size:2; signed:0;\n        field:unsigned char common_flags;       offset:2;       size:1; signed:0;\n        field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;\n        field:int common_pid;   offset:4;       size:4; signed:1;\n\n        field:u8 exception;     offset:8;       size:1; signed:0;\n        field:u8 has_error;     offset:9;       size:1; signed:0;\n        field:u32 error_code;   offset:12;      size:4; signed:0;\n        field:bool reinjected;  offset:16;      size:1; signed:0;\n\nprint fmt: \"%s%s%s%s%s\", __print_symbolic(REC-\u003eexception, { 0, \"#\" \"DE\" }, { 1, \"#\" \"DB\" }, { 3, \"#\" \"BP\" }, { 4, \"#\" \"OF\" }, { 5, \"#\" \"BR\" }, { 6, \"#\" \"UD\" }, { 7, \"#\" \"NM\" }, { 8, \"#\" \"DF\" }, { 10, \"#\" \"TS\" }, { 11, \"#\" \"NP\" }, { 12, \"#\" \"SS\" }, { 13, \"#\" \"GP\" }, { 14, \"#\" \"PF\" }, { 16, \"#\" \"MF\" }, { 17, \"#\" \"AC\" }, { 18, \"#\" \"MC\" }), !REC-\u003ehas_error ? \"\" : \" (\", !REC-\u003ehas_error ? \"\" : __print_symbolic(REC-\u003eerror_code, { }), !REC-\u003ehas_error ? \"\" : \")\", REC-\u003ereinjected ? \" [reinjected]\" : \"\"\n```\n\nThe issue appears to be that when process_cond returns an error,\ncallers clear the variable holding the string but the string was never\nfreed. This change adds the free when process_cond returns\nTEP_EVENT_ERROR.\n\nLink: https://lore.kernel.org/linux-trace-devel/20240430073908.1706482-1-irogers@google.com\n\nSigned-off-by: Ian Rogers \u003cirogers@google.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5bc98bdb566c533ed4ac092783f82efd57bb14f3",
      "tree": "745fe2bf24f66409592e242195b6593128405fbf",
      "parents": [
        "ec8e0cc624e7ee29f53d1a2459eb5b3ad0d2fcd8"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 15 04:19:45 2024 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Apr 15 04:24:56 2024 -0400"
      },
      "message": "libtraceevent: Have single quotes represent characters\n\nIn parsing the print fmt parameters, the code currently treats both single\nand double quotes the same. But they are not. Double quotes represent\nstrings and single quotes represent characters.\n\nA character could be used as a number as well, so it needs to be treated\nas such.\n\nLink: https://lore.kernel.org/all/20240315174900.14418f22@booty/\n\nFixes: 6582b0aea1cc (\"tools/events: Add files to create libtraceevent.a\")\nReported-by: Luca Ceresoli \u003cluca.ceresoli@bootlin.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ec8e0cc624e7ee29f53d1a2459eb5b3ad0d2fcd8",
      "tree": "ba004056c2277190776f5a40adba732fc258a658",
      "parents": [
        "60ed6c392121f5cd9992c7130abc99e673e57358"
      ],
      "author": {
        "name": "Paul Mars",
        "email": "paul.mars@canonical.com",
        "time": "Fri Mar 29 15:25:45 2024 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 11 20:34:45 2024 -0400"
      },
      "message": "libtraceevent: Fix tests running on big endian arch\n\nTests running on big endian arch (tested on s390x) where failing due to:\n\n- a typo in CPUMASK_BYTEPN.\n- a missing call to tep_set_file_bigendian when initializing the test\n  suite.\n\nLink: https://lore.kernel.org/linux-trace-devel/20240329142544.845408-1-paul.mars@canonical.com\n\nThanks to Mate Kukri \u003cmate.kukri@canonical.com\u003e.\nSigned-off-by: Paul Mars \u003cpaul.mars@canonical.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "60ed6c392121f5cd9992c7130abc99e673e57358",
      "tree": "3f5b11857eb149796d80cb24d1f2e6c1eef4f6c0",
      "parents": [
        "0351241c9dee64c8cbc94055413d7a58a0d0c25c"
      ],
      "author": {
        "name": "Alexander Kanavin",
        "email": "alex@linutronix.de",
        "time": "Mon Mar 11 12:11:40 2024 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Apr 11 20:30:35 2024 -0400"
      },
      "message": "libtraceevent: build: Various fixes for the Meson build of libtraceevent\n\n- Make the plugin directory the same as the Makefiles\n- Install the plugins as modules not static and versioned shared libraries\n\nLink: https://lore.kernel.org/linux-trace-devel/20240311111140.1789879-1-alex@linutronix.de\n\nSigned-off-by: Ross Burton \u003cross.burton@arm.com\u003e\nSigned-off-by: Alexander Kanavin \u003calex@linutronix.de\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0351241c9dee64c8cbc94055413d7a58a0d0c25c",
      "tree": "b39e6e097a192da4e40dcecc8f23a29dd8ee2832",
      "parents": [
        "6f6d5802f31992e7527a4c32b43a32fda6bf6bdf"
      ],
      "author": {
        "name": "Miko Larsson",
        "email": "mikoxyzzz@gmail.com",
        "time": "Thu Feb 22 11:16:21 2024 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Feb 22 11:20:30 2024 -0500"
      },
      "message": "libtraceevent utest: Include libgen.h for basename() with musl\n\nThis fixes the build with musl + clang \u003e\u003d15; musl doesn\u0027t define\nbasename() anywhere else, and clang \u003e\u003d15 doesn\u0027t allow implicit\ndeclarations.\n\nLink: https://lore.kernel.org/linux-trace-devel/20240222-utest-fixes-v2-1-7b8ee8dca0b7@gmail.com\n\nFixes: 58cbc1b2a84e (\"libtraceevent: Add unit test framework for library commands\")\nSigned-off-by: Miko Larsson \u003cmikoxyzzz@gmail.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6f6d5802f31992e7527a4c32b43a32fda6bf6bdf",
      "tree": "b5c33747641b91557160d19382cb6da3a3afa3bb",
      "parents": [
        "b29b19275b0d9d3469e3b3eb55b3e8c6dff24a50"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 08 21:31:16 2024 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 08 21:32:09 2024 -0500"
      },
      "message": "libtraceevent: 1.8.2\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b29b19275b0d9d3469e3b3eb55b3e8c6dff24a50",
      "tree": "0525141aabe79a9b93773d328cf8ed58a740b962",
      "parents": [
        "4b2286c3ef8317239ed5290f381970c14d8b3fe9"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 08 15:14:37 2024 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 08 15:31:51 2024 -0500"
      },
      "message": "kbuffer: Update kbuf-\u003enext in kbuffer_refresh\n\nIf the kbuffer was read to completion, the kbuf-\u003ecurr would equal both the\nsize and kbuf-\u003enext. The kbuffer_refresh() is to update the kbuf if more\ndata was added to the buffer. But if curr is at the end, the next pointer\nwas not updated, which is incorrect. The next pointer needs to be moved to\nthe end of the newly written event.\n\nUpdate the pointers in kbuffer_refresh() just as if it was loaded new (but\nstill keeping curr at the correct location).\n\nLink: https://lore.kernel.org/linux-trace-devel/20240108151437.3c23a4f9@gandalf.local.home\n\nFixes: 7a4d5b24 (\"kbuffer: Add kbuffer_refresh() API\")\nReported-by: Vincent Donnefort \u003cvdonnefort@google.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4b2286c3ef8317239ed5290f381970c14d8b3fe9",
      "tree": "e7ad23ce0e1c914990a5bf2eacaa90813e8838ff",
      "parents": [
        "ce0acec384c8b9cd3859291362272107c24fb20e"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 08 12:34:20 2024 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 08 15:10:48 2024 -0500"
      },
      "message": "kbuffer: Always walk the events to calculate timestamp in kbuffer_read_buffer()\n\nIf the buffer to read the kbuffer subbuffer is big enough to hold the\nentire buffer, it was simply copied. But this is not good enough, as the\nnext read should include the events after what was copied. That means the\ntimestamps need to be calculated.\n\nJust copying the data is not enough as the timestamp of any event is an\noffset of the previous event. To know the event timestamp after what was\ncopied, the timestamps of the events before it need to be read, to know\nwhat the offset is against of the following event.\n\nLink: https://lore.kernel.org/linux-trace-devel/ZZwFvyGvm0C38eBh@google.com/\nLink: https://lore.kernel.org/linux-trace-devel/20240108123420.5e227075@gandalf.local.home\n\nFixes: 05821189 (\"kbuffer: Add kbuffer_read_buffer()\")\nReported-by: Vincent Donnefort \u003cvdonnefort@google.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "ce0acec384c8b9cd3859291362272107c24fb20e",
      "tree": "835e0b3b812a28d77308aaa14765a32fe24f007f",
      "parents": [
        "15a0121f815799dd7021c7bce96ce722acc728c3"
      ],
      "author": {
        "name": "Giulio Benetti",
        "email": "giulio.benetti@benettiengineering.com",
        "time": "Mon Jan 08 00:07:53 2024 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 08 14:54:11 2024 -0500"
      },
      "message": "libtraceevent meson: Add libdl dependency to meson\n\nLibdl is mandatory since it\u0027s used by plugins, so let\u0027s add it to meson to\nprevent build failure where -ldl is not implicit.\n\nLink: https://lore.kernel.org/linux-trace-devel/20240107230753.461368-1-giulio.benetti@benettiengineering.com\n\nSigned-off-by: Giulio Benetti \u003cgiulio.benetti@benettiengineering.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "15a0121f815799dd7021c7bce96ce722acc728c3",
      "tree": "0c6b51abe999a86cf772ad369da15c8ee0e84cfe",
      "parents": [
        "85a207894ad012db4156aafe18e164db2a83761b"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Dec 29 12:14:50 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Dec 29 12:32:27 2023 -0500"
      },
      "message": "libtraceevent Documentation: Fix tep_kbuffer() prototype\n\nThe tep_kbuffer() prototype was missing from its man page and was broken\nin the libtraceevent top man page.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231229121450.7a19ccaa@gandalf.local.home\n\nFixes: 6e637fba207d4 (\"libtraceevent: Rename kbuffer_create() to tep_kbuffer()\")\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "85a207894ad012db4156aafe18e164db2a83761b",
      "tree": "5ea98fcc234b51618292aa9a9d01892ea8df1615",
      "parents": [
        "6b21b4c995c73f6df3d899de4c43ca3e8b5fee34"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 28 15:40:25 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Dec 28 15:40:25 2023 -0500"
      },
      "message": "libtraceevent: 1.8.1\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "6b21b4c995c73f6df3d899de4c43ca3e8b5fee34",
      "tree": "651e7cbde13da86d4133786325677090760897ab",
      "parents": [
        "8cf5315f7f22fccc6083fcef1f9ec01d52106371"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 26 13:13:39 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 26 23:16:00 2023 -0500"
      },
      "message": "libtraceevent: Add tep_get_sub_buffer_data_size()\n\nAdd an API to be able to read the header page file and return the data size of\nthe sub buffers. This is the total size of the sub buffer minus the meta\ndata.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231226131339.7b0b727c@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8cf5315f7f22fccc6083fcef1f9ec01d52106371",
      "tree": "5aecd161781ea77b2e90804fef63361b211ab8e3",
      "parents": [
        "7a4d5b2425206207e8aed35652b7a2d00109ca66"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:40:53 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:40:53 2023 -0500"
      },
      "message": "libtraceevent: 1.8\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "7a4d5b2425206207e8aed35652b7a2d00109ca66",
      "tree": "6cc6be378f40409f47bdabbe2f789e1338192623",
      "parents": [
        "33bad32779279a68b69f2f78ecdda0bce3a019bf"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:16:03 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:28:01 2023 -0500"
      },
      "message": "kbuffer: Add kbuffer_refresh() API\n\nAdd a way to refresh the current size of the loaded subbuffer of the\nkbuffer. This is needed if the loaded subbuffer has a writer on it and it\nneeds to update for new events that have been written.\n\nNote, no memory barriers are used here and that would be required by the\napplication.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231224191813.1076074-7-rostedt@goodmis.org\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "33bad32779279a68b69f2f78ecdda0bce3a019bf",
      "tree": "d631cfecafe8cb3ab9f40d4ba5ebfdd911bc4076",
      "parents": [
        "f6bdff749f1e942f91952a9366f9be769d4e50ca"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:16:02 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:28:01 2023 -0500"
      },
      "message": "kbuffer: Add kbuffer_subbuffer() API\n\nAdd a way to retrieve the last loaded subbuffer to the kbuffer.\n\nThe kbuffer_subbuffer() will return a pointer to the last loaded subbuffer or\nNULL if none was ever loaded.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231224191813.1076074-6-rostedt@goodmis.org\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "f6bdff749f1e942f91952a9366f9be769d4e50ca",
      "tree": "cfe96f6c5d84cc37a74813551d9cfecd191fc3ba",
      "parents": [
        "058211897ea394311801335a3bc6d6679b9cf39e"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:16:01 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:28:01 2023 -0500"
      },
      "message": "kbuffer: Add kbuffer_dup()\n\nAdd the function kbuffer_dup() that will duplicate a current kbuffer structure\nthat can be used separately on the same subbuffer or load a new buffer on it.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231224191813.1076074-5-rostedt@goodmis.org\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "058211897ea394311801335a3bc6d6679b9cf39e",
      "tree": "01c47acf15abd97d3a2922f2d3f1448e354b154b",
      "parents": [
        "014ca2413d0d3a1d6454218c5a17374b335ffb1b"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:16:00 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:28:01 2023 -0500"
      },
      "message": "kbuffer: Add kbuffer_read_buffer()\n\nThe kbuffer_read_buffer() function will fill the given buffer from the\nkbuf the same way the kernel would do a read system call. That is, if the\nlength len is less than the sub buffer size, or the current index is\nnon-zero, it will start from the next event to read, and create buffer as a new\nsub buffer (with a timestamp and commit header) with that event that was found\nand including all events after that can fit within len.\n\nThe len must include the size of the sub buffer header as\nwell as the events to include. That is, len is the allocate size of buffer\nthat can be filled.  The return from this function is the index of the end of\nthe last event that was added.  If there are no more events then zero is\nreturned, and if the buffer can not copy any events because len was too small,\nthen -1 is returned.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231224191813.1076074-4-rostedt@goodmis.org\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "014ca2413d0d3a1d6454218c5a17374b335ffb1b",
      "tree": "281eb8f279cda7ad7aca0d879e1cf98d0391e8f4",
      "parents": [
        "afead9a7df92770eff62275b9336c497c3d25767"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:15:59 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:28:01 2023 -0500"
      },
      "message": "libtraceevent: Fix tep_kbuffer() to have kbuf assign long_size\n\nIf the tep handle that returns the kbuf from tep_kbuffer() did not have its\nlong_size initialized, neither will the kbuffer it returns. This can cause\ninconsistent results. Default the long_size to the \"commit\" size of the header\npage as that should also be the size of long.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231224191813.1076074-3-rostedt@goodmis.org\n\nFixes: 21ba6336 (\"libtraceevent: Add kbuffer_create()\")\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "afead9a7df92770eff62275b9336c497c3d25767",
      "tree": "a2aee75cd48d982d4e9e79f77ea07e5b01b83c41",
      "parents": [
        "3152506f546ff760b93b7c13bf43fa93b8547276"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:15:58 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:28:01 2023 -0500"
      },
      "message": "libtraceevent: Add tep_get_sub_buffer_commit_offset()\n\nAdd a function that retrieves the offset on the sub-buffer to find where the\n\"commit\" variable of the sub buffer is located.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231224191813.1076074-2-rostedt@goodmis.org\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "3152506f546ff760b93b7c13bf43fa93b8547276",
      "tree": "804ea1af4eea8fafd2b15ed1816922539a0292ea",
      "parents": [
        "4be92aa3f1f1130787008dbcd60eb093c5939b0e"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:07:32 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:19:52 2023 -0500"
      },
      "message": "libtraceevent plugins: Parse sched_switch \"prev_state\" field for state info\n\nThe write_state() function uses a hard coded string \"SDTtXZPI\" to index\nthe sched_switch prev_state field bitmask. This is fine, except for when\nthe kernel changes this string, in which case this will break again.\n\nWorse yet, there can be various saved trace files that have various\nversions of this string, and updating the string may work for one trace\nfile, it will likely break another trace file.\n\nInstead, look into the event itself, and how it parsed the \"print fmt\".\nUsing the tep_print_args, the mapping between the bits and the output that\nthe kernel uses is exposed to user space. Walk the print arguments until\nthe __print_flags() for the \"prev_state\" field is found, and use that to\nbuild the states string for future parsing.\n\nSave the \"prev_state_field\" pointer, as it should be the same for later\noccurrences, but if more than one trace data (more than one tep handler)\nis being parsed, the string will need to be updated each time a new field\nis passed in, as this is not saved in the tep handle itself.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231224140732.7d41698d@rorschach.local.home\n\nCc: Ze Gao \u003czegao2021@gmail.com\u003e\nCc: Ze Gao \u003czegao@tencent.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4be92aa3f1f1130787008dbcd60eb093c5939b0e",
      "tree": "d1cf78134a635b6e38db0b539d91389686d5c0c1",
      "parents": [
        "9b2e543f91f7b49f5900b55eb4558bf083b2f163"
      ],
      "author": {
        "name": "Matt Jolly",
        "email": "Matt.Jolly@footclan.ninja",
        "time": "Sat Dec 16 11:55:27 2023 +1000"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Sun Dec 24 14:19:33 2023 -0500"
      },
      "message": "libtraceevent: Bump meson version to \u003e\u003d0.58.0\n\nplugins uses str.replace which was introduced in 0.58.0.\n\nLink: https://lore.kernel.org/linux-trace-devel/20231216015527.167415-1-Matt.Jolly@footclan.ninja\n\nSigned-off-by: Matt Jolly \u003cMatt.Jolly@footclan.ninja\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9b2e543f91f7b49f5900b55eb4558bf083b2f163",
      "tree": "63ca96c2819c2c393ba53cde7d3ae9c829935a97",
      "parents": [
        "5b893850d20f8e4377dcdf66089d60e2559b4b26"
      ],
      "author": {
        "name": "Ze Gao",
        "email": "zegao2021@gmail.com",
        "time": "Wed Aug 02 23:09:54 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 06 17:59:42 2023 -0500"
      },
      "message": "libtraceevent: sync state char array with the kernel\n\nUpdate state char array to match the latest kernel\ndefinitions.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230803030955.380537-1-zegao@tencent.com\n\nSigned-off-by: Ze Gao \u003czegao@tencent.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "5b893850d20f8e4377dcdf66089d60e2559b4b26",
      "tree": "0a569367c4ffc5266ea32545a6a2b63ab2f94b8b",
      "parents": [
        "a496a3925f8224d9fa07f26f6f8e81de45e41d92"
      ],
      "author": {
        "name": "Giulio Benetti",
        "email": "giulio.benetti@benettiengineering.com",
        "time": "Sat Sep 30 22:40:17 2023 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 06 15:11:01 2023 -0500"
      },
      "message": "libtraceevent: Add option to disable documentation\n\nOn some Linux environment builder(i.e. Buildroot) host asciidoc is not\nprovided since by default all man/docs are not installed to target but\nmeson.build at the moment build ascii and html documentation and\nrequires asciidoc making the building to fail. So let\u0027s add doc option\nset to true by default to let the user to override it and not produce\nthe documentation.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230930204017.2528627-1-giulio.benetti@benettiengineering.com\n\nSigned-off-by: Giulio Benetti \u003cgiulio.benetti@benettiengineering.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a496a3925f8224d9fa07f26f6f8e81de45e41d92",
      "tree": "477541b072025f8c9098d5c9e6c1b3f597e3e783",
      "parents": [
        "dd148189b74da3e2f45c7e536319fec97cb71213"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jul 12 11:54:07 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Oct 18 12:01:40 2023 -0400"
      },
      "message": "libtraceevent: Add tep_record_is_event() API\n\nAdd a new API tep_record_is_event(). It\u0027s becoming a common pattern in\nparsing traces, where the code will have:\n\n\tint type;\n\n\ttype \u003d tep_data_type(event-\u003etep, record);\n\tif (event-\u003eid \u003d\u003d type) {\n\t\t/* do something */\n\t}\n\nMake it a helper function\n\nLink: https://lore.kernel.org/linux-trace-devel/20230712115407.6e123dc7@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "dd148189b74da3e2f45c7e536319fec97cb71213",
      "tree": "2776368f93659fbe019d846f5a3b0b112635f8f1",
      "parents": [
        "0b9a34e45975edecfb8569849bfd9f5b3039f19f"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 07 15:44:07 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jun 07 15:49:02 2023 -0400"
      },
      "message": "libtraceevent: version 1.7.3\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0b9a34e45975edecfb8569849bfd9f5b3039f19f",
      "tree": "c0c746239ba8e377f4988251c3f80897aa8c74ce",
      "parents": [
        "eba4a417cf7053293443cf7d79c42b6b9a629fe6"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Thu Jun 01 08:48:23 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jun 02 04:30:44 2023 -0400"
      },
      "message": "libtraceevent: Handle printf \u0027%+d\" case\n\nThe print prasing does not handle \u0027%+d\u0027 and prints \"\u003e+\u003cd\" instead. The \u0027+\u0027 is a\nvalid printf specifier. Make sure to handle it.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230601084823.43e68c0f@rorschach.local.home\n\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d217339\nReported-by: Douglas RAILLARD \u003cdouglas.raillard@arm.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "eba4a417cf7053293443cf7d79c42b6b9a629fe6",
      "tree": "2b1967d079d306adadcb418a3f2d65b2aa61fcf1",
      "parents": [
        "1d8ddb972d08ffd283e6dc7952d4cbe8a6b74eb0"
      ],
      "author": {
        "name": "Daniel Wagner",
        "email": "dwagner@suse.de",
        "time": "Tue Jan 10 17:22:03 2023 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue May 30 04:59:12 2023 -0400"
      },
      "message": "libtraceevent: Add initial support for meson\n\nIntroduce Meson as build framework for building libtraceevent.\n\nThe build steps are:\n\n  # configure using .build as build directory and install destination\n  # /tmp/test\n  meson setup --prefix\u003d/tmp/libtraceevent .build\n\n  # trigger the build\n  meson compile -C .build\n\n  # In case you want to build the documentation, trigger the\n  # build via the \u0027docs\u0027 target:\n  meson compile -C build docs\n\n  # install the library (and documentation)\n  meson install -C .build\n\nLink: https://lore.kernel.org/linux-trace-devel/20230110162203.23527-1-dwagner@suse.de\n\nSigned-off-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1d8ddb972d08ffd283e6dc7952d4cbe8a6b74eb0",
      "tree": "dedc5c81233f95ef6de59e3cca1b3ca1bdb5af73",
      "parents": [
        "1c6f0f3b2bb47571fc455dc565dc343152517d98"
      ],
      "author": {
        "name": "David Ahern",
        "email": "dsahern@kernel.org",
        "time": "Mon May 08 16:41:21 2023 -0600"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon May 29 04:49:17 2023 -0400"
      },
      "message": "libtraceevent: Handle %c\n\nUse of %c in tracepoints is throwing off the argument order when printing\nevent data via perf. Handle \u0027%c\u0027 in parse_arg_format.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230508224121.12861-1-dsahern@kernel.org\n\nSigned-off-by: David Ahern \u003cdsahern@kernel.org\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "1c6f0f3b2bb47571fc455dc565dc343152517d98",
      "tree": "9790d2cfd56379a82fd4b17e3b8f4518fc5f9794",
      "parents": [
        "73f6a8ac2920a35a9acd4ca7b95062d1aef361b8"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 27 18:16:23 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 27 18:16:23 2023 -0400"
      },
      "message": "libtraceevent: version 1.7.2\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "73f6a8ac2920a35a9acd4ca7b95062d1aef361b8",
      "tree": "5fd125d83e6c10a807613d6869522c8500448fe7",
      "parents": [
        "da2ea6bc6079b16ffb42957128ce784cc2230dac"
      ],
      "author": {
        "name": "psykose",
        "email": "alice@ayaya.dev",
        "time": "Mon Feb 20 18:52:41 2023 +0100"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 27 18:14:05 2023 -0400"
      },
      "message": "libtraceevent: Fix some missing commas in big endian blocks\n\nThe lack of a trailing comma makes the array definition invalid, since elements\nmust be comma delimited in the initialiser. So, add one in the big endian case\ntoo.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230220175241.15424-1-alice@ayaya.dev\n\nFixes: 58cbc1b2a84e9 (\"libtraceevent: Add unit test framework for library commands\")\nSigned-off-by: psykose \u003calice@ayaya.dev\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "da2ea6bc6079b16ffb42957128ce784cc2230dac",
      "tree": "8bb062b1199bb95ad7663fe84724fa21035b30b1",
      "parents": [
        "e6f7cfa0f0d432451b77d228f87287310f34d7c2"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 24 16:09:24 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 27 17:56:03 2023 -0400"
      },
      "message": "libtraceevent: Rename \"ok\" to \"token_has_paren\" in process_sizeof()\n\nThe \"ok\" variable is set to true if at the end of the if/else blocks the\ntoken contains the last element of \"sizeof(..)\", which would be that \")\"\nparenthesis. Calling it \"ok\" is meaningless and confusing.\n\nCall the variable what it is for \"token_has_paren\". That will make the\nlogic much easier to understand.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230324200924.287521-4-rostedt@goodmis.org\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "e6f7cfa0f0d432451b77d228f87287310f34d7c2",
      "tree": "88be970f437c5da7e31c804c35db98ea24c59189",
      "parents": [
        "a4b1ba5f874078f3a54ede67edd56f2b26ae079b"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 24 16:09:23 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 27 17:56:03 2023 -0400"
      },
      "message": "libtraceevent: No need for testing ok in else if (!ok) in process_sizeof()\n\nThe if/else if logic in process_sizeof() has:\n\n\tif (ok || strcmp(token, \"int\") \u003d\u003d 0) {\n\t\t[..]\n\t} else if (strcmp(token, \"long\") \u003d\u003d 0) {\n\t\t[..]\n\t} else if (strcmp(token, \"REC\") \u003d\u003d 0) {\n\t\t[..]\n\t} else if (!ok) {\n\t\tgoto error;\n\t}\n\nBy the time we get to } else if (!ok) {, ok will always be false as if it\nwere true, it would enter the first if block.\n\nJust make it end with:\n\t} else {\n\t\tgoto error;\n\t}\n\nLink: https://lore.kernel.org/linux-trace-devel/20230324200924.287521-3-rostedt@goodmis.org\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "a4b1ba5f874078f3a54ede67edd56f2b26ae079b",
      "tree": "e1e9afb155dfc8e9b236f9180b58b18921fa0589",
      "parents": [
        "4e51588b1f4d6617df7e39a38acc0d0daa3d8a3f"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Mar 24 16:09:22 2023 -0400"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Mar 27 17:56:03 2023 -0400"
      },
      "message": "libtraceevent: Fix double free in parsing sizeof()\n\nGoogle\u0027s fuzz testing caught a double free in process_sizeof(). If \"ok\" is\nset, it means that token contains the last part of sizeof() (should be the\n\u0027)\u0027). Otherwise, the token contains the last item in the parenthesis of\nsizeof(), and the next token needs to be read.\n\nThe problem is, in this case, the token is read into the token holder\n\"tok\" and not to token. That means the next \"free_token()\" will free the\ntoken that was already freed and what was just read.\n\nNote, the \"ok\" variable is a horrible name and needs to be changed, but\nthat\u0027s outside the scope of this update.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230324200924.287521-2-rostedt@goodmis.org\n\nFixes: 2d0573af4dfda (\"libtraceevent: Be able to handle some sizeof() calls\")\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4e51588b1f4d6617df7e39a38acc0d0daa3d8a3f",
      "tree": "52cc97728c6fbb7393984dc3db05c5836107fe44",
      "parents": [
        "89b98f04411788e6bc8018e48743227f9915a627"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 09 20:13:24 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 09 20:13:24 2023 -0500"
      },
      "message": "libtraceevent: version 1.7.1\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "89b98f04411788e6bc8018e48743227f9915a627",
      "tree": "52428e5b9e9c3124f23abd4ad911f53abd1e2785",
      "parents": [
        "0c28cec1e409653095dea0511c24fd9849b2862f"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 09 18:40:34 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Jan 09 18:51:36 2023 -0500"
      },
      "message": "libtraceevent: Show migrate-disable field\n\nSince Linux kernel 5.15 (specifically with the addition of 54357f0c9149c\n(\"tracing: Add migrate-disabled counter to tracing output.\")), the\ncommon_preempt_count field of each event also held the \"migrate-disable\"\nfield in the most significant byte. This needs to be accounted for as when\nthe migrate disable field is set, it will show:\n\nsystemd--268     3d..3 15368.334398: rcu_dyntick:          --\u003d 4000000000000002 4000000000000000 0x63c\nsystemd--268     3d..13 15368.334399: rcu_dyntick:          ++\u003d 4000000000000000 4000000000000002 0x63c\nsystemd--268     3d..12 15368.334400: irq_disable:          caller\u003dct_irq_enter_irqson+0x17 parent\u003d0x0\nsystemd--268     3d..13 15368.334400: rcu_dyntick:          --\u003d 4000000000000002 4000000000000000 0x63c\nsystemd--268     3d..12 15368.334401: rcu_dyntick:          ++\u003d 4000000000000000 4000000000000002 0x63c\n\nWhere the events above have:\n\n   preempt-count\tmigrate-disable\n   -------------        ---------------\n\t3\t\t\t0\n\t3\t\t\t1\n\t2\t\t\t1\n\t3\t\t\t1\n\t2\t\t\t1\n\nThat is, in the above print of \"3d..13\", the \u00273\u0027 of the \u002713\u0027 is the\npreempt count and the \u00271\u0027 is the migrate disable. But it really should be:\n\nsystemd--268     3d..3. 15368.334398: rcu_dyntick:          --\u003d 4000000000000002 4000000000000000 0x63c\nsystemd--268     3d..31 15368.334399: rcu_dyntick:          ++\u003d 4000000000000000 4000000000000002 0x63c\nsystemd--268     3d..21 15368.334400: irq_disable:          caller\u003dct_irq_enter_irqson+0x17 parent\u003d0x0\nsystemd--268     3d..31 15368.334400: rcu_dyntick:          --\u003d 4000000000000002 4000000000000000 0x63c\nsystemd--268     3d..21 15368.334401: rcu_dyntick:          ++\u003d 4000000000000000 4000000000000002 0x63c\n\nWhere the migrate disabled is always displayed with a \u0027.\u0027 when zero and\nits hex count when set.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230109184034.359f10ad@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0c28cec1e409653095dea0511c24fd9849b2862f",
      "tree": "c26d0fb374341df214c0356cdeacd589c664da65",
      "parents": [
        "87213bcf6542de48ee5391cb403728f8c8c6a300"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 06 14:23:41 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 06 17:14:13 2023 -0500"
      },
      "message": "libtraceevent: Fix output of raw prints\n\nThe raw prints that uses the parsed fields directly, had a bug in it where\nthe check to catch if reading the event went beyond the event size it\nwould warn. But instead of testing against the event size, it was testing\nagainst the field size. The test was suppose to test:\n\n  field-\u003eoffset + field-\u003esize \u003e data_size\n\nWhich would catch an overflow, but instead it was testing:\n\n  field-\u003eoffset + field-\u003esize \u003e field-\u003esize\n\nWhich will always be true! (well, if the field was not at the beginning of\nthe data, which is always is due to meta data).\n\nHave it check the data size and not the field size.\n\nLink: https://lore.kernel.org/linux-trace-devel/20230106142341.15df4486@gandalf.local.home\n\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d216896\nReported-by:  Douglas RAILLARD  \u003cdouglas.raillard@arm.com\u003e\nFixes: 09f02890358a2 (\"libtraceevent: Improve tep_print_field()\")\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "87213bcf6542de48ee5391cb403728f8c8c6a300",
      "tree": "d8709cc1dffeb9d9fd32a64a72d0db357e43a536",
      "parents": [
        "be050d73fc1f922c05a038bf1d1f04c892c5bfdc"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 04 12:26:55 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 06 17:13:54 2023 -0500"
      },
      "message": "libtraceevent: Remove tep_find_function{_address}() from libtraceevent-func_apis.txt\n\nWhen a man page has more than 9 APIs described in it, asciidoc starts to\ncomplain. As there were more functions being added to the function tep\ninterface, the man page that described the function interface was split to\nhave the \"find\" functions in a separate man page. But two functions were\nleft behind in the old libtraceevent-func_apis.txt man page:\n\n  tep_find_function()\n  tep_find_function_address()\n\nThis causes issue because it becomes ambiguous to which man page to read,\nand one may become out of date. Remove the description from the\nlibtraceevent-func_apis.txt as they are described in\nlibtraceevent-func_find.txt man page.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221224153225.ojre2c3fxktfxtj2@carbon.lan/\nLink: https://lore.kernel.org/linux-trace-devel/20230104172655.145516-3-rostedt@goodmis.org\n\nFixes: dd8094ac7252 (\"tools lib traceevent: Man pages for function related libtraceevent APIs\")\nReported-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "be050d73fc1f922c05a038bf1d1f04c892c5bfdc",
      "tree": "b3b7d32d94b9aed53ca5ef64af8ac01b38b8da23",
      "parents": [
        "414028d689376a6c4e9065cbcba99c11a4f26dd8"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Jan 04 12:26:54 2023 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Jan 06 17:13:54 2023 -0500"
      },
      "message": "libtraceevent: Add check for duplicate functions in man pages\n\nUpdate the check-manpages.sh script to make sure that there are no\nfunctions that are described in more than one man page.\n\nThe output will look like this:\n\n  Found tep_find_function in libtraceevent-func_find.txt and in libtraceevent-func_apis.txt\n  Found tep_find_function_address in libtraceevent-func_find.txt and in libtraceevent-func_apis.txt\n\nLink: https://lore.kernel.org/linux-trace-devel/20221224153225.ojre2c3fxktfxtj2@carbon.lan/\nLink: https://lore.kernel.org/linux-trace-devel/20230104172655.145516-2-rostedt@goodmis.org\n\nReported-by: Daniel Wagner \u003cdwagner@suse.de\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "414028d689376a6c4e9065cbcba99c11a4f26dd8",
      "tree": "66f5cfd2ce126c92f8866eac35babfaf2b680a46",
      "parents": [
        "169a55a0e8e8aacf4f9998ae00d749e447ac3f51"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 19 22:42:58 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jan 03 16:45:54 2023 -0500"
      },
      "message": "libtraceevent: Allow stack traces to show offset too\n\nThe stack traces only show the function name and the full address, which\ncan be useless for running under gdb, because the address could be\nrandomized, and to find the locations within the functions, the offsets\nfrom the start of the function really need to be displayed and not just\nthe full address, as the address isn\u0027t known by gdb.\n\nHave the function plugin \"offset\" option affect stack traces too. That\nway, there\u0027s a way to display the offsets of the functions too.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221219224258.68a86565@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "169a55a0e8e8aacf4f9998ae00d749e447ac3f51",
      "tree": "89c9bb416d81704de2a1613a70c5bd789c435d72",
      "parents": [
        "8be5640ff4e64ca07b9c711afc0af89c958ed4f2"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 21 13:46:56 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jan 03 16:45:14 2023 -0500"
      },
      "message": "libtraceevent: Make sure 32 bit work on 64 bit file systems\n\nAs stat() can overflow if a 32 bit user space reads a file on a file\nsystem that has inodes greater than MAX_INT. Compile with\n_FILE_OFFSET_BITS\u003d64 that mitigates this problem on 32 bit user space.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221221134656.79589e83@gandalf.local.home\n\nReported-by: Mike Frysinger \u003cvapier@google.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8be5640ff4e64ca07b9c711afc0af89c958ed4f2",
      "tree": "5614f5507143a5094247573532dd5f29b7d7c9d0",
      "parents": [
        "d227f133a84c1b67643857bee1badadd0f3d5846"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Mon Dec 19 22:26:30 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Jan 03 16:39:09 2023 -0500"
      },
      "message": "libtraceevent: Fix string parsing\n\nThe string parsing of tokens can be confused if the string has a backslash\nat the end of the string. That is \"\\\\\\0\" or \\\u003cnul\u003e. The backslash will\nskip the next character. If the next character is the end of the string,\nit will read past the end of the string.\n\nCheck for end of buffer (less than or equal to 0), and if the next\ncharacter is the end of buffer, exit the loop regardless if the previous\ncharacter was a backslash.\n\nAlso fail the parsing of the event if the string is not terminated by the\nquote that started it.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221219222630.54fc5bc5@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "d227f133a84c1b67643857bee1badadd0f3d5846",
      "tree": "dd65f1dc7b8f463ab386c72c7d4917187ac26d06",
      "parents": [
        "826b06bb2484a53fdae196e12ec507a67ec87055"
      ],
      "author": {
        "name": "Felipe Balbi",
        "email": "balbi@kernel.org",
        "time": "Fri Dec 16 12:27:53 2022 +0200"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Fri Dec 16 07:35:11 2022 -0500"
      },
      "message": "libtraceevent: Remove global input buffer\n\nWhen using the library with multiple threads, the global input buffer\npointer gets modified concurrently by each thread. An easy fix for the\nproblems that arise is to give each struct tep_handle its own input\nbuffer pointer.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221216102754.257174-1-balbi@kernel.org\n\nSigned-off-by: Felipe Balbi \u003cbalbi@kernel.org\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "826b06bb2484a53fdae196e12ec507a67ec87055",
      "tree": "cb6e445f994d33effa081cabe71f01ec1a545dde",
      "parents": [
        "2b7edb3d1f472fc13fd106d94e97192b78db44f2"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 14 11:28:24 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 14 11:28:24 2022 -0500"
      },
      "message": "libtraceevent: version 1.7\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2b7edb3d1f472fc13fd106d94e97192b78db44f2",
      "tree": "7f6b4d549dcaedbf995865cb9e42f23a5f06360c",
      "parents": [
        "0adc5447a13680c94d9dc13c4ffc6a0fd908862b"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 14 09:36:49 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 14 09:46:00 2022 -0500"
      },
      "message": "libtraceevent: Fail to parse if sizeof(long) is used and long size is not defined\n\nIf the tep handle has not defined a long size yet, then fail to parse\nsizeof(long) instead of giving a wrong answer.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221214093649.5a8e43af@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0adc5447a13680c94d9dc13c4ffc6a0fd908862b",
      "tree": "66287a18f4f069589953b4c8a0aa1ff0c99e0126",
      "parents": [
        "2d0573af4dfda7fa739f9b4c0444f42ef03d3587"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 14 08:41:13 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 14 09:28:10 2022 -0500"
      },
      "message": "libtraceevent: Add test to test sizeof() processing\n\nNow that some sizeof() calls can be parsed, create a unit test to test the\nprocess_sizeof() algorithm.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221214084113.211924a7@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "2d0573af4dfda7fa739f9b4c0444f42ef03d3587",
      "tree": "2942b2518c6dcf5d42342402d811e1338e4884c2",
      "parents": [
        "0f8a6152370582f1c1a812eca0b5f14540fef4b9"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 23:36:45 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 14 08:42:22 2022 -0500"
      },
      "message": "libtraceevent: Be able to handle some sizeof() calls\n\nParse sizeof() for known types as well as fields.\n\n sizeof(int) is 4\n sizeof(unsigned int) is 4\n sizeof(long) is tep-\u003elong_size\n sizeof(unsigned long) is tep-\u003elong_size\n sizeof(long long) is 8\n sizeof(unsigned long long) is 8\n sizeof(REC-\u003efoo) is the field \"foo\" size value.\n\nThis will now parse the sample events of trace_events in the kernel.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221213233645.04fc15ed@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "0f8a6152370582f1c1a812eca0b5f14540fef4b9",
      "tree": "885bcb9f4d7521a2335e63de8143391251cf67de",
      "parents": [
        "4fb990a5a922d13dff847939a565a0adfa4e1b37"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 22:19:13 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 22:24:25 2022 -0500"
      },
      "message": "libtraceevent: Allow function parameters to have operators\n\nIt is perfectly fine if a function parameter has operators. Parse them\nproperly.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221213221913.0cc8e17c@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "4fb990a5a922d13dff847939a565a0adfa4e1b37",
      "tree": "3c4d36cbf988472187478dd64a33742f09ba3203",
      "parents": [
        "b458d28dd36cbb37d5eb54f15dc0a26b1d2575a1"
      ],
      "author": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 22:16:51 2022 -0500"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 22:24:02 2022 -0500"
      },
      "message": "libtraceevent: Calculate dynamic size for dynamic fields as well as arrays\n\nWith the new \"cpumask_t\" field, which is dynamic and is denoted with\n\"__data_loc\", it needs to be processed as dynamic in size, and not as\nstatic.\n\nWhen calculating the field size, check for both the field being an array\nas well as being dynamic, as it can be dynamic without being an array.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221213221651.0d36897a@gandalf.local.home\n\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b458d28dd36cbb37d5eb54f15dc0a26b1d2575a1",
      "tree": "be5388b37133341fefb61e5ff676d6361fe0176a",
      "parents": [
        "9560902e6338862eb4ab2bca8b931defb75744c2"
      ],
      "author": {
        "name": "Valentin Schneider",
        "email": "vschneid@redhat.com",
        "time": "Tue Dec 13 16:56:20 2022 +0000"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 19:24:15 2022 -0500"
      },
      "message": "libtraceevent: Add unit tests for cpumask processing\n\nAdd units tests that cover the TEP_PRINT_CPUMASK cases.\n\nSicne print_cpumask_to_seq() is based on a per-byte scan, add some tests\nthat cross byte boundaries when looking for the next non-zero byte.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221213165620.1034287-5-vschneid@redhat.com\n\nCc: Daniel Bristot de Oliveira \u003cbristot@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Douglas RAILLARD \u003cdouglas.raillard@arm.com\u003e\nSigned-off-by: Valentin Schneider \u003cvschneid@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "9560902e6338862eb4ab2bca8b931defb75744c2",
      "tree": "4251f76af2e0dcd0b7daf30186243bc1dd962eca",
      "parents": [
        "cd2d47539d432a153f653686db59e2e9341ba662"
      ],
      "author": {
        "name": "Valentin Schneider",
        "email": "vschneid@redhat.com",
        "time": "Tue Dec 13 16:56:19 2022 +0000"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 19:24:15 2022 -0500"
      },
      "message": "libtraceevent: Pretty-print cpumask fields as a cpulist\n\nNow that we can denote which bitmasks are cpumasks, it makes sense to\npretty-print them to a more user-friendly format: a cpulist.\n\nThere\u0027s two hurdles to that:\n1) Estimating the required string buffer size.\n\n   I\u0027ve tried to condense it down to an estimator function that is\n   computationally simple enough, though it overestimates by ~1/3.\n\n   For reference, this estimates:\n   180 bytes for NR_CPUS\u003d64  (x86 defconfig)\n   911 bytes for NR_CPUS\u003d256 (arm64 defconfig)\n\n2) Iterating through the bits and bytes.\n\n   The kernel has a collection of carefully crafted bitmask iterators which\n   make this relatively simple (cf. bitmap_list_string()), but I didn\u0027t\n   feel justified in importing half a dozen helpers just for one function.\n   I\u0027ve implemented a \"homegrown\" byte-parsing logic which isn\u0027t the\n   fastest, but is at least condensed to a single function.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221213165620.1034287-4-vschneid@redhat.com\n\nCc: Daniel Bristot de Oliveira \u003cbristot@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Douglas RAILLARD \u003cdouglas.raillard@arm.com\u003e\nSigned-off-by: Valentin Schneider \u003cvschneid@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "cd2d47539d432a153f653686db59e2e9341ba662",
      "tree": "722a9067a34d533df3806cf67c31cb54d05e371d",
      "parents": [
        "b5db86a0405b25a922147bd0dbea58ab059bf11b"
      ],
      "author": {
        "name": "Valentin Schneider",
        "email": "vschneid@redhat.com",
        "time": "Tue Dec 13 16:56:18 2022 +0000"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 19:24:15 2022 -0500"
      },
      "message": "libtraceevent: Add boiler-plate code for cpumask types\n\nA cpumask event field type was recently added to Linux, which helps\ndistinguish any odd bitmask from a cpumask. Right now this field type is\nnot recognized by libtraceevent:\n\n  [ipi:ipi_send_cpumask] function __get_cpumask not defined\n  CPU 0 is empty\n  CPU 1 is empty\n  CPU 3 is empty\n  cpus\u003d4\n\t    echo-173   [002]    11.859745: ipi_send_cpumask:     [FAILED TO PARSE] cpumask\u003dARRAY[02,\n00, 00, 00, 00, 00, 00, 00] callsite\u003d0xffffffff81121013\n\nSince a cpumask is still a bitmask, define the boiler plate code for this\nnew field type and wire it all to bitmask handling.\n\nLink: https://lore.kernel.org/linux-trace-devel/20221213165620.1034287-3-vschneid@redhat.com\n\nCc: Daniel Bristot de Oliveira \u003cbristot@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Douglas RAILLARD \u003cdouglas.raillard@arm.com\u003e\nSigned-off-by: Valentin Schneider \u003cvschneid@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "b5db86a0405b25a922147bd0dbea58ab059bf11b",
      "tree": "a19ae6ac4cca49d84cc74440abb6c55cc26369a6",
      "parents": [
        "74674263c4f1b7b082eac058e3e8d5fd5554dc14"
      ],
      "author": {
        "name": "Valentin Schneider",
        "email": "vschneid@redhat.com",
        "time": "Tue Dec 13 16:56:17 2022 +0000"
      },
      "committer": {
        "name": "Steven Rostedt (Google)",
        "email": "rostedt@goodmis.org",
        "time": "Tue Dec 13 19:24:15 2022 -0500"
      },
      "message": "libtraceevent: Ensure print_field_raw() terminates with \u0027\\0\u0027\n\nTesting printing cpumasks reveals an issue in print_field_raw()\u0027s handling\nof arrays: its final operation is trace_seq_putc(\u0027]\u0027), which omits a final\n\u0027\\0\u0027.\n\nThe other cases in the function invoke trace_seq_printf() which does the\nright thing, only the TEP_FIELD_IS_ARRAY case has that issue. Still, to\nprevent any future surprises, add a call to trace_seq_terminate() at the\nend of print_field_raw().\n\nLink: https://lore.kernel.org/linux-trace-devel/20221213165620.1034287-2-vschneid@redhat.com\n\nCc: Daniel Bristot de Oliveira \u003cbristot@redhat.com\u003e\nCc: Clark Williams \u003cwilliams@redhat.com\u003e\nCc: Douglas RAILLARD \u003cdouglas.raillard@arm.com\u003e\nSigned-off-by: Valentin Schneider \u003cvschneid@redhat.com\u003e\nSigned-off-by: Steven Rostedt (Google) \u003crostedt@goodmis.org\u003e\n"
    }
  ],
  "next": "74674263c4f1b7b082eac058e3e8d5fd5554dc14"
}
