)]}'
{
  "log": [
    {
      "commit": "a70ea994a0d83fd0151a070be72b87d014ef0a7e",
      "tree": "40e3bf28a3fa36f20b4625c241ca14abb0c1a00d",
      "parents": [
        "ad91e6fa0d331e419e4692d146cdc04e594a5bea"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Thu Feb 09 16:40:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Feb 09 16:43:38 2006 -0800"
      },
      "message": "[NETLINK]: Fix a severe bug\n\nnetlink overrun was broken while improvement of netlink.\nDestination socket is used in the place where it was meant to be source socket,\nso that now overrun is never sent to user netlink sockets, when it should be,\nand it even can be set on kernel socket, which results in complete deadlock\nof rtnetlink.\n\nSuggested fix is to restore status quo passing source socket as additional\nargument to netlink_attachskb().\n\nA little explanation: overrun is set on a socket, when it failed\nto receive some message and sender of this messages does not or even\nhave no way to handle this error. This happens in two cases:\n1. when kernel sends something. Kernel never retransmits and cannot\n   wait for buffer space.\n2. when user sends a broadcast and the message was not delivered\n   to some recipients.\n\nSigned-off-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfa83a9e03cf8d501c6272999843470afecb32ed",
      "tree": "1584441824b67bee52906a1345d8277e6965fe1b",
      "parents": [
        "9fb9cbb1082d6b31fb45aa1a14432449a0df6cf1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 10 02:25:51 2005 +0100"
      },
      "committer": {
        "name": "Thomas Graf",
        "email": "tgr@axs.localdomain",
        "time": "Thu Nov 10 02:26:40 2005 +0100"
      },
      "message": "[NETLINK]: Type-safe netlink messages/attributes interface\n\nIntroduces a new type-safe interface for netlink message and\nattributes handling. The interface is fully binary compatible\nwith the old interface towards userspace. Besides type safety,\nthis interface features attribute validation capabilities,\nsimplified message contstruction, and documentation.\n\nThe resulting netlink code should be smaller, less error prone\nand easier to understand.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "20ae975dfd54de581287b2ca8a1ad97099ab0396",
      "tree": "0fd1f38658eab884ffbe8638effc822b8cfaf0c5",
      "parents": [
        "3c05d92ed49f644d1f5a960fa48637d63b946016"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 14 20:52:37 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Sep 14 20:52:37 2005 -0700"
      },
      "message": "[NETLINK]: Reserve a slot for NETLINK_GENERIC.\n\nAs requested by Jamal.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7672d0b54411371e0b6a831c1cb2f0ce615de6dc",
      "tree": "27d88da3263041b91d18346b3bcd27807d332f1a",
      "parents": [
        "357d596bd552ad157a906289ab13ea6ba7e66e3d"
      ],
      "author": {
        "name": "Evgeniy Polyakov",
        "email": "johnpol@2ka.mipt.ru",
        "time": "Sun Sep 11 19:15:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 11 19:15:07 2005 -0700"
      },
      "message": "[NET]: Add netlink connector.\n\nKernel connector - new userspace \u003c-\u003e kernel space easy to use\ncommunication module which implements easy to use bidirectional\nmessage bus using netlink as it\u0027s backend.  Connector was created to\neliminate complex skb handling both in send and receive message bus\ndirection.\n\nConnector driver adds possibility to connect various agents using as\none of it\u0027s backends netlink based network.  One must register\ncallback and identifier. When driver receives special netlink message\nwith appropriate identifier, appropriate callback will be called.\n\nFrom the userspace point of view it\u0027s quite straightforward:\n\n\tsocket();\n\tbind();\n\tsend();\n\trecv();\n\nBut if kernelspace want to use full power of such connections, driver\nwriter must create special sockets, must know about struct sk_buff\nhandling...  Connector allows any kernelspace agents to use netlink\nbased networking for inter-process communication in a significantly\neasier way:\n\nint cn_add_callback(struct cb_id *id, char *name, void (*callback) (void *));\nvoid cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);\n\nstruct cb_id\n{\n\t__u32\t\t\tidx;\n\t__u32\t\t\tval;\n};\n\nidx and val are unique identifiers which must be registered in\nconnector.h for in-kernel usage.  void (*callback) (void *) - is a\ncallback function which will be called when message with above idx.val\nwill be received by connector core.\n\nUsing connector completely hides low-level transport layer from it\u0027s\nusers.\n\nConnector uses new netlink ability to have many groups in one socket.\n\n[ Incorporating many cleanups and fixes by myself and\n  Andrew Morton -DaveM ]\n\nSigned-off-by: Evgeniy Polyakov \u003cjohnpol@2ka.mipt.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ed8a48582c08432e84e5610564c1d25fe00dd7f",
      "tree": "3508cea2d856ec8405059815bd9eba4a67c8a5cd",
      "parents": [
        "20380731bc2897f2952ae055420972ded4cd786e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 16 19:02:15 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:35 2005 -0700"
      },
      "message": "[NETLINK]: Fix sparse warnings\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "066286071d3542243baa68166acb779187c848b3",
      "tree": "ef6604f16ceb13842a30311654e6a64aac716c48",
      "parents": [
        "9a4595bc7e67962f13232ee55a64e063062c3a99"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 15 12:33:26 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:11 2005 -0700"
      },
      "message": "[NETLINK]: Add \"groups\" argument to netlink_kernel_create\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a4595bc7e67962f13232ee55a64e063062c3a99",
      "tree": "9691d77701cad7e0d4fb62390acf525f3adb9d60",
      "parents": [
        "f7fa9b10edbb9391bdd4ec8e8b3d621d0664b198"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Aug 15 12:32:15 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:07 2005 -0700"
      },
      "message": "[NETLINK]: Add set/getsockopt options to support more than 32 groups\n\nNETLINK_ADD_MEMBERSHIP/NETLINK_DROP_MEMBERSHIP are used to join/leave\ngroups, NETLINK_PKTINFO is used to enable nl_pktinfo control messages\nfor received packets to get the extended destination group number.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d629b836d151d43332492651dd841d32e57ebe3b",
      "tree": "0276547438963b51b8d92df201e91d867c7fa9c0",
      "parents": [
        "77247bbb3094246be9d057e7be442cc708f123a8"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 19:27:50 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:00:49 2005 -0700"
      },
      "message": "[NETLINK]: Use group numbers instead of bitmasks internally\n\nUsing the group number allows increasing the number of groups without\nbeeing limited by the size of the bitmask. It introduces one limitation\nfor netlink users: messages can\u0027t be broadcasted to multiple groups anymore,\nhowever this feature was never used inside the kernel.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db080529798b497eb5a37b92a25e966be5a7dd5d",
      "tree": "8986bf4196a343bdf181bc9f667bdd131c05186d",
      "parents": [
        "43e943c32b9213b5d25407b281c94aaa474fd9a6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 19:26:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:00:39 2005 -0700"
      },
      "message": "[NETLINK]: Remove unused groups member from struct netlink_skb_parms\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73c1f4a033675f168df7e98bbeeafca3c644b8a6",
      "tree": "041e0c203be710b39c8b3a1c18d23e7a50e321a6",
      "parents": [
        "4f5736c4c7cf6f9bd8db82b712cfdd51c87e06b9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Aug 12 12:51:49 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:57:44 2005 -0700"
      },
      "message": "[TCPDIAG]: Just rename everything to inet_diag\n\nNext changeset will rename tcp_diag.[ch] to inet_diag.[ch].\n\nI\u0027m taking this longer route so as to easy review, making clear the changes\nmade all along the way.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fdb3bb723db469717c6d38fda667d8b0fa86ebd",
      "tree": "43d82e717922e6319cf8a8f9dc5ee902c651b491",
      "parents": [
        "020b4c12dbe3868d792a01d7c1470cd837abe10f"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:40:55 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:35:08 2005 -0700"
      },
      "message": "[NETLINK]: Add properly module refcounting for kernel netlink sockets.\n\n- Remove bogus code for compiling netlink as module\n- Add module refcounting support for modules implementing a netlink\n  protocol\n- Add support for autoloading modules that implement a netlink protocol\n  as soon as someone opens a socket for that protocol\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d479e40e1748a877a24015fc6727b27b77110cd",
      "tree": "6b6983091e6c7ef6f648282c57ed7a725a2db72d",
      "parents": [
        "7d3f4c97723c4ec4e5d85e6e70084b02e6be8788"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 08 13:48:02 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 08 13:48:02 2005 -0700"
      },
      "message": "[NETLINK]: Allocate and kill some netlink numbers.\n\nNETLINK_ARPD is unused, allocate it to the Open-iSCSI folks.\n\nNETLINK_ROUTE6 and NETLINK_TAPBASE are no longer used, delete\nthem.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48647feed9f7a2d839c6ada12147b341833646e8",
      "tree": "a98aa36be19ce7706cef71418f143d30af28b899",
      "parents": [
        "227510c7f175c44b12cdff6eab316e53dbf71f92"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:30:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 24 19:30:28 2005 -0700"
      },
      "message": "[W1]: Do not use NFLOG netlink number.\n\nUse the reserved by never used NETLINK_SKIP value instead.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "63522f7fdb624adef20cb9d90c7effcd5b6301b2",
      "tree": "12a63b8ce77baffc08f577be913bea02132f9812",
      "parents": [
        "200d481f28be4522464bb849dd0eb5f8cb6be781"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 14:29:11 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 11 14:29:11 2005 -0700"
      },
      "message": "[NETLINK]: Reserve NETLINK_NETFILTER.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b3563c4fbff906991a1b4ef4609f99cca2a0de6a",
      "tree": "e5c0e4cb4a0a48ebeeb8b1515128c115c5aa528c",
      "parents": [
        "4095ebf1e641b0f37ee1cd04c903bb85cf4ed25b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 28 12:54:43 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 28 12:54:43 2005 -0700"
      },
      "message": "[NETLINK]: Clear padding in netlink messages\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b504e25fd617bee8830d2cdcaff7fb7b5931bb",
      "tree": "6e7daab06749832d0e40ffae6572abc297d02d11",
      "parents": [
        "1d345dac1f30af1cd9f3a1faa12f9f18f17f236e"
      ],
      "author": {
        "name": "Alexey Kuznetsov",
        "email": "kuznet@ms2.inr.ac.ru",
        "time": "Tue Jun 21 12:38:48 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 12:38:48 2005 -0700"
      },
      "message": "[NETLINK]: netlink_callback structure needs 5 args not 4\n\nnet/ipv4/tcp_diag.c uses up to -\u003eargs[4]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "246955fe4c38bd706ae30e37c64892c94213775d",
      "tree": "23583698ce7c58e1643414245690afca33618540",
      "parents": [
        "f6e276ee67c0ac9efafd24bc6f7a84aa359656df"
      ],
      "author": {
        "name": "Robert Olsson",
        "email": "Robert.Olsson@data.slu.se",
        "time": "Mon Jun 20 13:36:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 13:36:39 2005 -0700"
      },
      "message": "[NETLINK]: fib_lookup() via netlink\n\nBelow is a more generic patch to do fib_lookup via netlink. For others \nwe should say that we discussed this as a way to verify route selection.\nIt\u0027s also possible there are others uses for this.\n\nIn short the fist half of struct fib_result_nl is filled in by caller \nand netlink call fills in the other half and returns it.\n\nIn case anyone is interested there is a corresponding user app to compare \nthe full routing table this was used to test implementation of the LC-trie. \n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1797754ea7ee5e0d859b0a32506ff999f8d5fb71",
      "tree": "a35d05f9106d903412a6fff714be38427fc4d0fa",
      "parents": [
        "af0d114176720c2100dfa624ab433796d333d730"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Jun 18 22:53:48 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:53:48 2005 -0700"
      },
      "message": "[NETLINK]: Introduce NLMSG_NEW macro to better handle netlink flags\n\nIntroduces a new macro NLMSG_NEW which extends NLMSG_PUT but takes\na flags argument. NLMSG_PUT stays there for compatibility but now\ncalls NLMSG_NEW with flags \u003d\u003d 0. NLMSG_PUT_ANSWER is renamed to\nNLMSG_NEW_ANSWER which now also takes a flags argument.\n\nAlso converts the users of NLMSG_PUT_ANSWER to use NLMSG_NEW_ANSWER\nand fixes the two direct users of __nlmsg_put to either provide\nthe flags or use NLMSG_NEW(_ANSWER).\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f88a10d65620d97b6d0a7e352a3493c1b7e7409b",
      "tree": "8d38311e479d5deb11cfab2c052c83c8b1321132",
      "parents": [
        "e52c1f17e4ea8e61bd26eb25f1a184202693c2b9"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Jun 18 22:50:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 18 22:50:12 2005 -0700"
      },
      "message": "[NETLINK]: New message building macros\n\n NLMSG_PUT_ANSWER(skb, nlcb, type, length)\n   Start a new netlink message as answer to a request,\n   returns the message header.\n\n NLMSG_END(skb, nlh)\n   End a netlink message, fixes total message length,\n   returns skb-\u003elen.\n\n NLMSG_CANCEL(skb, nlh)\n   Cancel the building process and trim whole message\n   from skb again, returns -1.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c94c257c88c517f251da273a15c654224c7b6e21",
      "tree": "992dd50f6bb13a70b04450cdfe0dbfb3c7b17ef5",
      "parents": [
        "85c8721ff3bc96b702427a440616079e8daf8a2f"
      ],
      "author": {
        "name": "Serge Hallyn",
        "email": "serue@us.ibm.com",
        "time": "Fri Apr 29 16:27:17 2005 +0100"
      },
      "committer": {
        "name": "",
        "email": "dwmw2@shinybook.infradead.org",
        "time": "Fri Apr 29 16:27:17 2005 +0100"
      },
      "message": "Add audit uid to netlink credentials\n\nMost audit control messages are sent over netlink.In order to properly\nlog the identity of the sender of audit control messages, we would like\nto add the loginuid to the netlink_creds structure, as per the attached\npatch.\n\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.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"
    }
  ]
}
