)]}'
{
  "commit": "b2641b59cfe566c66e59aee3aa6517bd7592d2c1",
  "tree": "417d5ce3fcd174b8d91d7d83e9c74e82f95d51e3",
  "parents": [
    "f2cf764e6be3b539c394bd802d0f4c6135b5f2e7"
  ],
  "author": {
    "name": "Alexei Starovoitov",
    "email": "ast@kernel.org",
    "time": "Wed Feb 02 19:32:55 2022 -0800"
  },
  "committer": {
    "name": "Alexei Starovoitov",
    "email": "ast@kernel.org",
    "time": "Fri Feb 04 15:03:05 2022 -0800"
  },
  "message": "bpf: Convert bpf_preload.ko to use light skeleton.\n\nThe main change is a move of the single line\n  #include \"iterators.lskel.h\"\nfrom iterators/iterators.c to bpf_preload_kern.c.\nWhich means that generated light skeleton can be used from user space or\nuser mode driver like iterators.c or from the kernel module.\nThe direct use of light skeleton from the kernel module simplifies the code,\nsince UMD is no longer necessary. The libbpf.a required user space and UMD. The\nCO-RE in the kernel and generated \"loader bpf program\" used by the light\nskeleton are capable to perform complex loading operations traditionally\nprovided by libbpf. In addition UMD approach was launching UMD process\nevery time bpffs has to be mounted. With light skeleton in the kernel\nthe bpf_preload kernel module loads bpf iterators once and pins them\nmultiple times into different bpffs mounts.\n\nNote the light skeleton cannot be used during early boot or out of kthread\nsince light skeleton needs a valid mm. This limitation could be lifted in the\nfuture.\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5a8d9f7467bf4d9836773f31ae2aa95c338d861d",
      "old_mode": 33188,
      "old_path": "kernel/bpf/inode.c",
      "new_id": "4f841e16779e7791f7655a73cf3fcb33a9baa23d",
      "new_mode": 33188,
      "new_path": "kernel/bpf/inode.c"
    },
    {
      "type": "modify",
      "old_id": "26bced2624738021c7a42888e9204228f31e028c",
      "old_mode": 33188,
      "old_path": "kernel/bpf/preload/Kconfig",
      "new_id": "9de6cfa5dbb12f5eebba0d3c0b217bebb686b2cf",
      "new_mode": 33188,
      "new_path": "kernel/bpf/preload/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "baf47d9c7557e8323c5b8f93d15e76ef946858af",
      "old_mode": 33188,
      "old_path": "kernel/bpf/preload/Makefile",
      "new_id": "167534e3b0b4d9c17dc3429c40362d5ec5ad4c42",
      "new_mode": 33188,
      "new_path": "kernel/bpf/preload/Makefile"
    },
    {
      "type": "modify",
      "old_id": "2f9932276f2eb4a000e48acdf6f12d194e36a821",
      "old_mode": 33188,
      "old_path": "kernel/bpf/preload/bpf_preload.h",
      "new_id": "f065c91213a0ae288f60a75e9880dc05c310ab62",
      "new_mode": 33188,
      "new_path": "kernel/bpf/preload/bpf_preload.h"
    },
    {
      "type": "modify",
      "old_id": "53736e52c1dfaa91e00cec2949a396d4354e080f",
      "old_mode": 33188,
      "old_path": "kernel/bpf/preload/bpf_preload_kern.c",
      "new_id": "30207c048d36077e28b29e6f0beb2bafd50102ce",
      "new_mode": 33188,
      "new_path": "kernel/bpf/preload/bpf_preload_kern.c"
    },
    {
      "type": "delete",
      "old_id": "f1f40223b5c39fd4194d24d3a31f5931c392c6e6",
      "old_mode": 33188,
      "old_path": "kernel/bpf/preload/bpf_preload_umd_blob.S",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "8464d1a48c05286e622e29c67ef09da42b69ea9c",
      "old_mode": 33188,
      "old_path": "kernel/bpf/preload/iterators/bpf_preload_common.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "4dafe0f4f2b2fd554b716c16e64e90bb28b2827b",
      "old_mode": 33188,
      "old_path": "kernel/bpf/preload/iterators/iterators.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "08ac01acc51ea30632e5cc043d7e5b1df1893fca",
      "old_mode": 33188,
      "old_path": "kernel/bpf/syscall.c",
      "new_id": "54859f584115f26dba804ce8e2b4317758339857",
      "new_mode": 33188,
      "new_path": "kernel/bpf/syscall.c"
    }
  ]
}
