)]}'
{
  "log": [
    {
      "commit": "8c87df457cb58fe75b9b893007917cf8095660a0",
      "tree": "32446b329e4b83ae6158fa1505c36634a75dbfe8",
      "parents": [
        "1fe72eaa0f46a0fa4cdcd8f3f7853b6d39469784"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Tue Sep 22 16:43:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:29 2009 -0700"
      },
      "message": "BUILD_BUG_ON(): fix it and a couple of bogus uses of it\n\ngcc permitting variable length arrays makes the current construct used for\nBUILD_BUG_ON() useless, as that doesn\u0027t produce any diagnostic if the\ncontrolling expression isn\u0027t really constant.  Instead, this patch makes\nit so that a bit field gets used here.  Consequently, those uses where the\ncondition isn\u0027t really constant now also need fixing.\n\nNote that in the gfp.h, kmemcheck.h, and virtio_config.h cases\nMAYBE_BUILD_BUG_ON() really just serves documentation purposes - even if\nthe expression is compile time constant (__builtin_constant_p() yields\ntrue), the array is still deemed of variable length by gcc, and hence the\nwhole expression doesn\u0027t have the intended effect.\n\n[akpm@linux-foundation.org: make arch/sparc/include/asm/vio.h compile]\n[akpm@linux-foundation.org: more nonsensical assertions in tpm.c..]\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Rajiv Andrade \u003csrajiv@linux.vnet.ibm.com\u003e\nCc: Mimi Zohar \u003czohar@us.ibm.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fa081b00a80ef3f4575c99af6e97d29e1628cf51",
      "tree": "7124419e4f0bb4789d2c2e3b909dc1046c2bbe20",
      "parents": [
        "7fa07729e439a6184bd824746d06a49cca553f15"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Tue Sep 22 16:43:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 23 07:39:27 2009 -0700"
      },
      "message": "include/linux/kmemcheck.h: fix a trillion warnings\n\nof the form\n\ninclude/net/inet_sock.h:208: warning: ISO C90 forbids mixed declarations and code\n\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "991d79b0d1255f89267a350b0048eca59f100cbb",
      "tree": "65ddf4160f959952d9f4955fda8844374768b83e",
      "parents": [
        "a87e84b5cdfacf11af4e8a85c4bca9793658536f",
        "181f7c5dd3832763bdf2756b6d2d8a49bdf12791"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:07:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 08:07:54 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/vegard/kmemcheck:\n  kmemcheck: add missing braces to do-while in kmemcheck_annotate_bitfield\n  kmemcheck: update documentation\n  kmemcheck: depend on HAVE_ARCH_KMEMCHECK\n  kmemcheck: remove useless check\n  kmemcheck: remove duplicated #include\n"
    },
    {
      "commit": "181f7c5dd3832763bdf2756b6d2d8a49bdf12791",
      "tree": "631dc0c343eac8f16e3f12d5b0a4e968858d40ad",
      "parents": [
        "e3c6c4a8af9e3c4588235444774e66b6483b10ad"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Jul 06 11:53:03 2009 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Sep 21 23:34:24 2009 +0200"
      },
      "message": "kmemcheck: add missing braces to do-while in kmemcheck_annotate_bitfield\n\nWhether or not the sparse warning\n\n\twarning: do-while statement is not a compound statement\n\nis justified or not in this case, it is annoying and trivial to fix.\n\n[vegard.nossum@gmail.com: title and cleanup]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "8e019366ba749a536131cde1947af6dcaccf8e8f",
      "tree": "fc44a33fc43265652b93f6f3251d5a73cda2e5ee",
      "parents": [
        "acde31dc467797ccae3a55b791a77af446cce018"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Aug 27 14:50:00 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Sep 04 16:05:55 2009 +0100"
      },
      "message": "kmemleak: Don\u0027t scan uninitialized memory when kmemcheck is enabled\n\nIngo Molnar reported the following kmemcheck warning when running both\nkmemleak and kmemcheck enabled:\n\n  PM: Adding info for No Bus:vcsa7\n  WARNING: kmemcheck: Caught 32-bit read from uninitialized memory\n  (f6f6e1a4)\n  d873f9f600000000c42ae4c1005c87f70000000070665f666978656400000000\n   i i i i u u u u i i i i i i i i i i i i i i i i i i i i i u u u\n           ^\n\n  Pid: 3091, comm: kmemleak Not tainted (2.6.31-rc7-tip #1303) P4DC6\n  EIP: 0060:[\u003cc110301f\u003e] EFLAGS: 00010006 CPU: 0\n  EIP is at scan_block+0x3f/0xe0\n  EAX: f40bd700 EBX: f40bd780 ECX: f16b46c0 EDX: 00000001\n  ESI: f6f6e1a4 EDI: 00000000 EBP: f10f3f4c ESP: c2605fcc\n   DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\n  CR0: 8005003b CR2: e89a4844 CR3: 30ff1000 CR4: 000006f0\n  DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000\n  DR6: ffff4ff0 DR7: 00000400\n   [\u003cc110313c\u003e] scan_object+0x7c/0xf0\n   [\u003cc1103389\u003e] kmemleak_scan+0x1d9/0x400\n   [\u003cc1103a3c\u003e] kmemleak_scan_thread+0x4c/0xb0\n   [\u003cc10819d4\u003e] kthread+0x74/0x80\n   [\u003cc10257db\u003e] kernel_thread_helper+0x7/0x3c\n   [\u003cffffffff\u003e] 0xffffffff\n  kmemleak: 515 new suspected memory leaks (see\n  /sys/kernel/debug/kmemleak)\n  kmemleak: 42 new suspected memory leaks (see /sys/kernel/debug/kmemleak)\n\nThe problem here is that kmemleak will scan partially initialized\nobjects that makes kmemcheck complain. Fix that up by skipping\nuninitialized memory regions when kmemcheck is enabled.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "fc7d0c9f2122e8bf58deaf1252b0e750df5b0e91",
      "tree": "9279ca21566062038582682e59accccfa904054d",
      "parents": [
        "ac61a7579625ddfca3b2e0aa298879a94d15884d"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat Aug 30 12:16:05 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:49:23 2009 +0200"
      },
      "message": "kmemcheck: introduce bitfield API\n\nAdd the bitfield API which can be used to annotate bitfields in structs\nand get rid of false positive reports.\n\nAccording to Al Viro, the syntax we were using (putting #ifdef inside\nmacro arguments) was not valid C. He also suggested using begin/end\nmarkers instead, which is what we do now.\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "b1eeab67682a5e397aecf172046b3a8bd4808ae4",
      "tree": "c357b6ac1945dc8beecc2f8c4d84660ad8d35aae",
      "parents": [
        "9b5cab31897e9e89e36c0c2a89b16b93ff1a971a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Tue Nov 25 16:55:53 2008 +0100"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 15:48:33 2009 +0200"
      },
      "message": "kmemcheck: add hooks for the page allocator\n\nThis adds support for tracking the initializedness of memory that\nwas allocated with the page allocator. Highmem requests are not\ntracked.\n\nCc: Dave Hansen \u003cdave@linux.vnet.ibm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n\n[build fix for !CONFIG_KMEMCHECK]\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "d7002857dee6e9a3ce1f78d23f37caba106b29c5",
      "tree": "64453eb81be8409937a6daf207442cf5021e3b5e",
      "parents": [
        "2dff440525f8faba8836e9f05297b76f23b4af30"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sun Jul 20 10:44:54 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 12:40:05 2009 +0200"
      },
      "message": "kmemcheck: add DMA hooks\n\nThis patch hooks into the DMA API to prevent the reporting of the\nfalse positives that would otherwise be reported when memory is\naccessed that is also used directly by devices.\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "commit": "2dff440525f8faba8836e9f05297b76f23b4af30",
      "tree": "9f15e1dc2da06dba97cd939e41f34342caf05097",
      "parents": [
        "f85612967c93b67b10dd240e3e8bf8a0eee9def7"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat May 31 15:56:17 2008 +0200"
      },
      "committer": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Mon Jun 15 12:40:03 2009 +0200"
      },
      "message": "kmemcheck: add mm functions\n\nWith kmemcheck enabled, the slab allocator needs to do this:\n\n1. Tell kmemcheck to allocate the shadow memory which stores the status of\n   each byte in the allocation proper, e.g. whether it is initialized or\n   uninitialized.\n2. Tell kmemcheck which parts of memory that should be marked uninitialized.\n   There are actually a few more states, such as \"not yet allocated\" and\n   \"recently freed\".\n\nIf a slab cache is set up using the SLAB_NOTRACK flag, it will never return\nmemory that can take page faults because of kmemcheck.\n\nIf a slab cache is NOT set up using the SLAB_NOTRACK flag, callers can still\nrequest memory with the __GFP_NOTRACK flag. This does not prevent the page\nfaults from occuring, however, but marks the object in question as being\ninitialized so that no warnings will ever be produced for this object.\n\nIn addition to (and in contrast to) __GFP_NOTRACK, the\n__GFP_NOTRACK_FALSE_POSITIVE flag indicates that the allocation should\nnot be tracked _because_ it would produce a false positive. Their values\nare identical, but need not be so in the future (for example, we could now\nenable/disable false positives with a config option).\n\nParts of this patch were contributed by Pekka Enberg but merged for\natomicity.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n[rebased for mainline inclusion]\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\n"
    },
    {
      "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"
    }
  ]
}
