)]}'
{
  "log": [
    {
      "commit": "0293a509405dccecc30783a5d729d615b68d6a77",
      "tree": "69856eefdaba010e35dd7fbe2e5bb152a110d186",
      "parents": [
        "0956af53afea290c5676c75249fc2c180d831375"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 18:59:59 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:19 2005 -0700"
      },
      "message": "[PATCH] Don\u0027t reference NULL klist pointer in klist_remove().\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/lib/klist.c b/lib/klist.c\n"
    },
    {
      "commit": "8b0c250be489dcbf1a3a33bb4ec4c7f33735a365",
      "tree": "17935d1064101df10ad7bb2f7ed94e6a88af295c",
      "parents": [
        "2287c322b61fced7e0c326a1a9606aa73147e3df"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Thu Mar 24 12:58:57 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:17 2005 -0700"
      },
      "message": "[PATCH] add klist_node_attached() to determine if a node is on a list or not.\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/include/linux/klist.h b/include/linux/klist.h\n"
    },
    {
      "commit": "9a19fea43616066561e221359596ce532e631395",
      "tree": "f776bee1bcb1051bf75323b65fa887347412409e",
      "parents": [
        "6034a080f98b0bbc0a058e2ac65a538f75cffeee"
      ],
      "author": {
        "name": "mochel@digitalimplant.org",
        "email": "mochel@digitalimplant.org",
        "time": "Mon Mar 21 11:45:16 2005 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:14 2005 -0700"
      },
      "message": "[PATCH] Add initial implementation of klist helpers.\n\nThis klist interface provides a couple of structures that wrap around\nstruct list_head to provide explicit list \"head\" (struct klist) and\nlist \"node\" (struct klist_node) objects. For struct klist, a spinlock\nis included that protects access to the actual list itself. struct\nklist_node provides a pointer to the klist that owns it and a kref\nreference count that indicates the number of current users of that node\nin the list.\n\nThe entire point is to provide an interface for iterating over a list\nthat is safe and allows for modification of the list during the\niteration (e.g. insertion and removal), including modification of the\ncurrent node on the list.\n\nIt works using a 3rd object type - struct klist_iter - that is declared\nand initialized before an iteration. klist_next() is used to acquire the\nnext element in the list. It returns NULL if there are no more items.\nThis klist interface provides a couple of structures that wrap around\nstruct list_head to provide explicit list \"head\" (struct klist) and\nlist \"node\" (struct klist_node) objects. For struct klist, a spinlock\nis included that protects access to the actual list itself. struct\nklist_node provides a pointer to the klist that owns it and a kref\nreference count that indicates the number of current users of that node\nin the list.\n\nThe entire point is to provide an interface for iterating over a list\nthat is safe and allows for modification of the list during the\niteration (e.g. insertion and removal), including modification of the\ncurrent node on the list.\n\nIt works using a 3rd object type - struct klist_iter - that is declared\nand initialized before an iteration. klist_next() is used to acquire the\nnext element in the list. It returns NULL if there are no more items.\nInternally, that routine takes the klist\u0027s lock, decrements the reference\ncount of the previous klist_node and increments the count of the next\nklist_node. It then drops the lock and returns.\n\nThere are primitives for adding and removing nodes to/from a klist.\nWhen deleting, klist_del() will simply decrement the reference count.\nOnly when the count goes to 0 is the node removed from the list.\nklist_remove() will try to delete the node from the list and block\nuntil it is actually removed. This is useful for objects (like devices)\nthat have been removed from the system and must be freed (but must wait\nuntil all accessors have finished).\n\nInternally, that routine takes the klist\u0027s lock, decrements the reference\ncount of the previous klist_node and increments the count of the next\nklist_node. It then drops the lock and returns.\n\nThere are primitives for adding and removing nodes to/from a klist.\nWhen deleting, klist_del() will simply decrement the reference count.\nOnly when the count goes to 0 is the node removed from the list.\nklist_remove() will try to delete the node from the list and block\nuntil it is actually removed. This is useful for objects (like devices)\nthat have been removed from the system and must be freed (but must wait\nuntil all accessors have finished).\n\nSigned-off-by: Patrick Mochel \u003cmochel@digitalimplant.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\ndiff -Nru a/include/linux/klist.h b/include/linux/klist.h\n"
    },
    {
      "commit": "f3b4f3c6dec04c6c8261fe22645f07b39976595a",
      "tree": "9c4ad15f5d5fc7d3a8006396b185bb615386a61c",
      "parents": [
        "e3a15db2415579d5136b9ba9b52fe27c66da8780"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Tue Apr 26 02:32:00 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:00 2005 -0700"
      },
      "message": "[PATCH] Make kobject\u0027s name be const char *\n\nkobject: make kobject\u0027s name const char * since users should not\n\t attempt to change it (except by calling kobject_rename).\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "eb11d8ffceead1eb3d84366f1687daf2217e883e",
      "tree": "aedf84638f2bb8cc2d6f90120199191b917efa35",
      "parents": [
        "8b22c249e7de453961e4d253b19fc2a0bdd65d53"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dtor_core@ameritech.net",
        "time": "Tue Apr 26 02:29:58 2005 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 20 15:15:00 2005 -0700"
      },
      "message": "[PATCH] kobject_hotplug() should use kobject_name()\n\nkobject: kobject_hotplug should use kobject_name() instead of\n         accessing kobj-\u003ename directly since for objects with\n         long names it can contain garbage.\n\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "37fce857bec00d26d0e8251c909da2bd8736c949",
      "tree": "f6b58ff263e3a76e2c2ce5beceb9cbedae4ebf3b",
      "parents": [
        "567b56508f7367e161d6d861ef214a900ab45ce9"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Sat May 28 15:51:59 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat May 28 16:46:13 2005 -0700"
      },
      "message": "[PATCH] uml: split CONFIG_FRAME_POINTER from DEBUG_INFO\n\nUntil now, FRAME_POINTER was set \u003d DEBUG_INFO for UML.  Change it to be the\ndefault way, so that it can be enabled alone (for instance to get better\nbacktraces on crashes).  The call-trace dumper which uses the frame pointer is\nnot yet in, I\u0027m going to introduce it in a separate patch.\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "252795264df50a6c9eee604d29989854d5558139",
      "tree": "72ee9019ea2917fcc0feab1ded60d2dc72a7051f",
      "parents": [
        "ebe8b54134314cc31331f6e26f42276cd947d1df"
      ],
      "author": {
        "name": "walter harms",
        "email": "wharms@bfs.de",
        "time": "Thu May 05 16:16:20 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:50 2005 -0700"
      },
      "message": "[PATCH] documentation for strncpy()\n\nthis clarifies the documentation on the behavier of strncpy().\n\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d28c2bc8d192f606a4eb831978722107b20a9405",
      "tree": "b47a5cda32a70fdf62f4a4a40d6805a48ddcc0a3",
      "parents": [
        "cad359c68455d6870d053184bbb0ae208e207eef"
      ],
      "author": {
        "name": "Domen Puncer",
        "email": "domen@coderock.org",
        "time": "Thu May 05 16:16:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:50 2005 -0700"
      },
      "message": "[PATCH] fix lib/sort regression test\n\nThe regression test in lib/sort.c is currently worthless because the array\nthat is generated for sorting will be all zeros.  This patch fixes things\nso that the array that is generated will contain unsorted integers (that\nare not all identical) as was probably intended.\n\nSigned-off-by Daniel Dickman \u003cdidickman@yahoo.com\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0c28130b5c9e8f0b153436d3dae39482e5a70af1",
      "tree": "df2c3f91108cc897cd799196b6044ebb617a8f0a",
      "parents": [
        "23352fc252495fdc072b3bd29f57c4c6b7a6bd83"
      ],
      "author": {
        "name": "Paolo \u0027Blaisorblade\u0027 Giarrusso",
        "email": "blaisorblade@yahoo.it",
        "time": "Thu May 05 16:15:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu May 05 16:36:33 2005 -0700"
      },
      "message": "[PATCH] x86_64: make string func definition work as intended\n\nIn include/asm-x86_64/string.h there are such comments:\n\n/* Use C out of line version for memcmp */\n#define memcmp __builtin_memcmp\nint memcmp(const void * cs,const void * ct,size_t count);\n\nThis would mean that if the compiler does not decide to use __builtin_memcmp,\nit emits a call to memcmp to be satisfied by the C out-of-line version in\nlib/string.c.  What happens is that after preprocessing, in lib/string.i you\nmay find the definition of \"__builtin_strcmp\".\n\nActually, by accident, in the object you will find the definition of strcmp\nand such (maybe a trick intended to redirect calls to __builtin_memcmp to the\ndefault memcmp when the definition is not expanded); however, this particular\ncase is not a documented feature as far as I can see.\n\nAlso, the EXPORT_SYMBOL does not work, so it\u0027s duplicated in the arch.\n\nI simply added some #undef to lib/string.c and removed the (now duplicated)\nexports in x86-64 and UML/x86_64 subarchs (the second ones are introduced by\nanother patch I just posted for -mm).\n\nSigned-off-by: Paolo \u0027Blaisorblade\u0027 Giarrusso \u003cblaisorblade@yahoo.it\u003e\nCC: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "67be2dd1bace0ec7ce2dbc1bba3f8df3d7be597e",
      "tree": "317d114a0288d3b19ef9902f94b536a5a8731dbd",
      "parents": [
        "6013d5445f9a6d0b28090027868f455c5012d1cc"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "message": "[PATCH] DocBook: fix some descriptions\n\nSome KernelDoc descriptions are updated to match the current code.\nNo code changes.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "c8538a7aa5527d02c7191ac5da124efadf6a2827",
      "tree": "6a2fae8be308d38ed1abe1d5c7539db29238ae61",
      "parents": [
        "e43379f10b42194b8a6e1de342cfb44463c0f6da"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:01 2005 -0700"
      },
      "message": "[PATCH] remove all kernel BUGs\n\nThis patch eliminates all kernel BUGs, trims about 35k off the typical\nkernel, and makes the system slightly faster.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d59dd4620fb8d6422555a9e2b82a707718e68327",
      "tree": "78205657d24efcaa3f8314064951ac3814ed95a7",
      "parents": [
        "0d8d4d42f2d00eb65262b49f4edd4cf7ef4eb6fc"
      ],
      "author": {
        "name": "akpm@osdl.org",
        "email": "akpm@osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:58:47 2005 -0700"
      },
      "message": "[PATCH] use smp_mb/wmb/rmb where possible\n\nReplace a number of memory barriers with smp_ variants.  This means we won\u0027t\ntake the unnecessary hit on UP machines.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "18c3d5271b472c096adfc856e107c79f6fd30d7d",
      "tree": "1650bafc1dea2402bbb9902ed2d236ab4d4cb50c",
      "parents": [
        "7b558637b0efc6ab3f3ca08f0b9cc0191665e9db"
      ],
      "author": {
        "name": "kay.sievers@vrfy.org",
        "email": "kay.sievers@vrfy.org",
        "time": "Mon Apr 18 21:57:34 2005 -0700"
      },
      "committer": {
        "name": "Greg KH",
        "email": "greg@press.kroah.org",
        "time": "Mon Apr 18 21:57:34 2005 -0700"
      },
      "message": "[PATCH] kobject/hotplug split - kobject add/remove\n\nkobject_add() and kobject_del() don\u0027t emit hotplug events anymore.\nThe user should do it itself if it has finished populating the device\ndirectory.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "dae409a27788774adb810f7cdb771ba7cce7af8a",
      "tree": "7fbbbe81527c5f321f374f958a82dfa30e170850",
      "parents": [
        "c41f5eb3b8feb8772561f0e34cfee4de1fa433ec"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@SteelEye.com",
        "time": "Sat Apr 16 15:25:54 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:25:54 2005 -0700"
      },
      "message": "[PATCH] add Big Endian variants of ioread/iowrite\n\nIn the new io infrastructure, all of our operators are expecting the\nunderlying device to be little endian (because the PCI bus, their main\nconsumer, is LE).\n\nHowever, there are a fair few devices and busses in the world that are\nactually Big Endian.  There\u0027s even evidence that some of these BE bus and\nchip types are attached to LE systems.  Thus, there\u0027s a need for a BE\nequivalent of our io{read,write}{16,32} operations.\n\nThe attached patch adds this as io{read,write}{16,32}be.  When it\u0027s in,\nI\u0027ll add the first consume (the 53c700 SCSI chip driver).\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\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"
    }
  ]
}
