)]}'
{
  "log": [
    {
      "commit": "70f23fd66bc821a0e99647f70a809e277cc93c4c",
      "tree": "3e768b77e63c6364ef32cf257c9449369afd215f",
      "parents": [
        "c719864f15676af92b705589c93ba1468b89cd24"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Tue May 10 10:16:21 2011 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue May 10 10:16:21 2011 +0200"
      },
      "message": "treewide: fix a few typos in comments\n\n- kenrel -\u003e kernel\n- whetehr -\u003e whether\n- ttt -\u003e tt\n- sss -\u003e ss\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "f703651ef870bd6b94ddc98ae07488b7d3fd9335",
      "tree": "1840dadb9102fe0cf0216daf63cb97d4e2552629",
      "parents": [
        "6a4ddef2a3805d5b0664a94579b7a651bc202266"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Tue Feb 01 15:20:14 2011 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Feb 01 15:20:14 2011 +0100"
      },
      "message": "netfilter: NFNL_SUBSYS_IPSET id and NLA_PUT_NET* macros\n\nThe patch adds the NFNL_SUBSYS_IPSET id and NLA_PUT_NET* macros to the\nvanilla kernel.\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "3654654f7aa79a37dde130afb7409c55b11807e7",
      "tree": "4e65c0d211a6cc748509b7f3b2da7c45b05d3266",
      "parents": [
        "9d82ca98f71fd686ef2f3017c5e3e6a4871b6e46"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 16 09:52:32 2010 -0800"
      },
      "message": "netlink: let nlmsg and nla functions take pointer-to-const args\n\nThe changed functions do not modify the NL messages and/or attributes\nat all. They should use const (similar to strchr), so that callers\nwhich have a const nlmsg/nlattr around can make use of them without\ncasting.\n\nWhile at it, constify a data array.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b8c92ba07287578718335ce409de8e8d7217e40",
      "tree": "2faf1c0398cd6236af4193dd78c4e27207358fc2",
      "parents": [
        "1f1b9c9990205759aae31b7734b0ede41a867f32"
      ],
      "author": {
        "name": "Nelson Elhage",
        "email": "nelhage@ksplice.com",
        "time": "Wed Nov 03 16:35:40 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 04 12:26:34 2010 -0700"
      },
      "message": "netlink: Make nlmsg_find_attr take a const nlmsghdr*.\n\nThis will let us use it on a nlmsghdr stored inside a netlink_callback.\n\nSigned-off-by: Nelson Elhage \u003cnelhage@ksplice.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1dc8d8c06d4002be4d1373fc06f25cd589be47e1",
      "tree": "c9e3a60ae07df56604f5e81a89900f6df975f102",
      "parents": [
        "17f085df92ba74a4dc88744cbc7a699c231f8728"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Mon Jun 21 13:45:42 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 23 12:58:40 2010 -0700"
      },
      "message": "net: Fix a typo in netlink.h\n\nFix a typo in include/net/netlink.h\nshould be finalize instead of finanlize\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5d410f2ea7ba340f11815a56e05b9fa9421c421",
      "tree": "8a03047550a63d94063443b8b3e8c63e472ae469",
      "parents": [
        "6830c25b7d08fbbd922959425193791bc42079f2"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Mar 16 13:30:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 19 22:47:23 2010 -0700"
      },
      "message": "netlink: fix unaligned access in nla_get_be64()\n\nThis patch fixes a unaligned access in nla_get_be64() that was\nintroduced by myself in a17c859849402315613a0015ac8fbf101acf0cc1.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b54452b07a7b1b8cc1385edba3ef2ef6d4679d5a",
      "tree": "c8a7271b14c4cd9e0dc22a5d0a3bed9e79c88e36",
      "parents": [
        "3ffe533c87281b68d469b279ff3a5056f9c75862"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Feb 18 08:14:31 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 18 14:30:18 2010 -0800"
      },
      "message": "const: struct nla_policy\n\nMake remaining netlink policies as const.\nFixup coding style where needed.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3a6c2b419b7768703cfb2cabdb894517c5065e33",
      "tree": "d8d8dc9ad34ffdd2f0f56876e9d3b6f0e6d5eceb",
      "parents": [
        "74f7a6552c8d76ffc5e11eb8d9d6c07238b9ae77"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:40 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 25 16:07:40 2009 +0200"
      },
      "message": "netlink: constify nlmsghdr arguments\n\nConsitfy nlmsghdr arguments to a couple of functions as preparation\nfor the next patch, which will constify the netlink message data in\nall nfnetlink users.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "a17c859849402315613a0015ac8fbf101acf0cc1",
      "tree": "b852a3ebd3bad0d531f1e09cf97c18b29ac96115",
      "parents": [
        "a2a804cddfe65f18f903985e8a8d04c7c9eec354"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed May 27 17:50:35 2009 +0200"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed May 27 17:50:35 2009 +0200"
      },
      "message": "netfilter: conntrack: add support for DCCP handshake sequence to ctnetlink\n\nThis patch adds CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ that exposes\nthe u64 handshake sequence number to user-space.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "e487eb99cf9381a4f8254fa01747a85818da612b",
      "tree": "2381e552d88063982bea03a16db942ebcc295fc2",
      "parents": [
        "d0dba7255b541f1651a88e75ebdb20dd45509c2f"
      ],
      "author": {
        "name": "Holger Eitzenberger",
        "email": "holger@eitzenberger.org",
        "time": "Wed Mar 25 18:26:30 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Mar 25 18:26:30 2009 +0100"
      },
      "message": "netlink: add nla_policy_len()\n\nIt calculates the max. length of a Netlink policy, which is usefull\nfor allocating Netlink buffers roughly the size of the actual\nmessage.\n\nSigned-off-by: Holger Eitzenberger \u003cholger@eitzenberger.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "619e803d3c1b7bcc17c45e81f309d0b9b3df2d5d",
      "tree": "c2c279dd155e07e96c7a2f483cce6c48c1640cd6",
      "parents": [
        "64ff3b938ec6782e6585a83d5459b98b0c3f6eb8"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Dec 25 17:21:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 25 17:21:17 2008 -0800"
      },
      "message": "netlink: fix (theoretical) overrun in message iteration\n\nSee commit 1045b03e07d85f3545118510a587035536030c1c (\"netlink: fix\noverrun in attribute iteration\") for a detailed explanation of why\nthis patch is necessary.\n\nIn short, nlmsg_next() can make \"remaining\" go negative, and the\nremaining \u003e\u003d sizeof(...) comparison will promote \"remaining\" to an\nunsigned type, which means that the expression will evaluate to\ntrue for negative numbers, even though it was not intended.\n\nI put \"theoretical\" in the title because I have no evidence that\nthis can actually happen, but I suspect that a crafted netlink\npacket can trigger some badness.\n\nNote that the last test, which seemingly has the exact same\nproblem (also true for nla_ok()), is perfectly OK, since we\nalready know that remaining is positive.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b057efd4d226fcc3a92b0dc6d8ea8e8185ecb260",
      "tree": "ac372761de7105de30245976d5268218ab4fb357",
      "parents": [
        "3891845e1ef6e6807075d4241966b26f6ecb0a5c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 28 11:59:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 11:59:11 2008 -0700"
      },
      "message": "netlink: constify struct nlattr * arg to parsing functions\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b262e60309e1b0eb25d300c7e739427d5316abb1",
      "tree": "bf319d78c79bb5cb617ff0c8340c73aa349bba15",
      "parents": [
        "93c8b90f01f0dc73891da4e84b26524b61d29d66",
        "0523820482dcb42784572ffd2296c2f08c275a2b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 06:12:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 01 06:12:56 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath9k/core.c\n\tdrivers/net/wireless/ath9k/main.c\n\tnet/core/dev.c\n"
    },
    {
      "commit": "1045b03e07d85f3545118510a587035536030c1c",
      "tree": "77576a1f1ea8184d6701a89c2e624919ce3e837a",
      "parents": [
        "69da6b87fcb270f758fe75141c32e041f8db510c"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Thu Sep 11 19:05:29 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 11 19:05:29 2008 -0700"
      },
      "message": "netlink: fix overrun in attribute iteration\n\nkmemcheck reported this:\n\n  kmemcheck: Caught 16-bit read from uninitialized memory (f6c1ba30)\n  0500110001508abf050010000500000002017300140000006f72672e66726565\n   i i i i i i i i i i i i i u u u u u u u u u u u u u u u u u u u\n                                   ^\n\n  Pid: 3462, comm: wpa_supplicant Not tainted (2.6.27-rc3-00054-g6397ab9-dirty #13)\n  EIP: 0060:[\u003cc05de64a\u003e] EFLAGS: 00010296 CPU: 0\n  EIP is at nla_parse+0x5a/0xf0\n  EAX: 00000008 EBX: fffffffd ECX: c06f16c0 EDX: 00000005\n  ESI: 00000010 EDI: f6c1ba30 EBP: f6367c6c ESP: c0a11e88\n   DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068\n  CR0: 8005003b CR2: f781cc84 CR3: 3632f000 CR4: 000006d0\n  DR0: c0ead9bc DR1: 00000000 DR2: 00000000 DR3: 00000000\n  DR6: ffff4ff0 DR7: 00000400\n   [\u003cc05d4b23\u003e] rtnl_setlink+0x63/0x130\n   [\u003cc05d5f75\u003e] rtnetlink_rcv_msg+0x165/0x200\n   [\u003cc05ddf66\u003e] netlink_rcv_skb+0x76/0xa0\n   [\u003cc05d5dfe\u003e] rtnetlink_rcv+0x1e/0x30\n   [\u003cc05dda21\u003e] netlink_unicast+0x281/0x290\n   [\u003cc05ddbe9\u003e] netlink_sendmsg+0x1b9/0x2b0\n   [\u003cc05beef2\u003e] sock_sendmsg+0xd2/0x100\n   [\u003cc05bf945\u003e] sys_sendto+0xa5/0xd0\n   [\u003cc05bf9a6\u003e] sys_send+0x36/0x40\n   [\u003cc05c03d6\u003e] sys_socketcall+0x1e6/0x2c0\n   [\u003cc020353b\u003e] sysenter_do_call+0x12/0x3f\n   [\u003cffffffff\u003e] 0xffffffff\n\nThis is the line in nla_ok():\n\n  /**\n   * nla_ok - check if the netlink attribute fits into the remaining bytes\n   * @nla: netlink attribute\n   * @remaining: number of bytes remaining in attribute stream\n   */\n  static inline int nla_ok(const struct nlattr *nla, int remaining)\n  {\n          return remaining \u003e\u003d sizeof(*nla) \u0026\u0026\n                 nla-\u003enla_len \u003e\u003d sizeof(*nla) \u0026\u0026\n                 nla-\u003enla_len \u003c\u003d remaining;\n  }\n\nIt turns out that remaining can become negative due to alignment in\nnla_next(). But GCC promotes \"remaining\" to unsigned in the test\nagainst sizeof(*nla) above. Therefore the test succeeds, and the\nnla_for_each_attr() may access memory outside the received buffer.\n\nA short example illustrating this point is here:\n\n  #include \u003cstdio.h\u003e\n\n  main(void)\n  {\n          printf(\"%d\\n\", -1 \u003e\u003d sizeof(int));\n  }\n\n...which prints \"1\".\n\nThis patch adds a cast in front of the sizeof so that GCC will make\na signed comparison and fix the illegal memory dereference. With the\npatch applied, there is no kmemcheck report.\n\nSigned-off-by: Vegard Nossum \u003cvegard.nossum@gmail.com\u003e\nAcked-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c10b32bf57db7ec6d4cca4c4aa3d86bacb01c8a",
      "tree": "dfb1fff234209b64828d9f932a543fd96b0561e2",
      "parents": [
        "b171e19ed08c8ba832e5325fadf1be493f56665d"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Sep 02 17:30:27 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 02 17:30:27 2008 -0700"
      },
      "message": "netlink: Remove compat API for nested attributes\n\nRemoves all _nested_compat() functions from the API. The prio qdisc\nno longer requires them and netem has its own format anyway. Their\nexistance is only confusing.\n\nResend: Also remove the wrapper macro.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07a7c1070ed382ad4562e3a0d453fd2001d92f7b",
      "tree": "0caf21395d1adf879888a355ffcb22c60a7545ae",
      "parents": [
        "0dbff689c2f299e8f63911247925f2728d087688"
      ],
      "author": {
        "name": "Krzysztof Piotr Oledzki",
        "email": "ole@ans.pl",
        "time": "Mon Jul 21 10:01:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 21 10:10:58 2008 -0700"
      },
      "message": "netlink: add NLA_PUT_BE64 macro\n\nAdd NLA_PUT_BE64 macro required for 64bit counters in netfilter\n\nSigned-off-by: Krzysztof Piotr Oledzki \u003cole@ans.pl\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3ed28caaef55e7e3a9316464256353c5f9b1df",
      "tree": "3aed4521aa2d74a36ee2b192c2e229fd23fbe732",
      "parents": [
        "1f9d11c7c99da706e33646c3a9080dd5a8ef9a0b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jun 03 16:36:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 03 16:36:54 2008 -0700"
      },
      "message": "netlink: Improve returned error codes\n\nMake nlmsg_trim(), nlmsg_cancel(), genlmsg_cancel(), and\nnla_nest_cancel() void functions.\n\nReturn -EMSGSIZE instead of -1 if the provided message buffer is not\nbig enough.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9a2f2e450b0f770bb4347ae8d48eb2dea701e24",
      "tree": "7f2d25b44259bdeb8dd35448bbf16f68aa1d5dd2",
      "parents": [
        "071f92d05967a0c8422f1c8587ce0b4d90a8b447"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu May 22 10:48:59 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 22 10:48:59 2008 -0700"
      },
      "message": "netlink: Fix nla_parse_nested_compat() to call nla_parse() directly\n\nThe purpose of nla_parse_nested_compat() is to parse attributes which\ncontain a struct followed by a stream of nested attributes.  So far,\nit called nla_parse_nested() to parse the stream of nested attributes\nwhich was wrong, as nla_parse_nested() expects a container attribute\nas data which holds the attribute stream.  It needs to call\nnla_parse() directly while pointing at the next possible alignment\npoint after the struct in the beginning of the attribute.\n\nWith this patch, I can no longer reproduce the reported leftover\nwarnings.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01480e1cf5e2118eba8a8968239f3242072f9563",
      "tree": "c967ad4acfeb3929ff191457a45fdb47eaf94bdb",
      "parents": [
        "2eb9d75c723252c1fa8f0206e6a0df220e3c64c0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 22 22:10:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:09 2008 -0800"
      },
      "message": "[NETLINK]: Add nla_append()\n\nUsed to append data to a message without a header or padding.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4d1169c1e781e5853317c6b75620d678b2c4854e",
      "tree": "69e7a7cf4c0f619d13eec7ff85ab1837f3abaf16",
      "parents": [
        "6b175b26c1048d331508940ad3516ead1998084f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jan 10 03:26:13 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:29 2008 -0800"
      },
      "message": "[NETNS]: Add netns to nl_info structure.\n\nnl_info is used to track the end-user destination of routing change\nnotification. This is a natural object to hold a namespace on. Place\nit there and utilize the context in the appropriate places.\n\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "838965ba22066c7fcdbacfc543c387d0eb76c14c",
      "tree": "6b3f6a6f60bc1797fee5873ee108a0595d5052bb",
      "parents": [
        "c7212e9d3938258abe3fd17d15bb0d5c1856b8df"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Dec 17 22:29:26 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:58:53 2008 -0800"
      },
      "message": "[NETLINK]: Add NLA_PUT_BE16/nla_get_be16()\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4d900a2cae94256f56be7769734100c7054bf00",
      "tree": "3991508447452b737d11769c5e1a8799812243bb",
      "parents": [
        "a59322be07c964e916d15be3df473fb7ba20c41e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Dec 05 03:31:53 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:56:34 2008 -0800"
      },
      "message": "[NETLINK]: Mark attribute construction exception unlikely\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd40b7d3983c708aabe3d3008ec64ffce56d33b0",
      "tree": "0d6fe9cfd2f03fdeee126e317d4bfb145afc458d",
      "parents": [
        "aed815601f3f95281ab3a01f7e2cbe1bd54285a0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "message": "[NET]: make netlink user -\u003e kernel interface synchronious\n\nThis patch make processing netlink user -\u003e kernel messages synchronious.\nThis change was inspired by the talk with Alexey Kuznetsov about current\nnetlink messages processing. He says that he was badly wrong when introduced \nasynchronious user -\u003e kernel communication.\n\nThe call netlink_unicast is the only path to send message to the kernel\nnetlink socket. But, unfortunately, it is also used to send data to the\nuser.\n\nBefore this change the user message has been attached to the socket queue\nand sk-\u003esk_data_ready was called. The process has been blocked until all\npending messages were processed. The bad thing is that this processing\nmay occur in the arbitrary process context.\n\nThis patch changes nlk-\u003edata_ready callback to get 1 skb and force packet\nprocessing right in the netlink_unicast.\n\nKernel -\u003e user path in netlink_unicast remains untouched.\n\nEINTR processing for in netlink_run_queue was changed. It forces rtnl_lock\ndrop, but the process remains in the cycle until the message will be fully\nprocessed. So, there is no need to use this kludges now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1ec3b772233826bf156284170632563790dbabf",
      "tree": "3456c34c3047affe8bcac331c68fea9b1e08bcf4",
      "parents": [
        "fa8705b00aeca19d91a1437b8a5cf865999b28f6"
      ],
      "author": {
        "name": "Pierre Ynard",
        "email": "linkfanel@yahoo.fr",
        "time": "Wed Oct 10 21:09:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:09:48 2007 -0700"
      },
      "message": "[NETLINK]: Fix typos in comments in netlink.h\n\nThis patch fixes a few typos in comments in include/net/netlink.h\n\nSigned-off-by: Pierre Ynard \u003clinkfanel@yahoo.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cfad07555312468296ea3bbbcdf99038f58678b",
      "tree": "a95c432bcafaf22e965dcaf27bfd4a61723d1d64",
      "parents": [
        "007e3936bdaaa012483c9fe06ca71c272458c710"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:24:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:24 2007 -0700"
      },
      "message": "[NETLINK]: Avoid pointer in netlink_run_queue\n\nI was looking at Patrick\u0027s fix to inet_diag and it occured\nto me that we\u0027re using a pointer argument to return values\nunnecessarily in netlink_run_queue.  Changing it to return\nthe value will allow the compiler to generate better code\nsince the value won\u0027t have to be memory-backed.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4c1f9b049df3be11090f1c2c4738700302acae",
      "tree": "51271d32096e4419173072d120176b4428e52a11",
      "parents": [
        "9d5010db7ecfd6ec00119d3b185c4c0cd3265167"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Sep 12 14:44:36 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:16 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nested and byteorder flag to netlink attribute\n\nThis change allows the generic attribute interface to be used within\nthe netfilter subsystem where this flag was initially introduced.\n\nThe byte-order flag is yet unused, it\u0027s intended use is to\nallow automatic byte order convertions for all atomic types.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1092cb219774a82b1f16781aec7b8d4ec727c981",
      "tree": "dddd1d559e08c07b41715d8cf2678ff7d45d5230",
      "parents": [
        "334a8132d9950f769f390f0f35c233d099688e7a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 25 13:49:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:38 2007 -0700"
      },
      "message": "[NETLINK]: attr: add nested compat attribute type\n\nAdd a nested compat attribute type that can be used to convert\nattributes that contain a structure to nested attributes in a\nbackwards compatible way.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef7c79ed645f52bcbdd88f8d54a9702c4d3fd15d",
      "tree": "4c27ec3362d958b99672366437d5eb6038dd561d",
      "parents": [
        "14a49e1fd2bb91ba2bf0e1f06711b6dbc21de02d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 05 12:38:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:40:10 2007 -0700"
      },
      "message": "[NETLINK]: Mark netlink policies const\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42bad1da506cafa7041a02ab84033a724afe88ac",
      "tree": "2850b3483c2fd05341c32663f4adb8f2ce7506da",
      "parents": [
        "55404bca6c45595fee1a546f1a0cc616aeef0b00"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Apr 26 00:57:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 00:57:41 2007 -0700"
      },
      "message": "[NETLINK]: Possible cleanups.\n\n- make the following needlessly global variables static:\n  - core/rtnetlink.c: struct rtnl_msg_handlers[]\n  - netfilter/nf_conntrack_proto.c: struct nf_ct_protos[]\n- make the following needlessly global functions static:\n  - core/rtnetlink.c: rtnl_dump_all()\n  - netlink/af_netlink.c: netlink_queue_skip()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d30045a0bcf144753869175dd9d840f7ceaf4aba",
      "tree": "a5f5b5f7073fbd733a7c5ac877161018f43cf1fc",
      "parents": [
        "703315712cfccfe0b45ef4aa6994527d8ee95e33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Mar 23 11:37:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:05 2007 -0700"
      },
      "message": "[NETLINK]: introduce NLA_BINARY type\n\nThis patch introduces a new NLA_BINARY attribute policy type with the\nverification of simply checking the maximum length of the payload.\n\nIt also fixes a small typo in the example.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d00a4eb42bdade33a6ec0961cada93577a66ae6",
      "tree": "a181b141818f594eb544601386bf09e45e6193bb",
      "parents": [
        "45e7ae7f716086994e4e747226881f901c67b031"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:30 2007 -0700"
      },
      "message": "[NETLINK]: Remove error pointer from netlink message handler\n\nThe error pointer argument in netlink message handlers is used\nto signal the special case where processing has to be interrupted\nbecause a dump was started but no error happened. Instead it is\nsimpler and more clear to return -EINTR and have netlink_run_queue()\ndeal with getting the queue right.\n\nnfnetlink passed on this error pointer to its subsystem handlers\nbut only uses it to signal the start of a netlink dump. Therefore\nit can be removed there as well.\n\nThis patch also cleans up the error handling in the affected\nmessage handlers to be consistent since it had to be touched anyway.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc5fc579b90ed0a9a4e55b0218cdbaf0a8cf2e67",
      "tree": "673dbb425c2b09b4256ef71f89dfc5cc01944386",
      "parents": [
        "a36ca733375860b389c15ffdf6a5f92df64a33b6"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sun Mar 25 23:06:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:37 2007 -0700"
      },
      "message": "[NETLINK]: Use nlmsg_trim() where appropriate\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d7fe0f241dceade9c8d4af75498765c5ff7f27e6",
      "tree": "442ab13842a548ef56904d11fd574c98fee14e69",
      "parents": [
        "bd01f843c3368dcee735c19603251669f23f4477"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sun Dec 03 23:15:30 2006 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Dec 04 02:00:34 2006 -0500"
      },
      "message": "[PATCH] severing skbuff.h -\u003e mm.h\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "4a89c2562cb81c24c515b9de041aced4d21cb6d1",
      "tree": "9c4610a00e49f2318601122a4634a8ee78764a75",
      "parents": [
        "b020b942cdc238e9761cb38598eda6691c366d68"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Nov 24 17:14:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:30 2006 -0800"
      },
      "message": "[DECNET] address: Convert to new netlink interface\n\nExtends the netlink interface to support the __le16 type and\nconverts address addition, deletion and, dumping to use the\nnew netlink interface.\n\nFixes multiple occasions of possible illegal memory references\ndue to not validated netlink attributes.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "339bf98ffc6a8d8eb16fc532ac57ffbced2f8a68",
      "tree": "499ad948863d2753ca10283dcf006ad28954538e",
      "parents": [
        "a94f723d595ee085f81b1788d18e031af7eeba91"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Nov 10 14:10:15 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:11 2006 -0800"
      },
      "message": "[NETLINK]: Do precise netlink message allocations where possible\n\nAccount for the netlink message header size directly in nlmsg_new()\ninstead of relying on the caller calculate it correctly.\n\nReplaces error handling of message construction functions when\nconstructing notifications with bug traps since a failure implies\na bug in calculating the size of the skb.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nAcked-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "00012e5bb9527022cbc843c5d372b282dbe6c4af",
      "tree": "fbf1b0dfdda4a7234c4938c66d9b5fa20b97e355",
      "parents": [
        "b83738ae003dde613712ddb1e90a8a01f5587b51"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 26 22:14:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 17:54:14 2006 -0700"
      },
      "message": "[IPV4]: introduce nla_get_be32()/NLA_PUT_BE32()\n\nnet-endian counterparts of nla_get_u32()/NLA_PUT_U32()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fe5d5c07ab615a52fd1b0ceba5aeed7c612821a",
      "tree": "245e504bb1049e86f9f6dc369b679c5a5ca495ec",
      "parents": [
        "22acb19a91d2b551ea37647747972e5286284b22"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Mon Sep 25 15:54:03 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 25 15:54:03 2006 -0700"
      },
      "message": "[Netlink]: add nla_validate_nested()\n\nAdd a new function, nla_validate_nested(), to validate nested Netlink\nattributes.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22acb19a91d2b551ea37647747972e5286284b22",
      "tree": "c37455de7df838e76b6f4279f084bce95c16e416",
      "parents": [
        "df2115c3134d0d1a18c1f37f5192394e7f64d1e0"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Mon Sep 25 15:53:37 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 25 15:53:37 2006 -0700"
      },
      "message": "[NETLINK]: add nla_for_each_nested() to the interface list\n\nAt the top of include/net/netlink.h is a list of Netlink interfaces, however,\nthe nla_for_each_nested() macro was not listed.  This patch adds this interface\nto the list at the top of the header file.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a5531a5d852008be40811496029012f4ad3093d1",
      "tree": "f59a1b240753ef4f0a672f256fc01d8a965793d1",
      "parents": [
        "e3b4eadbea77ecb3c3a74d1bc81b392f454c7f2e"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Aug 26 20:11:47 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:24 2006 -0700"
      },
      "message": "[NETLINK]: Improve string attribute validation\n\nIntroduces a new attribute type NLA_NUL_STRING to support NUL\nterminated strings. Attributes of this kind require to carry\na terminating NUL within the maximum specified in the policy.\n\nThe `old\u0027 NLA_STRING which is not required to be NUL terminated\nis extended to provide means to specify a maximum length of the\nstring.\n\nAims at easing the pain with using nla_strlcpy() on temporary\nbuffers.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff5dfe736dd9f6c74b206aa77c0465dfd503bdb9",
      "tree": "32366a88470dc809f9aa4dd5dbcabd1c8d30b6e5",
      "parents": [
        "97e5848dd39e7e76bd6077735ebb5473763ab9c5"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Aug 26 19:17:53 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:18 2006 -0700"
      },
      "message": "[NETLINK]: remove third bogus argument from NLA_PUT_FLAG\n\nThis patch removes the \u0027value\u0027 argument from NLA_PUT_FLAG which is\nunused anyway. The documentation comment was already correct so it\ndoesn\u0027t need an update :)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4e902c57417c4c285b98ba2722468d1c3ed83d1b",
      "tree": "83251829a4bc9628a3543e5f70e7b11090fe22d9",
      "parents": [
        "ab32ea5d8a760e7dd4339634e95d7be24ee5b842"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Aug 17 18:14:52 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:55:04 2006 -0700"
      },
      "message": "[IPv4]: FIB configuration using struct fib_config\n\nIntroduces struct fib_config replacing the ugly struct kern_rta\nprone to ordering issues. Avoids creating faked netlink messages\nfor auto generated routes or requests via ioctl.\n\nA new interface net/nexthop.h is added to help navigate through\nnexthop configuration arrays.\n\nA new struct nl_info will be used to carry the necessary netlink\ninformation to be used for notifications later on.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97676b6b5538b3e059d33b8338e7d5cc41c5f1f1",
      "tree": "76e41eb58bd86a96e204dacbb6746da387e67452",
      "parents": [
        "d387f6ad10764fc2174373b4a1cca443adee36e3"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Aug 15 00:31:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:50 2006 -0700"
      },
      "message": "[RTNETLINK]: Add rtnetlink notification interface\n\nAdds rtnl_notify() to send rtnetlink notification messages and\nrtnl_set_sk_err() to report notification errors as socket\nerrors in order to indicate the need of a resync due to loss\nof events.\n\nnlmsg_report() is added to properly document the meaning of\nNLM_F_ECHO.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d387f6ad10764fc2174373b4a1cca443adee36e3",
      "tree": "ed22c34f55de9c668eed1727d46239f3b48599b7",
      "parents": [
        "2942e90050569525628a9f34e0daaa9b661b49cc"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Aug 15 00:31:06 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:54:49 2006 -0700"
      },
      "message": "[NETLINK]: Add notification message sending interface\n\nAdds nlmsg_notify() implementing proper notification logic. The\nmessage is multicasted to all listeners in the group. The\napplications the requests orignates from can request a unicast\nback report in which case said socket will be excluded from the\nmulticast to avoid duplicated notifications.\n\nnlmsg_multicast() is extended to take allocation flags to\nallow notification in atomic contexts.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe4944e59c357f945f81bc67edb7ed1392e875ad",
      "tree": "9634365d416ac574442fc7e21e1eaa26a71a26d1",
      "parents": [
        "e1ef4bf23b1ced0bf78a1c98289f746486e5c912"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Fri Aug 04 23:03:05 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:43 2006 -0700"
      },
      "message": "[NETLINK]: Extend netlink messaging interface\n\nAdds:\n nlmsg_get_pos()                 return current position in message\n nlmsg_trim()                    trim part of message\n nla_reserve_nohdr(skb, len)     reserve room for an attribute w/o hdr\n nla_put_nohdr(skb, len, data)   add attribute w/o hdr\n nla_find_nested()               find attribute in nested attributes\n\nFixes nlmsg_new() to take allocation flags and consider size.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82ace47a7256fd39d370a6442e0649f75961b831",
      "tree": "261fafd7cb6b8b7bf023fa26cba1636ae2ec2f79",
      "parents": [
        "a8f74b228826eef1cbe04a05647d61e896f5fd63"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 10 02:25:53 2005 +0100"
      },
      "committer": {
        "name": "Thomas Graf",
        "email": "tgr@axs.localdomain",
        "time": "Thu Nov 10 02:26:40 2005 +0100"
      },
      "message": "[NETLINK]: Generic netlink receive queue processor\n\nIntroduces netlink_run_queue() to handle the receive queue of\na netlink socket in a generic way. Processes as much as there\nwas in the queue upon entry and invokes a callback function\nfor each netlink message found. The callback function may\nrefuse a message by returning a negative error code but setting\nthe error pointer to 0 in which case netlink_run_queue() will\nreturn with a qlen !\u003d 0.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\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"
    }
  ]
}
