)]}'
{
  "commit": "dfec072ecd35ba6ecad2d51dde325253ac9a2936",
  "tree": "ccf682a631ef8edc0675d68d004bc3a80b34b648",
  "parents": [
    "e594c8de3bd4e7732ed3340fb01e18ec94b12df2"
  ],
  "author": {
    "name": "Vegard Nossum",
    "email": "vegard.nossum@gmail.com",
    "time": "Fri Apr 04 00:51:41 2008 +0200"
  },
  "committer": {
    "name": "Vegard Nossum",
    "email": "vegard.nossum@gmail.com",
    "time": "Sat Jun 13 15:37:30 2009 +0200"
  },
  "message": "kmemcheck: add the kmemcheck core\n\nGeneral description: kmemcheck is a patch to the linux kernel that\ndetects use of uninitialized memory. It does this by trapping every\nread and write to memory that was allocated dynamically (e.g. using\nkmalloc()). If a memory address is read that has not previously been\nwritten to, a message is printed to the kernel log.\n\nThanks to Andi Kleen for the set_memory_4k() solution.\n\nAndrew Morton suggested documenting the shadow member of struct page.\n\nSigned-off-by: Vegard Nossum \u003cvegardno@ifi.uio.no\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n\n[export kmemcheck_mark_initialized]\n[build fix for setup_max_cpus]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegardno@ifi.uio.no\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "edbd0ca620678fd6627c60d4849a07852a823b11",
      "old_mode": 33188,
      "old_path": "arch/x86/Makefile",
      "new_id": "1b68659c41b4c4ce91a3ad7bee7aa8c532fc2168",
      "new_mode": 33188,
      "new_path": "arch/x86/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ed01518f297e10598a59fe3b3c0768021ac80e71",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/kmemcheck.h"
    },
    {
      "type": "modify",
      "old_id": "18ef7ebf2631709dad4f26a681fdbf5dff5a8b2b",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/pgtable.h",
      "new_id": "c5a08079ad5e8dd3f35985ab3a1c92bdab935ed7",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/pgtable.h"
    },
    {
      "type": "modify",
      "old_id": "4d258ad76a0fc04925ac484c1fa9b0bfc47a1cb9",
      "old_mode": 33188,
      "old_path": "arch/x86/include/asm/pgtable_types.h",
      "new_id": "9b5c92140aabc95718076762f4595ba0dc2eed22",
      "new_mode": 33188,
      "new_path": "arch/x86/include/asm/pgtable_types.h"
    },
    {
      "type": "modify",
      "old_id": "fdd30d08ab524a24ca3e2c27a07e1b0b326d88a4",
      "old_mode": 33188,
      "old_path": "arch/x86/mm/Makefile",
      "new_id": "eefdeee8a871175d49a8a7f10bdebd37ed90265c",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4666b7a778be73e67fd3428456b7a6c0b071e75f",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/Makefile"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5ec9f5a93f47e8481c6a0d6054cdbf304135ecb3",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/error.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0efc2e8d0a201cea71169667006b6bb43af2feb1",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/error.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9de7d8f6b6e1d4b47602ac7afbeb134d83086991",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/kmemcheck.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a4100b6e783ab0cf56cb1ce46e4616310e33254e",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/opcode.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6956aad66b5b7f157f8b7271d5fc7103afd89026",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/opcode.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4ead26eeaf96c783463e8626c41b4df2c57cbfda",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/pte.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9f5966456492fa771162a8385fd51f86d454f668",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/pte.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "5544d360087742c964b7c74beb82daa4593c87f1",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/shadow.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "af46d9ab9d861b6aea6a867ab446b0ec7a54f24a",
      "new_mode": 33188,
      "new_path": "arch/x86/mm/kmemcheck/shadow.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "39480c91b2f91c8d98b89e8f0e4dae88d4367017",
      "new_mode": 33188,
      "new_path": "include/linux/kmemcheck.h"
    },
    {
      "type": "modify",
      "old_id": "0e80e26ecf21220104d8d2abbeb9cca6a1215e6e",
      "old_mode": 33188,
      "old_path": "include/linux/mm_types.h",
      "new_id": "0042090a4d70cd839a97c6b436ea91f8ddf51d40",
      "new_mode": 33188,
      "new_path": "include/linux/mm_types.h"
    },
    {
      "type": "modify",
      "old_id": "5616661eac0166e584710edbfa78386ddda0bd76",
      "old_mode": 33188,
      "old_path": "init/main.c",
      "new_id": "e3c335e47cd264f6ad56665bad74182ed30a49f2",
      "new_mode": 33188,
      "new_path": "init/main.c"
    },
    {
      "type": "modify",
      "old_id": "ce664f98e3fb67d7741182b9bce3fd29f4b8b88f",
      "old_mode": 33188,
      "old_path": "kernel/sysctl.c",
      "new_id": "9ef80bba35091e0285054257dcc92c9c564132db",
      "new_mode": 33188,
      "new_path": "kernel/sysctl.c"
    }
  ]
}
