)]}'
{
  "log": [
    {
      "commit": "145b64b9588c123d2bd00981c5ce8e03215ed2ee",
      "tree": "deebbaca142814a45ba2a63d9353b63745be363d",
      "parents": [
        "b94de9bb7519f597a3aed521d5eaeb5b02a7cbc0"
      ],
      "author": {
        "name": "Holger Hans Peter Freyther",
        "email": "zecke@selfish.org",
        "time": "Thu Jul 22 19:54:13 2010 +0800"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Sun Aug 08 21:57:23 2010 +0100"
      },
      "message": "kmemleak: Fix typo in the comment\n\nFix typo in comment.\n\nSigned-off-by: Holger Hans Peter Freyther \u003czecke@selfish.org\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "a2b6bf63cb7a3e34bd2e753a6f2c2776b5c8496f",
      "tree": "4134b50892d8465fc60d4b4aacd6256fb9785843",
      "parents": [
        "ab0155a22ad5bda3a6dbfbbecc416cbe92619755"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jul 19 11:54:17 2010 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jul 19 11:54:17 2010 +0100"
      },
      "message": "kmemleak: Add DocBook style comments to kmemleak.c\n\nThe description and parameters of the kmemleak API weren\u0027t obvious. This\npatch adds comments clarifying the API usage.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "ab0155a22ad5bda3a6dbfbbecc416cbe92619755",
      "tree": "0a8b2caea650cc31f61bc8723b0da275382701af",
      "parents": [
        "a7686a45c07462b78df5ac15fc696a86e57ccf91"
      ],
      "author": {
        "name": "Jason Baron",
        "email": "jbaron@redhat.com",
        "time": "Mon Jul 19 11:54:17 2010 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jul 19 11:54:17 2010 +0100"
      },
      "message": "kmemleak: Introduce a default off mode for kmemleak\n\nIntroduce a new DEBUG_KMEMLEAK_DEFAULT_OFF config parameter that allows\nkmemleak to be disabled by default, but enabled on the command line\nvia: kmemleak\u003don. Although a reboot is required to turn it on, its still\nuseful to not require a re-compile.\n\nSigned-off-by: Jason Baron \u003cjbaron@redhat.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "a7686a45c07462b78df5ac15fc696a86e57ccf91",
      "tree": "68f9f2961afc1deb714acabb53f48eb681b7441a",
      "parents": [
        "9078370c0d2cfe4a905aa34f398bbb0d65921a2b"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jul 19 11:54:16 2010 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jul 19 11:54:16 2010 +0100"
      },
      "message": "kmemleak: Show more information for objects found by alias\n\nThere may be situations when an object is freed using a pointer inside\nthe memory block. Kmemleak should show more information to help with\ndebugging.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "dcc7cd011220d7425a265c9bbf04c5731dacec1b",
      "tree": "4c2244f6e6ce94e2698572e9d2df3baea8449c2a",
      "parents": [
        "bf931a01a2c024a54204b4b02276af6e8d99a2c0",
        "b60e26a2f03d963f8c79ad7920d64abc4d38ecbc"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 16:00:19 2009 -0800"
      },
      "message": "Merge branch \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6\n\n* \u0027kmemleak\u0027 of git://linux-arm.org/linux-2.6:\n  kmemleak: fix kconfig for crc32 build error\n  kmemleak: Reduce the false positives by checking for modified objects\n  kmemleak: Show the age of an unreferenced object\n  kmemleak: Release the object lock before calling put_object()\n  kmemleak: Scan the _ftrace_events section in modules\n  kmemleak: Simplify the kmemleak_scan_area() function prototype\n  kmemleak: Do not use off-slab management with SLAB_NOLEAKTRACE\n"
    },
    {
      "commit": "21ae2956ce289f61f11863cc67080f9a28101ae0",
      "tree": "c6f66176b5f151a1326879de334a94201eeb0f26",
      "parents": [
        "0e6779bbcb78b434efdc84fff1809e342684d6b3"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Oct 07 15:21:09 2009 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 09 09:40:57 2009 +0100"
      },
      "message": "tree-wide: fix typos \"aquire\" -\u003e \"acquire\", \"cumsumed\" -\u003e \"consumed\"\n\nThis patch was generated by\n\n\tgit grep -E -i -l \u0027[Aa]quire\u0027 | xargs -r perl -p -i -e \u0027s/([Aa])quire/$1cquire/\u0027\n\nand the cumsumed was found by checking the diff for aquire.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "04609ccc40c4e8f3eabe8894eb0de881c8b984fd",
      "tree": "bb48d91643e04b49312bc12a0a55ffa4ca2e4baa",
      "parents": [
        "fefdd336b2a2f7617e0c8a0777c731d9ed6454ae"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 13:33:12 2009 +0000"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 17:07:54 2009 +0000"
      },
      "message": "kmemleak: Reduce the false positives by checking for modified objects\n\nIf an object was modified since it was previously suspected as leak, do\nnot report it. The modification check is done by calculating the\nchecksum (CRC32) of such object.\n\nSeveral false positives are caused by objects being removed from linked\nlists (e.g. allocation pools) and temporarily breaking the reference\nchain since kmemleak runs concurrently with such list mutation\nprimitives.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "fefdd336b2a2f7617e0c8a0777c731d9ed6454ae",
      "tree": "e70e4478b5713863da5fc7fbd29f4d5a63ed559b",
      "parents": [
        "0587da40be78d3704a48d3e9a619183891727f5f"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 13:33:12 2009 +0000"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 17:07:54 2009 +0000"
      },
      "message": "kmemleak: Show the age of an unreferenced object\n\nThe jiffies shown for unreferenced objects isn\u0027t always meaningful to\npeople debugging kernel memory leaks. This patch adds the age as well to\nthe displayed information.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "0587da40be78d3704a48d3e9a619183891727f5f",
      "tree": "3a7e889902990c86a3c76abdf4e39c20360af47b",
      "parents": [
        "a6f5aa1ea05686ad6e84593a00a04161e6dfb3a3"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 13:33:11 2009 +0000"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 17:07:54 2009 +0000"
      },
      "message": "kmemleak: Release the object lock before calling put_object()\n\nThe put_object() function may free the object if the use_count\ndropped to 0. There shouldn\u0027t be further accesses to such object unless\nit is known that the use_count is non-zero.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "c017b4be3e84176cab10eca5e6c4faeb8cfc6f3e",
      "tree": "b858895759880262dff8754ef58b3e716bebae2c",
      "parents": [
        "e7cb55b946a2182c347047dc903c6ed0daef100c"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 13:33:09 2009 +0000"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Oct 28 15:11:00 2009 +0000"
      },
      "message": "kmemleak: Simplify the kmemleak_scan_area() function prototype\n\nThis function was taking non-necessary arguments which can be determined\nby kmemleak. The patch also modifies the calling sites.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0d5d1aadc8e299874a6a014d65b6bb903b12424d",
      "tree": "dedab8048ff8a62cdbc879960ff994f2b1856368",
      "parents": [
        "c1bcd6b327a0c0d5077eb158a600947aac7d124a"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Oct 09 10:30:34 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:28:47 2009 -0700"
      },
      "message": "kmemleak: Check for NULL pointer returned by create_object()\n\nThis patch adds NULL pointer checking in the early_alloc() function.\n\nReported-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1bcd6b327a0c0d5077eb158a600947aac7d124a",
      "tree": "220d81fbabf491fa0e2461104d36137474c35697",
      "parents": [
        "084d3200d523fc24d95e97797b6cdf1256bf0d1b"
      ],
      "author": {
        "name": "Tetsuo Handa",
        "email": "penguin-kernel@I-love.SAKURA.ne.jp",
        "time": "Fri Oct 09 10:39:24 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 09 13:28:47 2009 -0700"
      },
      "message": "kmemleak: Use GFP_ATOMIC for early_alloc().\n\nWe can\u0027t use GFP_KERNEL inside rcu_read_lock().\n\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "addd72c1a917091f4bb5e699e307c4c4553f6fd3",
      "tree": "76fe15bdf2d2e3fdfa2f3dbd64dfda71fc0e1e2e",
      "parents": [
        "7eb0d5e5be4e312d5368896744476cc705b3d7e7"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Sep 11 10:42:09 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Sep 11 10:42:09 2009 +0100"
      },
      "message": "kmemleak: Improve the \"Early log buffer exceeded\" error message\n\nBased on a suggestion from Jaswinder, clarify what the user would need\nto do to avoid this error message from kmemleak.\n\nReported-by: Jaswinder Singh Rajput \u003cjaswinder@kernel.org\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "7eb0d5e5be4e312d5368896744476cc705b3d7e7",
      "tree": "eebb81e3d4ccb04477b1ace42f666019015f71eb",
      "parents": [
        "0580a1819c584eb8b98f8701157667037e11153a"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@Atheros.com",
        "time": "Tue Sep 08 17:31:45 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Sep 08 17:34:07 2009 +0100"
      },
      "message": "kmemleak: fix sparse warning for static declarations\n\nThis fixes these sparse warnings:\n\nmm/kmemleak.c:1179:6: warning: symbol \u0027start_scan_thread\u0027 was not declared. Should it be static?\nmm/kmemleak.c:1194:6: warning: symbol \u0027stop_scan_thread\u0027 was not declared. Should it be static?\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "0580a1819c584eb8b98f8701157667037e11153a",
      "tree": "f55002557bbeb45c1eadcbe53f222cf618002732",
      "parents": [
        "a1084c8779f5efa771c6896a0a4184900b4ab736"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@Atheros.com",
        "time": "Tue Sep 08 17:32:34 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Sep 08 17:34:06 2009 +0100"
      },
      "message": "kmemleak: fix sparse warning over overshadowed flags\n\nA secondary irq_save is not required as a locking before it was\nalready disabling irqs.\n\nThis fixes this sparse warning:\nmm/kmemleak.c:512:31: warning: symbol \u0027flags\u0027 shadows an earlier one\nmm/kmemleak.c:448:23: originally declared here\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "a1084c8779f5efa771c6896a0a4184900b4ab736",
      "tree": "64a886155022329fd5df889608260094554f31f3",
      "parents": [
        "30b3710105be0ba6bbdb7d7d126af76246b02eba"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@Atheros.com",
        "time": "Fri Sep 04 17:44:52 2009 -0700"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Sep 08 17:22:20 2009 +0100"
      },
      "message": "kmemleak: move common painting code together\n\nWhen painting grey or black we do the same thing, bring\nthis together into a helper and identify coloring grey or\nblack explicitly with defines. This makes this a little\neasier to read.\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "30b3710105be0ba6bbdb7d7d126af76246b02eba",
      "tree": "84200b02f8230f3706744512bf4ba68341d9b889",
      "parents": [
        "4a558dd6f93d419cd318958577e25492bd09e960"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@Atheros.com",
        "time": "Fri Sep 04 17:44:51 2009 -0700"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Sep 08 16:36:08 2009 +0100"
      },
      "message": "kmemleak: add clear command support\n\nIn an ideal world your kmemleak output will be small, when its\nnot (usually during initial bootup) you can use the clear command\nto ingore previously reported and unreferenced kmemleak objects. We\ndo this by painting all currently reported unreferenced objects grey.\nWe paint them grey instead of black to allow future scans on the same\nobjects as such objects could still potentially reference newly\nallocated objects in the future.\n\nTo test a critical section on demand with a clean\n/sys/kernel/debug/kmemleak you can do:\n\necho clear \u003e /sys/kernel/debug/kmemleak\n        test your kernel or modules\necho scan \u003e /sys/kernel/debug/kmemleak\n\nThen as usual to get your report with:\n\ncat /sys/kernel/debug/kmemleak\n\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "4a558dd6f93d419cd318958577e25492bd09e960",
      "tree": "c65e798d06ad21b51cd2a1c4c7f232e0bcf28b03",
      "parents": [
        "179a8100e12d0053f4b368ea3358dd9a0fc6cb94"
      ],
      "author": {
        "name": "Luis R. Rodriguez",
        "email": "lrodriguez@Atheros.com",
        "time": "Tue Sep 08 16:34:50 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Sep 08 16:34:50 2009 +0100"
      },
      "message": "kmemleak: use bool for true/false questions\n\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Luis R. Rodriguez \u003clrodriguez@atheros.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "179a8100e12d0053f4b368ea3358dd9a0fc6cb94",
      "tree": "2513119dabe3d4c0ccb2f10f5c2b581461f7c335",
      "parents": [
        "43ed5d6ee0f9bfd655d6bc3cb2d964b80c4422c0"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Sep 07 10:14:42 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Sep 08 16:31:15 2009 +0100"
      },
      "message": "kmemleak: Do no create the clean-up thread during kmemleak_disable()\n\nThe kmemleak_disable() function could be called from various contexts\nincluding IRQ. It creates a clean-up thread but the kthread_create()\nfunction has restrictions on which contexts it can be called from,\nmainly because of the kthread_create_lock. The patch changes the\nkmemleak clean-up thread to a workqueue.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nReported-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "43ed5d6ee0f9bfd655d6bc3cb2d964b80c4422c0",
      "tree": "e201f0d610a44dbc9e09cec13b52c5cce351136a",
      "parents": [
        "8e019366ba749a536131cde1947af6dcaccf8e8f"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Sep 01 11:12:44 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Sep 04 16:05:55 2009 +0100"
      },
      "message": "kmemleak: Scan all thread stacks\n\nThis patch changes the for_each_process() loop with the\ndo_each_thread()/while_each_thread() pair.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.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": "0494e08281d08f0a3dc442eb5e5cecc125b53b27",
      "tree": "2050fee8744a101a25b84a45dc8abf4966ca00b6",
      "parents": [
        "008139d9146f9afee0e58df4b7422d0c9921f8ce"
      ],
      "author": {
        "name": "Sergey Senozhatsky",
        "email": "sergey.senozhatsky@mail.by",
        "time": "Thu Aug 27 14:29:18 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:18 2009 +0100"
      },
      "message": "kmemleak: Printing of the objects hex dump\n\nIntroducing printing of the objects hex dump to the seq file.\nThe number of lines to be printed is limited to HEX_MAX_LINES\nto prevent seq file spamming. The actual number of printed\nbytes is less than or equal to (HEX_MAX_LINES * HEX_ROW_SIZE).\n\n(slight adjustments by Catalin Marinas)\n\nSigned-off-by: Sergey Senozhatsky \u003csergey.senozhatsky@mail.by\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "fd6789675ebfb9185cb4fb68dc51010b4e95d952",
      "tree": "788cf2a0ac4a1db7f2cf6db5c586085548742c85",
      "parents": [
        "a6186d89c913b176e7339f37a4ec6ccb38b2c5c0"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:17 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:17 2009 +0100"
      },
      "message": "kmemleak: Save the stack trace for early allocations\n\nBefore slab is initialised, kmemleak save the allocations in an early\nlog buffer. They are later recorded as normal memory allocations. This\npatch adds the stack trace saving to the early log buffer, otherwise the\ninformation shown for such objects only refers to the kmemleak_init()\nfunction.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "a6186d89c913b176e7339f37a4ec6ccb38b2c5c0",
      "tree": "0639a35036063c1a5f05c68817fbb4c49aeb2bd9",
      "parents": [
        "189d84ed54bbb05aac5b24d9d784d86c4d37f807"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:16 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:16 2009 +0100"
      },
      "message": "kmemleak: Mark the early log buffer as __initdata\n\nThis buffer isn\u0027t needed after kmemleak was initialised so it can be\nfreed together with the .init.data section. This patch also marks\nfunctions conditionally accessing the early log variables with __ref.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "189d84ed54bbb05aac5b24d9d784d86c4d37f807",
      "tree": "6a856fddf93cd6688978d2d675623c96de4c46cd",
      "parents": [
        "af98603dad87e393d2fc57117fe8a2aa6d620a0c"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:15 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:15 2009 +0100"
      },
      "message": "kmemleak: Dump object information on request\n\nBy writing dump\u003d\u003caddr\u003e to the kmemleak file, kmemleak will look up an\nobject with that address and dump the information it has about it to\nsyslog. This is useful in debugging memory leaks.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "af98603dad87e393d2fc57117fe8a2aa6d620a0c",
      "tree": "7a86d844fe5b43d8894607c16e4945f7ebe51b79",
      "parents": [
        "1e23502cc57cef33455ac7cb9111e3c6d991a894"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:12 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Aug 27 14:29:12 2009 +0100"
      },
      "message": "kmemleak: Allow rescheduling during an object scanning\n\nIf the object size is bigger than a predefined value (4K in this case),\nrelease the object lock during scanning and call cond_resched().\nRe-acquire the lock after rescheduling and test whether the object is\nstill valid.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "f5886c7f96f2542382d3a983c5f13e03d7fc5259",
      "tree": "75c5e09bdd8726fa3fa0c2cc3b764d523e5160f2",
      "parents": [
        "84210aeb4a6a77de8a3067b121026bad630cd3da"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 29 16:26:57 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 29 12:34:58 2009 -0700"
      },
      "message": "kmemleak: Protect the seq start/next/stop sequence by rcu_read_lock()\n\nObjects passed to kmemleak_seq_next() have an incremented reference\ncount (hence not freed) but they may point via object_list.next to\nother freed objects. To avoid this, the whole start/next/stop sequence\nmust be protected by rcu_read_lock().\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53238a60dd4a679f6fe5613a7ed46899587205cf",
      "tree": "d2224ecfb18f7e9c6cc6fb2a48d81a87e5d5b62a",
      "parents": [
        "e4f7c0b44a8ac8935f223195af9ea637d0c08091"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:33:00 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 14:25:14 2009 +0100"
      },
      "message": "kmemleak: Allow partial freeing of memory blocks\n\nFunctions like free_bootmem() are allowed to free only part of a memory\nblock. This patch adds support for this via the kmemleak_free_part()\ncallback which removes the original object and creates one or two\nadditional objects as a result of the memory block split.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "2587362eaf5c9df4e08de11e6340e3c4a88ed4c8",
      "tree": "90fc902a3c131146981164b859ed009d20157333",
      "parents": [
        "b87324d082d9d898e3c06b2a07a2b94b2430b8ba"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:58 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 14:25:13 2009 +0100"
      },
      "message": "kmemleak: Scan objects allocated during a scanning episode\n\nMany of the false positives in kmemleak happen on busy systems where\nobjects are allocated during a kmemleak scanning episode. These objects\naren\u0027t scanned by default until the next memory scan. When such object\nis added, for example, at the head of a list, it is possible that all\nthe other objects in the list become unreferenced until the next scan.\n\nThis patch adds checking for newly allocated objects at the end of the\nscan and repeats the scanning on these objects. If Linux allocates\nnew objects at a higher rate than their scanning, it stops after a\npredefined number of passes.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "b87324d082d9d898e3c06b2a07a2b94b2430b8ba",
      "tree": "23183d749d3267e3c3636fdc78e10ceb0cd10b1a",
      "parents": [
        "288c857d66a400ca4846dd700eb1c4820d738bb9"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:58 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 14:25:13 2009 +0100"
      },
      "message": "kmemleak: Do not acquire scan_mutex in kmemleak_open()\n\nInitially, the scan_mutex was acquired in kmemleak_open() and released\nin kmemleak_release() (corresponding to /sys/kernel/debug/kmemleak\noperations). This was causing some lockdep reports when the file was\nclosed from a different task than the one opening it. This patch moves\nthe scan_mutex acquiring in kmemleak_write() or kmemleak_seq_start()\nwith releasing in kmemleak_seq_stop().\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "288c857d66a400ca4846dd700eb1c4820d738bb9",
      "tree": "1d699c8590a82f010b5899770e7aedd467cc97c9",
      "parents": [
        "4b8a96744c0c27ab94fb4e8155d4384c3b399e27"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:57 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jul 08 14:25:12 2009 +0100"
      },
      "message": "kmemleak: Remove the reported leaks number limitation\n\nSince the leaks are no longer printed to the syslog, there is no point\nin keeping this limitation. All the suspected leaks are shown on\n/sys/kernel/debug/kmemleak file.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "4b8a96744c0c27ab94fb4e8155d4384c3b399e27",
      "tree": "e769e01395a3a13e28bf146fce20a3f3f2a95750",
      "parents": [
        "bf2a76b317c6ccc6f7b6b1dc09664c5b6a155c61"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:56 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:56 2009 +0100"
      },
      "message": "kmemleak: Add more cond_resched() calls in the scanning thread\n\nFollowing recent fix to no longer reschedule in the scan_block()\nfunction, the system may become unresponsive with !PREEMPT. This patch\nre-adds the cond_resched() call to scan_block() but conditioned by the\nallow_resched parameter.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "bf2a76b317c6ccc6f7b6b1dc09664c5b6a155c61",
      "tree": "f3395c384585c2d52a60bb4ae143f1153e604118",
      "parents": [
        "faf80d62e44dc627efb741f48db50c1858d1667c"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:55 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jul 07 10:32:55 2009 +0100"
      },
      "message": "kmemleak: Renice the scanning thread to +10\n\nThis is a long-running thread but not high-priority. So it makes sense\nto renice it to +10.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "57d81f6f393b245894ca0cd828f80ce7e3294f39",
      "tree": "e825b033d86bf42e768c645cb66201a94cd7a354",
      "parents": [
        "e83c2b0ff325f52dda1aff3572d0e1516216c54b"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Jul 01 09:43:53 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jul 01 10:26:23 2009 -0700"
      },
      "message": "kmemleak: Fix scheduling-while-atomic bug\n\nOne of the kmemleak changes caused the following\nscheduling-while-holding-the-tasklist-lock regression on x86:\n\nBUG: sleeping function called from invalid context at mm/kmemleak.c:795\nin_atomic(): 1, irqs_disabled(): 0, pid: 1737, name: kmemleak\n2 locks held by kmemleak/1737:\n #0:  (scan_mutex){......}, at: [\u003cc10c4376\u003e] kmemleak_scan_thread+0x45/0x86\n #1:  (tasklist_lock){......}, at: [\u003cc10c3bb4\u003e] kmemleak_scan+0x1a9/0x39c\nPid: 1737, comm: kmemleak Not tainted 2.6.31-rc1-tip #59266\nCall Trace:\n [\u003cc105ac0f\u003e] ? __debug_show_held_locks+0x1e/0x20\n [\u003cc102e490\u003e] __might_sleep+0x10a/0x111\n [\u003cc10c38d5\u003e] scan_yield+0x17/0x3b\n [\u003cc10c3970\u003e] scan_block+0x39/0xd4\n [\u003cc10c3bc6\u003e] kmemleak_scan+0x1bb/0x39c\n [\u003cc10c4331\u003e] ? kmemleak_scan_thread+0x0/0x86\n [\u003cc10c437b\u003e] kmemleak_scan_thread+0x4a/0x86\n [\u003cc104d73e\u003e] kthread+0x6e/0x73\n [\u003cc104d6d0\u003e] ? kthread+0x0/0x73\n [\u003cc100959f\u003e] kernel_thread_helper+0x7/0x10\nkmemleak: 834 new suspected memory leaks (see /sys/kernel/debug/kmemleak)\n\nThe bit causing it is highly dubious:\n\nstatic void scan_yield(void)\n{\n        might_sleep();\n\n        if (time_is_before_eq_jiffies(next_scan_yield)) {\n                schedule();\n                next_scan_yield \u003d jiffies + jiffies_scan_yield;\n        }\n}\n\nIt called deep inside the codepath and in a conditional way,\nand that is what crapped up when one of the new scan_block()\nuses grew a tasklist_lock dependency.\n\nThis minimal patch removes that yielding stuff and adds the\nproper cond_resched().\n\nThe background scanning thread could probably also be reniced\nto +10.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6e687221eb840bacd4d4a991e5f8e7ed3ae910a",
      "tree": "0990d2d2b044ffa0210807e4fe251a4be9306629",
      "parents": [
        "17bb9e0d906b625f86e9d31740bb1c35bc0f63d7"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jun 29 17:13:57 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jun 29 17:14:14 2009 +0100"
      },
      "message": "kmemleak: Do not warn if an unknown object is freed\n\nvmap\u0027ed memory blocks are not tracked by kmemleak (yet) but they may be\nreleased with vfree() which is tracked. The corresponding kmemleak\nwarning is only enabled in debug mode. Future patch will add support for\nioremap and vmap.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "17bb9e0d906b625f86e9d31740bb1c35bc0f63d7",
      "tree": "2a92b042b2e48be48bbe126ea62ee098fcebc0ee",
      "parents": [
        "acf4968ec9dea49387ca8b3d36dfaa0850bdb2d5"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jun 29 17:13:56 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Mon Jun 29 17:14:13 2009 +0100"
      },
      "message": "kmemleak: Do not report new leaked objects if the scanning was stopped\n\nIf the scanning was stopped with a signal, it is possible that some\nobjects are left with a white colour (potential leaks) and reported. Add\na check to avoid reporting such objects.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "acf4968ec9dea49387ca8b3d36dfaa0850bdb2d5",
      "tree": "5854dfdd96744a404a6222b9fc42aa54f9295313",
      "parents": [
        "4698c1f2bbe44ce852ef1a6716973c1f5401a4c4"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:29 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:29 2009 +0100"
      },
      "message": "kmemleak: Slightly change the policy on newly allocated objects\n\nNewly allocated objects are more likely to be reported as false\npositives. Kmemleak ignores the reporting of objects younger than 5\nseconds. However, this age was calculated after the memory scanning\ncompleted which usually takes longer than 5 seconds. This patch\nmake the minimum object age calculation in relation to the start of the\nmemory scanning.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "4698c1f2bbe44ce852ef1a6716973c1f5401a4c4",
      "tree": "9ca3be2353d3757e2926689351eff2bb09aaf6f7",
      "parents": [
        "bab4a34afc301fdb81b6ea0e3098d96fc356e03a"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:27 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:27 2009 +0100"
      },
      "message": "kmemleak: Do not trigger a scan when reading the debug/kmemleak file\n\nSince there is a kernel thread for automatically scanning the memory, it\nmakes sense for the debug/kmemleak file to only show its findings. This\npatch also adds support for \"echo scan \u003e debug/kmemleak\" to trigger an\nintermediate memory scan and eliminates the kmemleak_mutex (scan_mutex\ncovers all the cases now).\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "bab4a34afc301fdb81b6ea0e3098d96fc356e03a",
      "tree": "d9722d26dc944dbad1afd6dd182aa3a21907b96d",
      "parents": [
        "e0a2a1601bec01243bcad44414d06f59dae2eedb"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:26 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:26 2009 +0100"
      },
      "message": "kmemleak: Simplify the reports logged by the scanning thread\n\nBecause of false positives, the memory scanning thread may print too\nmuch information. This patch changes the scanning thread to only print\nthe number of newly suspected leaks. Further information can be read\nfrom the /sys/kernel/debug/kmemleak file.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "e0a2a1601bec01243bcad44414d06f59dae2eedb",
      "tree": "bb0f40e3d798c90c36a1f2befb0a0935fa78bdcc",
      "parents": [
        "a9d9058abab4ac17b79d500506e6c74bd16cecdc"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:25 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Fri Jun 26 17:38:25 2009 +0100"
      },
      "message": "kmemleak: Enable task stacks scanning by default\n\nThis is to reduce the number of false positives reported.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "a9d9058abab4ac17b79d500506e6c74bd16cecdc",
      "tree": "3b12a8f093431979b3e26e04f115b4ce942ce363",
      "parents": [
        "28d0325ce6e0a52f53d8af687e6427fee59004d3"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 25 10:16:11 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 25 10:16:13 2009 +0100"
      },
      "message": "kmemleak: Allow the early log buffer to be configurable.\n\n(feature suggested by Sergey Senozhatsky)\n\nKmemleak needs to track all the memory allocations but some of these\nhappen before kmemleak is initialised. These are stored in an internal\nbuffer which may be exceeded in some kernel configurations. This patch\nadds a configuration option with a default value of 400 and also removes\nthe stack dump when the early log buffer is exceeded.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Sergey Senozhatsky \u003csergey.senozhatsky@mail.by\u003e\n"
    },
    {
      "commit": "ae281064be164342554b34f4ca5c4af33dce3de1",
      "tree": "d607e7cf60b0cecbc0a0da25a80367a3c0607a16",
      "parents": [
        "d888a4c76c51092993643f8992bf55b3c28da483"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Tue Jun 23 14:40:26 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Tue Jun 23 14:40:26 2009 +0100"
      },
      "message": "kmemleak: use pr_fmt\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "2030117d2761c4c955e1a0683fa96ab62e4b197b",
      "tree": "9d0d9e8d6c60eb71df8cdb72058a653671074845",
      "parents": [
        "000814f44e56122ea22e1f1422e16df36a1bb396"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jun 17 18:29:04 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jun 17 18:29:04 2009 +0100"
      },
      "message": "kmemleak: Fix some typos in comments\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\n"
    },
    {
      "commit": "000814f44e56122ea22e1f1422e16df36a1bb396",
      "tree": "97a5a5cbf81045eadb7d0f03a700999d17f4af97",
      "parents": [
        "216c04b0d848fa3db04fc240d9cdc1d2cc1e9574"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jun 17 18:29:03 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jun 17 18:29:03 2009 +0100"
      },
      "message": "kmemleak: Rename kmemleak_panic to kmemleak_stop\n\nThis is to avoid the confusion created by the \"panic\" word.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "216c04b0d848fa3db04fc240d9cdc1d2cc1e9574",
      "tree": "9c560c0f70ee43accca93a47ce64313d67e73b2a",
      "parents": [
        "65795efbd380a832ae508b04dba8f8e53f0b84d9"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jun 17 18:29:02 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Wed Jun 17 18:29:02 2009 +0100"
      },
      "message": "kmemleak: Only use GFP_KERNEL|GFP_ATOMIC for the internal allocations\n\nKmemleak allocates memory for pointer tracking and it tries to avoid\nusing GFP_ATOMIC if the caller doesn\u0027t require it. However other gfp\nflags may be passed by the caller which aren\u0027t required by kmemleak.\nThis patch filters the gfp flags so that only GFP_KERNEL | GFP_ATOMIC\nare used.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "3c7b4e6b8be4c16f1e6e5c558e33b7ff0db2dfaf",
      "tree": "3722fc5220bf8d611def5618758b05160ff05312",
      "parents": [
        "991ec02cdca33b03a132a0cacfe6f0aa0be9aa8d"
      ],
      "author": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 13:22:39 2009 +0100"
      },
      "committer": {
        "name": "Catalin Marinas",
        "email": "catalin.marinas@arm.com",
        "time": "Thu Jun 11 17:03:28 2009 +0100"
      },
      "message": "kmemleak: Add the base support\n\nThis patch adds the base support for the kernel memory leak\ndetector. It traces the memory allocation/freeing in a way similar to\nthe Boehm\u0027s conservative garbage collector, the difference being that\nthe unreferenced objects are not freed but only shown in\n/sys/kernel/debug/kmemleak. Enabling this feature introduces an\noverhead to memory allocations.\n\nSigned-off-by: Catalin Marinas \u003ccatalin.marinas@arm.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    }
  ]
}
