)]}'
{
  "log": [
    {
      "commit": "6ffc787a4492ac627315aaeafdfdc0a5c3028582",
      "tree": "bb557076ead94695cd148c4b7b065d44e77e62a3",
      "parents": [
        "82f560874e88bd1fd8c98a6254d65a1dffab3876"
      ],
      "author": {
        "name": "David Fries",
        "email": "david@fries.net",
        "time": "Wed Feb 06 01:38:04 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:10 2008 -0800"
      },
      "message": "system timer: fix crash in \u003c100Hz system timer\n\nThe kernel has a divide by zero crash when trying to run the system timer\nless than 100Hz.  The problem is x/(HZ/USER_HZ) and related.  Now\nx*(USER_HZ/HZ) will be used if HZ\u003cUSER_HZ.\n\nI\u0027m running the Linux kernel under qemu and went to run a slower system\ntimer to take less CPU (and battery) on the host.  I found that the kernel\npaniced under emulation because of a divide by zero in three places.  Here\nis the patch.  The base git was updated today 01-05-2008.  I went for a\n20Hz system time by adding config HZ_20 etc to kernel/Kconfig.hz.  With\nthis patch I verified the system timer by looking at /proc/interrupts.\n\n[akpm@linux-foundation.org: partially clean up the macro maze]\nSigned-off-by: David Fries \u003cdavid@fries.net\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f6a570333e554b48ad589e7137c77c57809eee81",
      "tree": "68dd6d5c8fe537a19a84a4189202f5cf70925c17",
      "parents": [
        "2b5f6dcce5bf94b9b119e9ed8d537098ec61c3d2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Oct 18 01:47:25 2006 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:22 2006 -0500"
      },
      "message": "[PATCH] severing module.h-\u003esched.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8f0ab5147951267134612570604cf8341901a80c",
      "tree": "d394edb3ab69396128e7971136f05fd71d863ece",
      "parents": [
        "9acc1853519a0473620d424105f9d49ea5b4e62e"
      ],
      "author": {
        "name": "Jay Lan",
        "email": "jlan@engr.sgi.com",
        "time": "Sat Sep 30 23:28:59 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 01 00:39:29 2006 -0700"
      },
      "message": "[PATCH] csa: convert CONFIG tag for extended accounting routines\n\nThere were a few accounting data/macros that are used in CSA but are #ifdef\u0027ed\ninside CONFIG_BSD_PROCESS_ACCT.  This patch is to change those ifdef\u0027s from\nCONFIG_BSD_PROCESS_ACCT to CONFIG_TASK_XACCT.  A few defines are moved from\nkernel/acct.c and include/linux/acct.h to kernel/tsacct.c and\ninclude/linux/tsacct_kern.h.\n\nSigned-off-by: Jay Lan \u003cjlan@sgi.com\u003e\nCc: Shailabh Nagar \u003cnagar@watson.ibm.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Jes Sorensen \u003cjes@sgi.com\u003e\nCc: Chris Sturtivant \u003ccsturtiv@sgi.com\u003e\nCc: Tony Ernst \u003ctee@sgi.com\u003e\nCc: Guillaume Thouvenin \u003cguillaume.thouvenin@bull.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f6ec29a42d7ac3b309a9cef179b686d23986ab98",
      "tree": "5150d4f403833ac18b468bd0e0e0a9a7cdd9f4be",
      "parents": [
        "0e4648141af02331f21aabcd34940c70f09a2d04"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sun Jun 25 05:49:25 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:25 2006 -0700"
      },
      "message": "[PATCH] pacct: avoidance to refer the last thread as a representation of the process\n\nWhen pacct facility generate an \u0027ac_flag\u0027 field in accounting record, it\nrefers a task_struct of the thread which died last in the process.  But any\nother task_structs are ignored.\n\nTherefore, pacct facility drops ASU flag even if root-privilege operations are\nused by any other threads except the last one.  In addition, AFORK flag is\nalways set when the thread of group-leader didn\u0027t die last, although this\nprocess has called execve() after fork().\n\nWe have a same matter in ac_exitcode.  The recorded ac_exitcode is an exit\ncode of the last thread in the process.  There is a possibility this exitcode\nis not the group leader\u0027s one.\n"
    },
    {
      "commit": "0e4648141af02331f21aabcd34940c70f09a2d04",
      "tree": "3e4dea992a8e3f3194be04a0fd3e14c24a313ee7",
      "parents": [
        "6bc392741d661eb84be503d1fdf14b6746615e4c"
      ],
      "author": {
        "name": "KaiGai Kohei",
        "email": "kaigai@ak.jp.nec.com",
        "time": "Sun Jun 25 05:49:24 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:25 2006 -0700"
      },
      "message": "[PATCH] pacct: add pacct_struct to fix some pacct bugs.\n\nThe pacct facility need an i/o operation when an accounting record is\ngenerated.  There is a possibility to wake OOM killer up.  If OOM killer is\nactivated, it kills some processes to make them release process memory\nregions.\n\nBut acct_process() is called in the killed processes context before calling\nexit_mm(), so those processes cannot release own memory.  In the results, any\nprocesses stop in this point and it finally cause a system stall.\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "a1ff0eafce81a58861534926722a70f211b04faa",
      "tree": "b805851abebd142b8cef766f593bd45c8482af62",
      "parents": [
        "dd02ec3ac25828d0918f5b389defe2238d015fe6"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 25 13:57:44 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Tue Apr 25 13:57:44 2006 +0100"
      },
      "message": "Include \u003clinux/jiffies.h\u003e from linux/acct.h only in kernel-private part.\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "ff6ed4063da39e6a30ce904005e4ed17385e2739",
      "tree": "92b9f86e02708f2c5ba3c7f5507a4a404d966f63",
      "parents": [
        "ec63f22dc31de19b273b7aca66e73ae85cc2418e"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Sun Nov 13 16:07:38 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Nov 13 18:14:17 2005 -0800"
      },
      "message": "[PATCH] acct.h needs jiffies.h\n\nallnoconfig:\n\nIn file included from fs/super.c:28:\ninclude/linux/acct.h:173: warning: `TICK_NSEC\u0027 is not defined\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7b7b1ace2d9d06d76bce7481a045c22ed75e35dd",
      "tree": "458f9f16b855ed0347013048c13d3a29031f00ee",
      "parents": [
        "254ce8dc882f8d69e5d49ed4807c94a61976fb15"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Nov 07 17:13:39 2005 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Nov 07 18:18:09 2005 -0800"
      },
      "message": "[PATCH] saner handling of auto_acct_off() and DQUOT_OFF() in umount\n\nThe way we currently deal with quota and process accounting that might\nkeep vfsmount busy at umount time is inherently broken; we try to turn\nthem off just in case (not quite correctly, at that) and\n\n  a) pray umount doesn\u0027t fail (otherwise they\u0027ll stay turned off)\n  b) pray nobody doesn anything funny just as we turn quota off\n\nMoreover, LSM provides hooks for doing the same sort of broken logics.\n\nThe proper way to deal with that is to introduce the second kind of\nreference to vfsmount.  Semantics:\n\n - when the last normal reference is dropped, all special ones are\n   converted to normal ones and if there had been any, cleanup is done.\n - normal reference can be cloned into a special one\n - special reference can be converted to normal one; that\u0027s a no-op if\n   we\u0027d already passed the point of no return (i.e.  mntput() had\n   converted special references to normal and started cleanup).\n\nThe way it works: e.g. starting process accounting converts the vfsmount\nreference pinned by the opened file into special one and turns it back\nto normal when it gets shut down; acct_auto_close() is done when no\nnormal references are left.  That way it does *not* obstruct umount(2)\nand it silently gets turned off when the last normal reference to\nvfsmount is gone.  Which is exactly what we want...\n\nThe same should be done by LSM module that holds some internal\nreferences to vfsmount and wants to shut them down on umount - it should\nmake them special and security_sb_umount_close() will be called exactly\nwhen the last normal reference to vfsmount is gone.\n\nquota handling is even simpler - we don\u0027t use normal file IO anymore, so\nthere\u0027s no need to hold vfsmounts at all.  DQUOT_OFF() is done from\ndeactivate_super(), where it really belongs.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e26148d934762b61133a64b6862f870624ff617d",
      "tree": "1387c6dfb62cf20447e08f26ceb757bb28d4d0c0",
      "parents": [
        "f1ac046d7b297186f755fb213589b539426e1406"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Fri Oct 14 15:59:05 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Oct 14 17:10:12 2005 -0700"
      },
      "message": "[PATCH] Fix copy-and-paste error in BSD accounting\n\nFix copy and paste error in jiffies_to_AHZ conversion which leads to wrong\nBSD accounting information on alpha and ia64 when\nCONFIG_BSD_PROCESS_ACCT_V3 is turned on.\n\nAlso update comment to match reorganised header files.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
