)]}'
{
  "commit": "c895f6f703ad7dd2f99e751d9884b0aa5d0eea25",
  "tree": "38c78d2344e471e1e926c893120f16015a405b26",
  "parents": [
    "2391f0b4808e3d5af348324d69f5f45c56a26836"
  ],
  "author": {
    "name": "Hendrik Brueckner",
    "email": "brueckner@linux.vnet.ibm.com",
    "time": "Mon Dec 04 10:56:44 2017 +0100"
  },
  "committer": {
    "name": "Daniel Borkmann",
    "email": "daniel@iogearbox.net",
    "time": "Tue Dec 05 15:02:40 2017 +0100"
  },
  "message": "bpf: correct broken uapi for BPF_PROG_TYPE_PERF_EVENT program type\n\nCommit 0515e5999a466dfe (\"bpf: introduce BPF_PROG_TYPE_PERF_EVENT\nprogram type\") introduced the bpf_perf_event_data structure which\nexports the pt_regs structure.  This is OK for multiple architectures\nbut fail for s390 and arm64 which do not export pt_regs.  Programs\nusing them, for example, the bpf selftest fail to compile on these\narchitectures.\n\nFor s390, exporting the pt_regs is not an option because s390 wants\nto allow changes to it.  For arm64, there is a user_pt_regs structure\nthat covers parts of the pt_regs structure for use by user space.\n\nTo solve the broken uapi for s390 and arm64, introduce an abstract\ntype for pt_regs and add an asm/bpf_perf_event.h file that concretes\nthe type.  An asm-generic header file covers the architectures that\nexport pt_regs today.\n\nThe arch-specific enablement for s390 and arm64 follows in separate\ncommits.\n\nReported-by: Thomas Richter \u003ctmricht@linux.vnet.ibm.com\u003e\nFixes: 0515e5999a466dfe (\"bpf: introduce BPF_PROG_TYPE_PERF_EVENT program type\")\nSigned-off-by: Hendrik Brueckner \u003cbrueckner@linux.vnet.ibm.com\u003e\nReviewed-and-tested-by: Thomas Richter \u003ctmricht@linux.vnet.ibm.com\u003e\nAcked-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@kernel.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Alexander Shishkin \u003calexander.shishkin@linux.intel.com\u003e\nCc: Jiri Olsa \u003cjolsa@redhat.com\u003e\nCc: Namhyung Kim \u003cnamhyung@kernel.org\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b15bf6bc0e94f46f035e8781ffa921060341fe91",
      "old_mode": 33188,
      "old_path": "arch/alpha/include/uapi/asm/Kbuild",
      "new_id": "14a2e9af97e9992d87821e8f11276ecfef8e57cf",
      "new_mode": 33188,
      "new_path": "arch/alpha/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "fa6d0ff4ff894be699616eefad77cd6a2347a3b7",
      "old_mode": 33188,
      "old_path": "arch/arc/include/uapi/asm/Kbuild",
      "new_id": "170b5db64afeb7f74fb8279887a7cb75e0205c7b",
      "new_mode": 33188,
      "new_path": "arch/arc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "4d53de308ee089a7b745926ab8da16caa825806e",
      "old_mode": 33188,
      "old_path": "arch/arm/include/uapi/asm/Kbuild",
      "new_id": "4d1cc1847edf076dfb3ea03db6712803a851d28b",
      "new_mode": 33188,
      "new_path": "arch/arm/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "aa624b4ab6557c3e22d3660819f25688d605e3ed",
      "old_mode": 33188,
      "old_path": "arch/blackfin/include/uapi/asm/Kbuild",
      "new_id": "2240b38c2915fa725cf2c5d1afc322edd1bb47c0",
      "new_mode": 33188,
      "new_path": "arch/blackfin/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "67ee896a76a7f2f0837436e054b8146dbe7dbac3",
      "old_mode": 33188,
      "old_path": "arch/c6x/include/uapi/asm/Kbuild",
      "new_id": "26644e15d8540fa43cf70e47acf9ce837dd18fd5",
      "new_mode": 33188,
      "new_path": "arch/c6x/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "3687b54bb18ed1a0f36d512af627b8085f15987b",
      "old_mode": 33188,
      "old_path": "arch/cris/include/uapi/asm/Kbuild",
      "new_id": "3470c6e9c7b9ba1ca3b5962d276b42a4c2d2e35f",
      "new_mode": 33188,
      "new_path": "arch/cris/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "b15bf6bc0e94f46f035e8781ffa921060341fe91",
      "old_mode": 33188,
      "old_path": "arch/frv/include/uapi/asm/Kbuild",
      "new_id": "14a2e9af97e9992d87821e8f11276ecfef8e57cf",
      "new_mode": 33188,
      "new_path": "arch/frv/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "187aed820e71feac3ffd03e021387bc892bda5e9",
      "old_mode": 33188,
      "old_path": "arch/h8300/include/uapi/asm/Kbuild",
      "new_id": "2f65f78792cbe5cf7219bb2228fb84e05a0b9204",
      "new_mode": 33188,
      "new_path": "arch/h8300/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "cb5df3aad3a848e27fdccfd2c36e848b1217bc27",
      "old_mode": 33188,
      "old_path": "arch/hexagon/include/uapi/asm/Kbuild",
      "new_id": "41a176dbb53e4f16524157bae122180d572dd4f5",
      "new_mode": 33188,
      "new_path": "arch/hexagon/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "13a97aa2285f7418d18f1396f03bf6281b580a0f",
      "old_mode": 33188,
      "old_path": "arch/ia64/include/uapi/asm/Kbuild",
      "new_id": "f5c6967a93bb204ff41bfdee837d3ec4bdaa94dd",
      "new_mode": 33188,
      "new_path": "arch/ia64/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "1c44d3b3eba03bac62b9a69e6e560aac61a0a3ff",
      "old_mode": 33188,
      "old_path": "arch/m32r/include/uapi/asm/Kbuild",
      "new_id": "451bf6071c6e28036f0da81dedb35c8b184f3b5a",
      "new_mode": 33188,
      "new_path": "arch/m32r/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "3717b64a620df54a46495f07a3597188b9f727ec",
      "old_mode": 33188,
      "old_path": "arch/m68k/include/uapi/asm/Kbuild",
      "new_id": "c2e26a44c482da3a6d87d9b26173d64e7c9ca78f",
      "new_mode": 33188,
      "new_path": "arch/m68k/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "6ac763d9a3e34e3cfb0caaf0072f78c26ec8b03f",
      "old_mode": 33188,
      "old_path": "arch/metag/include/uapi/asm/Kbuild",
      "new_id": "f9eaf07d29f84ab1871d49b89c11a107fb5e1149",
      "new_mode": 33188,
      "new_path": "arch/metag/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "06609ca361150ab77529bf0999d8e258ad25d62c",
      "old_mode": 33188,
      "old_path": "arch/microblaze/include/uapi/asm/Kbuild",
      "new_id": "2c6a6bffea3265d3f3ef1b4d04f6c64347e395e4",
      "new_mode": 33188,
      "new_path": "arch/microblaze/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "a0266feba9e6d996d5469ed18fd23df081a2ab38",
      "old_mode": 33188,
      "old_path": "arch/mips/include/uapi/asm/Kbuild",
      "new_id": "7a4becd8963a219331632203849998a0a3f56e03",
      "new_mode": 33188,
      "new_path": "arch/mips/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "c94ee54210bc489efd469493800596cd2b7061a3",
      "old_mode": 33188,
      "old_path": "arch/mn10300/include/uapi/asm/Kbuild",
      "new_id": "81271d3af47cb1000ebfab2539efa92080a1eccc",
      "new_mode": 33188,
      "new_path": "arch/mn10300/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "ffca24da7647b80e0f45728dff8da4e9474dc65f",
      "old_mode": 33188,
      "old_path": "arch/nios2/include/uapi/asm/Kbuild",
      "new_id": "13a3d77b4d7bdc487b814ae2933940638b62c759",
      "new_mode": 33188,
      "new_path": "arch/nios2/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "62286dbeb9043c6ff6eecbd5859c23fd21ce1baa",
      "old_mode": 33188,
      "old_path": "arch/openrisc/include/uapi/asm/Kbuild",
      "new_id": "130c16ccba0a0abb135e31275eb34c564d6cd700",
      "new_mode": 33188,
      "new_path": "arch/openrisc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "196d2a4efb312be6d830fe2de80538d1f7aaf8f4",
      "old_mode": 33188,
      "old_path": "arch/parisc/include/uapi/asm/Kbuild",
      "new_id": "286ef5a5904b02d5f346dd783dbea9fdb6b35e70",
      "new_mode": 33188,
      "new_path": "arch/parisc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "0d960ef78a9a95a682fe17d8e5050e3803a57323",
      "old_mode": 33188,
      "old_path": "arch/powerpc/include/uapi/asm/Kbuild",
      "new_id": "1a6ed5919ffdb13878ab7f4a8c2f958c8a41f166",
      "new_mode": 33188,
      "new_path": "arch/powerpc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "5ded96b063526e0073e3d79a41ba8b62e21e040c",
      "old_mode": 33188,
      "old_path": "arch/riscv/include/uapi/asm/Kbuild",
      "new_id": "7e91f485047576b559b3a8549ec7b5fc80827ac3",
      "new_mode": 33188,
      "new_path": "arch/riscv/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "c94ee54210bc489efd469493800596cd2b7061a3",
      "old_mode": 33188,
      "old_path": "arch/score/include/uapi/asm/Kbuild",
      "new_id": "81271d3af47cb1000ebfab2539efa92080a1eccc",
      "new_mode": 33188,
      "new_path": "arch/score/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "e28531333efa96d7195e1e9771d574c83caa040d",
      "old_mode": 33188,
      "old_path": "arch/sh/include/uapi/asm/Kbuild",
      "new_id": "ba4d39cb321d0608d96f0b0c5ea45ddadea7cc45",
      "new_mode": 33188,
      "new_path": "arch/sh/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "2178c78c7c1a6336d4a11c9619de521519245c0e",
      "old_mode": 33188,
      "old_path": "arch/sparc/include/uapi/asm/Kbuild",
      "new_id": "4680ba246b554708aec94287f7974adcca4c8c97",
      "new_mode": 33188,
      "new_path": "arch/sparc/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "5711de0a1b5efc92519e152462a0ef1516612add",
      "old_mode": 33188,
      "old_path": "arch/tile/include/uapi/asm/Kbuild",
      "new_id": "cc439612bcd52fee78256802f5aac1ded0c37ec8",
      "new_mode": 33188,
      "new_path": "arch/tile/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "759a71411169f4df318e3eb3e97e0f7602a04bb0",
      "old_mode": 33188,
      "old_path": "arch/unicore32/include/uapi/asm/Kbuild",
      "new_id": "8611ef980554c2ef81378a087d15d42f1e3f3acb",
      "new_mode": 33188,
      "new_path": "arch/unicore32/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "da1489cb64dce5fcec622f2869cd26d2b58d00ac",
      "old_mode": 33188,
      "old_path": "arch/x86/include/uapi/asm/Kbuild",
      "new_id": "1e901e421f2db09d4a0c2c543f47b0e5bbc8be62",
      "new_mode": 33188,
      "new_path": "arch/x86/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "a5bcdfb890f1b77fa8f5f2b349a05d7f759fb661",
      "old_mode": 33188,
      "old_path": "arch/xtensa/include/uapi/asm/Kbuild",
      "new_id": "837d4dd7678545dec75f53c21bcf5e2dea500202",
      "new_mode": 33188,
      "new_path": "arch/xtensa/include/uapi/asm/Kbuild"
    },
    {
      "type": "modify",
      "old_id": "2c9c87d8a0c18e5f5c1cf2a8e148504e4f3ad3a9",
      "old_mode": 33188,
      "old_path": "include/linux/perf_event.h",
      "new_id": "7546822a1d74f198d5c521bc2864c369e38d70e4",
      "new_mode": 33188,
      "new_path": "include/linux/perf_event.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53815d2cd047a0fbf816e31c9cf92c0a8adfaeef",
      "new_mode": 33188,
      "new_path": "include/uapi/asm-generic/bpf_perf_event.h"
    },
    {
      "type": "modify",
      "old_id": "af549d4ecf1b6e76522c6a157db98d48e4190b30",
      "old_mode": 33188,
      "old_path": "include/uapi/linux/bpf_perf_event.h",
      "new_id": "8f95303f9d807d10d4fd6850d91a2486b0a490ec",
      "new_mode": 33188,
      "new_path": "include/uapi/linux/bpf_perf_event.h"
    },
    {
      "type": "modify",
      "old_id": "16beab4767e1e686e8ccd3642a82cbc4adde7f59",
      "old_mode": 33188,
      "old_path": "kernel/events/core.c",
      "new_id": "ba957b9812b3cf430c6b4f4d6e220f9a264f5d74",
      "new_mode": 33188,
      "new_path": "kernel/events/core.c"
    }
  ]
}
