)]}'
{
  "commit": "8f4e956b313dcccbc7be6f10808952345e3b638c",
  "tree": "cc8c93fa1faf5e0b608e3a21330a32bd82fe6f47",
  "parents": [
    "19d36ccdc34f5ed444f8a6af0cbfdb6790eb1177"
  ],
  "author": {
    "name": "Andi Kleen",
    "email": "ak@suse.de",
    "time": "Sun Jul 22 11:12:32 2007 +0200"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Sun Jul 22 11:03:37 2007 -0700"
  },
  "message": "x86: Stop MCEs and NMIs during code patching\n\nWhen a machine check or NMI occurs while multiple byte code is patched\nthe CPU could theoretically see an inconsistent instruction and crash.\nPrevent this by temporarily disabling MCEs and returning early in the\nNMI handler.\n\nBased on discussion with Mathieu Desnoyers.\n\nCc: Mathieu Desnoyers \u003ccompudj@krystal.dyndns.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "206ea2ca63cc5beb221c238ff81172244de262b9",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/alternative.c",
      "new_id": "c3750c2c41137a694be9570443f59b379cc4cc4d",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/alternative.c"
    },
    {
      "type": "modify",
      "old_id": "56cd485b127ce59b2da500e9f176b83bb755b7b7",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/cpu/mcheck/mce.c",
      "new_id": "34c781eddee4cdc6fce3419366b63329965655a5",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/cpu/mcheck/mce.c"
    },
    {
      "type": "modify",
      "old_id": "438949da3b634d63e40503da9baba34fe00e130b",
      "old_mode": 33188,
      "old_path": "arch/i386/kernel/traps.c",
      "new_id": "cfffe3dd9e838315089c9461a49b0fa2b6aef12b",
      "new_mode": 33188,
      "new_path": "arch/i386/kernel/traps.c"
    },
    {
      "type": "modify",
      "old_id": "4d8450ee3635e8ee587f5f639f7862b5a5155a74",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/mce.c",
      "new_id": "a66d607f5b924e09d864120d1d656c3e1a1c2da0",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/mce.c"
    },
    {
      "type": "modify",
      "old_id": "edbbc59b752334d570cb939c70ece3f43ca8ae42",
      "old_mode": 33188,
      "old_path": "arch/x86_64/kernel/nmi.c",
      "new_id": "cb8ee9d02f8682d4e52374aae1847a4daf03292a",
      "new_mode": 33188,
      "new_path": "arch/x86_64/kernel/nmi.c"
    },
    {
      "type": "modify",
      "old_id": "b0a02ee34ffd74720747c295077720e86604933c",
      "old_mode": 33188,
      "old_path": "include/asm-i386/mce.h",
      "new_id": "d56d89742e8fdcd0bfd96ccd1ff83292eea0bc99",
      "new_mode": 33188,
      "new_path": "include/asm-i386/mce.h"
    },
    {
      "type": "modify",
      "old_id": "fb1e133efd9fecdc182d827ddd8c75841b8c6660",
      "old_mode": 33188,
      "old_path": "include/asm-i386/nmi.h",
      "new_id": "ff30c98f87b023290c8d1355f3873540e7d6c2ae",
      "new_mode": 33188,
      "new_path": "include/asm-i386/nmi.h"
    },
    {
      "type": "modify",
      "old_id": "556be5563e308f2d80e7e67f65b4ab19b67b3b49",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/mce.h",
      "new_id": "7bc030a1996de9c2ad53763eac202643e459a54b",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/mce.h"
    },
    {
      "type": "modify",
      "old_id": "d0a7f53b1497cf65442c2162716608378589c467",
      "old_mode": 33188,
      "old_path": "include/asm-x86_64/nmi.h",
      "new_id": "5fb3c0de5cccba5a421a3820bb551619d489fad9",
      "new_mode": 33188,
      "new_path": "include/asm-x86_64/nmi.h"
    }
  ]
}
