)]}'
{
  "log": [
    {
      "commit": "e9412c37082b5c932e83364aaed0c38c2ce33acb",
      "tree": "479e716c478173830e378f432d3d0b24c6979541",
      "parents": [
        "2033e9bf06f07e049bbc77e9452856df846714cc"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue May 29 09:30:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 22:33:56 2012 -0400"
      },
      "message": "genetlink: Build a generic netlink family module alias\n\nGeneric netlink searches for -type- formatted aliases when requesting a module to\nfulfill a protocol request (i.e. net-pf-16-proto-16-type-\u003cx\u003e, where x is a type\nvalue).  However generic netlink protocols have no well defined type numbers,\nthey have string names.  Modify genl_ctrl_getfamily to request an alias in the\nformat net-pf-16-proto-16-family-\u003cx\u003e instead, where x is a generic string, and\nadd a macro that builds on the previously added MODULE_ALIAS_NET_PF_PROTO_NAME\nmacro to allow modules to specifify those generic strings.\n\nNote, l2tp previously hacked together an net-pf-16-proto-16-type-l2tp alias\nusing the MODULE_ALIAS macro, with these updates we can convert that to use the\nPROTO_NAME macro.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: James Chapman \u003cjchapman@katalix.com\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "444653f696d60217e145b050fb82967eaf34eb3f",
      "tree": "c72349063bbe1cb66ea9c57bcd1aafe5035337ec",
      "parents": [
        "1e6428d82b3c61ac3bb725b64ffb634b60cbd678"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 29 23:25:11 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 18:43:25 2012 -0400"
      },
      "message": "genetlink: Stop using NLA_PUT*().\n\nThese macros contain a hidden goto, and are thus extremely error\nprone and make code hard to audit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80d326fab534a5380e8f6e509a0b9076655a9670",
      "tree": "57c636de934b3f8abb7db9bcde64360ecc4eaf66",
      "parents": [
        "48e316bc2e045206248c6c75c0d5bbc0c9ddc32c"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Feb 24 14:30:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 26 14:10:06 2012 -0500"
      },
      "message": "netlink: add netlink_dump_control structure for netlink_dump_start()\n\nDavem considers that the argument list of this interface is getting\nout of control. This patch tries to address this issue following\nhis proposal:\n\nstruct netlink_dump_control c \u003d { .dump \u003d dump, .done \u003d done, ... };\n\nnetlink_dump_start(..., \u0026c);\n\nSuggested by David S. Miller.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a46621a3a8f24557201a7ef62de151c812f8985c",
      "tree": "9701dd51e082d600ce4b69ee4773805630ab0ada",
      "parents": [
        "5de658f878d49e952d7b3f3f26a396132829f513"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Mon Jan 30 15:22:06 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 30 15:22:06 2012 -0500"
      },
      "message": "net: Deinline __nlmsg_put and genlmsg_put. -7k code on i386 defconfig.\n\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n8455963\t 532732\t1810804\t10799499 a4c98b\tvmlinux.o.before\n8448899\t 532732\t1810804\t10792435 a4adf3\tvmlinux.o\n\nThis change also removes commented-out copy of __nlmsg_put\nwhich was last touched in 2005 with \"Enable once all users\nhave been converted\" comment on top.\n\nChanges in v2: rediffed against net-next.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c49c41a4134679cecb77362e7f6b59acb6320aa7",
      "tree": "45e690c036ca5846a48c8be67945d1d841b2d96d",
      "parents": [
        "892d208bcf79e4e1058707786a7b6d486697cd78",
        "f423e5ba76e7e4a6fcb4836b4f072d1fdebba8b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security:\n  capabilities: remove __cap_full_set definition\n  security: remove the security_netlink_recv hook as it is equivalent to capable()\n  ptrace: do not audit capability check when outputing /proc/pid/stat\n  capabilities: remove task_ns_* functions\n  capabitlies: ns_capable can use the cap helpers rather than lsm call\n  capabilities: style only - move capable below ns_capable\n  capabilites: introduce new has_ns_capabilities_noaudit\n  capabilities: call has_ns_capability from has_capability\n  capabilities: remove all _real_ interfaces\n  capabilities: introduce security_capable_noaudit\n  capabilities: reverse arguments to security_capable\n  capabilities: remove the task from capable LSM hook entirely\n  selinux: sparse fix: fix several warnings in the security server cod\n  selinux: sparse fix: fix warnings in netlink code\n  selinux: sparse fix: eliminate warnings for selinuxfs\n  selinux: sparse fix: declare selinux_disable() in security.h\n  selinux: sparse fix: move selinux_complete_init\n  selinux: sparse fix: make selinux_secmark_refcount static\n  SELinux: Fix RCU deref check warning in sel_netport_insert()\n\nManually fix up a semantic mis-merge wrt security_netlink_recv():\n\n - the interface was removed in commit fd7784615248 (\"security: remove\n   the security_netlink_recv hook as it is equivalent to capable()\")\n\n - a new user of it appeared in commit a38f7907b926 (\"crypto: Add\n   userspace configuration API\")\n\ncausing no automatic merge conflict, but Eric Paris pointed out the\nissue.\n"
    },
    {
      "commit": "fd778461524849afd035679030ae8e8873c72b81",
      "tree": "32a5849c1879413fce0307af304e372eaa8225b4",
      "parents": [
        "69f594a38967f4540ce7a29b3fd214e68a8330bd"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 12:25:16 2012 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jan 05 18:53:01 2012 -0500"
      },
      "message": "security: remove the security_netlink_recv hook as it is equivalent to capable()\n\nOnce upon a time netlink was not sync and we had to get the effective\ncapabilities from the skb that was being received.  Today we instead get\nthe capabilities from the current task.  This has rendered the entire\npurpose of the hook moot as it is now functionally equivalent to the\ncapable() call.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "fa84309533025eb3f03dc1d2d2be1c3ca206882a",
      "tree": "d023095d481cb331e8cfc569de18ea89a04eb7fd",
      "parents": [
        "7ffbcecbeed91e5874e9a1cfc4c0cbb07dac3069"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Dec 28 13:48:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 28 13:48:55 2011 -0500"
      },
      "message": "genetlink: add auto module loading\n\nWhen testing L2TP support, I discovered that the l2tp module is not autoloaded\nas are other netlink interfaces. There is because of lack of hook in genetlink to call\nrequest_module and load the module.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b57ef81ff8ffb830e1b3e404d692e55161992d27",
      "tree": "4c14d18425e3c1f7185677e6f2b618ac4de14a7e",
      "parents": [
        "65c64ce8ee642eb330a4c4d94b664725f2902b44"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 22 08:52:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 22 22:37:19 2011 -0500"
      },
      "message": "netlink: af_netlink cleanup (v2)\n\nDon\u0027t inline functions that cover several lines, and do inline\nthe trivial ones. Also make some arguments const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86b1309c7e411b7c25dc0dc7a092582a4d291044",
      "tree": "b2557cbe0441d1d762e87a56e105bff6581c13e9",
      "parents": [
        "263ba61d3b19508dfb003c215ec5d23f882b4f87"
      ],
      "author": {
        "name": "Pravin B Shelar",
        "email": "pshelar@nicira.com",
        "time": "Thu Nov 10 19:14:51 2011 -0800"
      },
      "committer": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Sat Dec 03 09:35:07 2011 -0800"
      },
      "message": "genetlink: Add lockdep_genl_is_held().\n\nOpen vSwitch uses genl_mutex locking to protect datapath\ndata-structures like flow-table, flow-actions. Following patch adds\nlockdep_genl_is_held() which is used for rcu annotation to prove\nlocking.\n\nSigned-off-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\n"
    },
    {
      "commit": "263ba61d3b19508dfb003c215ec5d23f882b4f87",
      "tree": "1f00fe8aeaff938b6e6706d145f761c5990fc28e",
      "parents": [
        "340e8dc1fb4032b6c8334c9bff20b2aec42ecfd8"
      ],
      "author": {
        "name": "Pravin B Shelar",
        "email": "pshelar@nicira.com",
        "time": "Thu Nov 10 19:14:37 2011 -0800"
      },
      "committer": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Sat Dec 03 09:35:05 2011 -0800"
      },
      "message": "genetlink: Add genl_notify()\n\nOpen vSwitch uses Generic Netlink interface for communication\nbetween userspace and kernel module. genl_notify() is used\nfor sending notification back to userspace.\n\ngenl_notify() is analogous to rtnl_notify() but uses genl_sock\ninstead of rtnl.\n\nSigned-off-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\n"
    },
    {
      "commit": "c7ac8679bec9397afe8918f788cbcef88c38da54",
      "tree": "c152712de4c997ea79252ef9ac72aaedb8f88c18",
      "parents": [
        "929dd047720785f099e12113780b3d7914ce6d9f"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Fri Jun 10 01:27:09 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Jun 09 20:38:07 2011 -0700"
      },
      "message": "rtnetlink: Compute and store minimum ifinfo dump size\n\nThe message size allocated for rtnl ifinfo dumps was limited to\na single page.  This is not enough for additional interface info\navailable with devices that support SR-IOV and caused a bug in\nwhich VF info would not be displayed if more than approximately\n40 VFs were created per interface.\n\nImplement a new function pointer for the rtnl_register service that will\ncalculate the amount of data required for the ifinfo dump and allocate\nenough data to satisfy the request.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "b8f3ab4290f1e720166e888ea2a1d1d44c4d15dd",
      "tree": "88d5b71b27ed9ca0b5d67bd6ae61f592fb61fdc5",
      "parents": [
        "ff76015f3bdfbc482c723cb4f2559cef84d178ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 12:40:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 13:34:20 2011 -0800"
      },
      "message": "Revert \"netlink: test for all flags of the NLM_F_DUMP composite\"\n\nThis reverts commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf.\n\nIt breaks several things including the avahi daemon.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ab03c2b1478f2438d2c80204f7fef65b1bca9cf",
      "tree": "a130abc7a3cc2d5c326b1bbdad80c06e741db3fd",
      "parents": [
        "dba5a68ae147d0672d4b9259f3ece37777f8b2fa"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Jan 07 03:15:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 09 16:25:03 2011 -0800"
      },
      "message": "netlink: test for all flags of the NLM_F_DUMP composite\n\nDue to NLM_F_DUMP is composed of two bits, NLM_F_ROOT | NLM_F_MATCH,\nwhen doing \"if (x \u0026 NLM_F_DUMP)\", it tests for _either_ of the bits\nbeing set. Because NLM_F_MATCH\u0027s value overlaps with NLM_F_EXCL,\nnon-dump requests with NLM_F_EXCL set are mistaken as dump requests.\n\nSubstitute the condition to test for _all_ bits being set.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nAcked-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff4c92d85c6f2777d2067f8552e7fefb4d1754ae",
      "tree": "77e35603821e5602e96c90644e42e70f097ad79c",
      "parents": [
        "2ee4e27cf25ab647137713ca16377d8d9e138ea2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Oct 04 21:14:03 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:30 2010 -0400"
      },
      "message": "genetlink: introduce pre_doit/post_doit hooks\n\nEach family may have some amount of boilerplate\nlocking code that applies to most, or even all,\ncommands.\n\nThis allows a family to handle such things in\na more generic way, by allowing it to\n a) include private flags in each operation\n b) specify a pre_doit hook that is called,\n    before an operation\u0027s doit() callback and\n    may return an error directly,\n c) specify a post_doit hook that can undo\n    locking or similar things done by pre_doit,\n    and finally\n d) include two private pointers in each info\n    struct passed between all these operations\n    including doit(). (It\u0027s two because I\u0027ll\n    need two in nl80211 -- can be extended.)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "652c6717465dbd0091dbe04ed9be2f7e59c03c7d",
      "tree": "4c79c61dbab1c01a0e3096e2c25001c10af7ee99",
      "parents": [
        "a256be70c57d6f8c827d09d645a1f6fe9330af72"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Jul 25 23:21:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 21:00:10 2010 -0700"
      },
      "message": "genetlink: use genl_register_family_with_ops()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "416c2f9cf5524cb53392cbcf99fef7aa687192ce",
      "tree": "13ea7c8ddc0ea37f8017849eea859736f2e14233",
      "parents": [
        "f78f09f76540c9a986bc321a186a291f4bb40925"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Jul 25 20:46:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 20:53:49 2010 -0700"
      },
      "message": "genetlink: cleanup code according to CodingStyle\n\nIf the function is exported, the EXPORT* macro for it should follow immediately\nafter the closing function brace line.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n net/netlink/genetlink.c |    9 ++++-----\n 1 file changed, 4 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "871039f02f8ec4ab2e5e9010718caa8e085786f1",
      "tree": "f0d2b3127fc48c862967d68c46c2d46668137515",
      "parents": [
        "e4077e018b5ead3de9951fc01d8bf12eeeeeefed",
        "4a1032faac94ebbf647460ae3e06fc21146eb280"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 11 14:53:53 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/stmmac/stmmac_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_cmd.c\n\tdrivers/net/wireless/wl12xx/wl1271_main.c\n\tdrivers/net/wireless/wl12xx/wl1271_spi.c\n\tnet/core/ethtool.c\n\tnet/mac80211/scan.c\n"
    },
    {
      "commit": "f408e0ce40270559ef80f231843c93baa9947bc5",
      "tree": "0a71cda13657bd3c058ed110714f4ac829a50ad2",
      "parents": [
        "0d76751fad7739014485ba5bd388d4f1b4fd4143"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Fri Apr 02 06:19:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 03 14:56:05 2010 -0700"
      },
      "message": "netlink: Export genl_lock() API for use by modules\n\nThis lets kernel modules which use genl netlink APIs serialize netlink\nprocessing.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "e1d5a010729a7a495a8a8de85727f3f0d62f06a0",
      "tree": "f1f5b01429ddf5ce7e023088f7ac705bed639db0",
      "parents": [
        "37fce430dd66a6251bde6ef0004a1da69b26c028"
      ],
      "author": {
        "name": "Samir Bellabes",
        "email": "sam@synack.fr",
        "time": "Thu Jan 07 22:10:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 13 20:37:45 2010 -0800"
      },
      "message": "genetlink: optimize ctrl_dumpfamily()\n\nthere is a unnecessary test which can be replaced by a good initialization in\nthe \u0027for\u0027 statement\n\nNoticed by Serge E. Hallyn \u003cserue@us.ibm.com\u003e\n\nSigned-off-by: Samir Bellabes \u003csam@synack.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "988ade6b8e27e79311812f83a87b5cea11fabcd7",
      "tree": "864fccbc78ffa108cde15648440b543f8f7e6688",
      "parents": [
        "93860b08e31a3202b6e67e386811545e719a0165"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Wed Oct 14 19:55:07 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 17 23:57:26 2009 -0700"
      },
      "message": "genetlink: Optimize and one bug fix in genl_generate_id()\n\n1. GENL_MIN_ID is a valid id -\u003e no need to start at\n   GENL_MIN_ID + 1.\n2. Avoid going through the ids two times: If we start at\n   GENL_MIN_ID+1 (*or bigger*) and all ids are over!, the\n   code iterates through the list twice (*or lesser*).\n3. Simplify code - no need to start at idx\u003d0 which gets\n   reset to GENL_MIN_ID.\n\nPatch on net-next-2.6. Reboot test shows that first id\npassed to genl_register_family was 16, next two were\nGENL_ID_GENERATE and genl_generate_id returned 17 \u0026 18\n(user level testing of same code shows expected values\nacross entire range of MIN/MAX).\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "93860b08e31a3202b6e67e386811545e719a0165",
      "tree": "332e0431ec85fc7109e50de6ecd8c67d55f3aa75",
      "parents": [
        "0d9a40de60a4470777913d8d42044ae548e6545d"
      ],
      "author": {
        "name": "Krishna Kumar",
        "email": "krkumar2@in.ibm.com",
        "time": "Wed Oct 14 19:54:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 17 23:57:26 2009 -0700"
      },
      "message": "genetlink: Optimize genl_register_family()\n\ngenl_register_family() doesn\u0027t need to call genl_family_find_byid\nwhen GENL_ID_GENERATE is passed during register.\n\nPatch on net-next-2.6, compile and reboot testing only.\n\nSigned-off-by: Krishna Kumar \u003ckrkumar2@in.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8273570f802a7658827dcb077b0b517ba75a289",
      "tree": "06fcee4433089cdb16504f40b1975ebbdf69e241",
      "parents": [
        "704cc92e9ffe29458ea8831ae097c631b1160c01"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 24 15:44:05 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:44:05 2009 -0700"
      },
      "message": "genetlink: fix netns vs. netlink table locking (2)\n\nSimilar to commit d136f1bd366fdb7e747ca7e0218171e7a00a98a5,\nthere\u0027s a bug when unregistering a generic netlink family,\nwhich is caught by the might_sleep() added in that commit:\n\n    BUG: sleeping function called from invalid context at net/netlink/af_netlink.c:183\n    in_atomic(): 1, irqs_disabled(): 0, pid: 1510, name: rmmod\n    2 locks held by rmmod/1510:\n     #0:  (genl_mutex){+.+.+.}, at: [\u003cffffffff8138283b\u003e] genl_unregister_family+0x2b/0x130\n     #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8138270c\u003e] __genl_unregister_mc_group+0x1c/0x120\n    Pid: 1510, comm: rmmod Not tainted 2.6.31-wl #444\n    Call Trace:\n     [\u003cffffffff81044ff9\u003e] __might_sleep+0x119/0x150\n     [\u003cffffffff81380501\u003e] netlink_table_grab+0x21/0x100\n     [\u003cffffffff813813a3\u003e] netlink_clear_multicast_users+0x23/0x60\n     [\u003cffffffff81382761\u003e] __genl_unregister_mc_group+0x71/0x120\n     [\u003cffffffff81382866\u003e] genl_unregister_family+0x56/0x130\n     [\u003cffffffffa0007d85\u003e] nl80211_exit+0x15/0x20 [cfg80211]\n     [\u003cffffffffa000005a\u003e] cfg80211_exit+0x1a/0x40 [cfg80211]\n\nFix in the same way by grabbing the netlink table lock\nbefore doing rcu_read_lock().\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d136f1bd366fdb7e747ca7e0218171e7a00a98a5",
      "tree": "cee39b3249c36aba4b765cae6d9d3579c9f10a2d",
      "parents": [
        "8be8057e72d7d319f8e97b26e16de8021fe63988"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sat Sep 12 03:03:15 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:02:50 2009 -0700"
      },
      "message": "genetlink: fix netns vs. netlink table locking\n\nSince my commits introducing netns awareness into\ngenetlink we can get this problem:\n\nBUG: scheduling while atomic: modprobe/1178/0x00000002\n2 locks held by modprobe/1178:\n #0:  (genl_mutex){+.+.+.}, at: [\u003cffffffff8135ee1a\u003e] genl_register_mc_grou\n #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8135eeb5\u003e] genl_register_mc_g\nPid: 1178, comm: modprobe Not tainted 2.6.31-rc8-wl-34789-g95cb731-dirty #\nCall Trace:\n [\u003cffffffff8103e285\u003e] __schedule_bug+0x85/0x90\n [\u003cffffffff81403138\u003e] schedule+0x108/0x588\n [\u003cffffffff8135b131\u003e] netlink_table_grab+0xa1/0xf0\n [\u003cffffffff8135c3a7\u003e] netlink_change_ngroups+0x47/0x100\n [\u003cffffffff8135ef0f\u003e] genl_register_mc_group+0x12f/0x290\n\nbecause I overlooked that netlink_table_grab() will\nschedule, thinking it was just the rwlock. However,\nin the contention case, that isn\u0027t actually true.\n\nFix this by letting the code grab the netlink table\nlock first and then the RCU for netns protection.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1f57195585e376d1944c32c046359640b06a669",
      "tree": "5e49a5e0077520f92e4e2bfd57caf90e303784ae",
      "parents": [
        "f1751c57f7bb816c9b6b4cb5d79c703aaa7199da"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Sep 04 20:36:52 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 20:36:52 2009 -0700"
      },
      "message": "netlink: silence compiler warning\n\n  CC      net/netlink/genetlink.o\nnet/netlink/genetlink.c: In function ‘genl_register_mc_group’:\nnet/netlink/genetlink.c:139: warning: ‘err’ may be used uninitialized in this function\n\nFrom following the code \u0027err\u0027 is initialized, but set it to zero to\nsilence the warning.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "134e63756d5f3d0f7604dfcca847b09d1b14fd66",
      "tree": "d2b5eab085d90cde0a4c0136a118800ca72b76ad",
      "parents": [
        "11a28d373ed2539a110d56419457e2e7db221ac7"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 09:51:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 12 14:03:27 2009 -0700"
      },
      "message": "genetlink: make netns aware\n\nThis makes generic netlink network namespace aware. No\ngeneric netlink families except for the controller family\nare made namespace aware, they need to be checked one by\none and then set the family-\u003enetnsok member to true.\n\nA new function genlmsg_multicast_netns() is introduced to\nallow sending a multicast message in a given namespace,\nfor example when it applies to an object that lives in\nthat namespace, a new function genlmsg_multicast_allns()\nto send a message to all network namespaces (for objects\nthat do not have an associated netns).\n\nThe function genlmsg_multicast() is changed to multicast\nthe message in just init_net, which is currently correct\nfor all generic netlink families since they only work in\ninit_net right now. Some will later want to work in all\nnet namespaces because they do not care about the netns\nat all -- those will have to be converted to use one of\nthe new functions genlmsg_multicast_allns() or\ngenlmsg_multicast_netns() whenever they are made netns\naware in some way.\n\nAfter this patch families can easily decide whether or\nnot they should be available in all net namespaces. Many\ngenl families us it for objects not related to networking\nand should therefore be available in all namespaces, but\nthat will have to be done on a per family basis.\n\nNote that this doesn\u0027t touch on the checkpoint/restart\nproblem where network namespaces could be used, genl\nfamilies and multicast groups are numbered globally and\nI see no easy way of changing that, especially since it\nmust be possible to multicast to all network namespaces\nfor those families that do not care about netns.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7b11d738282337488ae158c975d76271ad43a98",
      "tree": "82c27ba3224309e442fffbaa7e5d9ae6453a20a1",
      "parents": [
        "4ea7e38696c7e798c47ebbecadfd392f23f814f9"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Thu May 21 10:34:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 21 16:50:22 2009 -0700"
      },
      "message": "genetlink: Introduce genl_register_family_with_ops()\n\nThis introduces genl_register_family_with_ops() that registers a genetlink\nfamily along with operations from a table. This is used to kill copy\u0027n\u0027paste\noccurrences in following patches.\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3efb40c2c6eea315abcf19239c15d088e2498299",
      "tree": "d6f36cf47dbe7469a7311bfc8f2dfbf17680845e",
      "parents": [
        "15530dfd330bd19d14e096f88c70355a61fda3f2"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Dec 20 16:57:37 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:17 2009 -0800"
      },
      "message": "genetlink: export genl_unregister_mc_group()\n\nAdd an EXPORT_SYMBOL() to genl_unregister_mc_group(), to allow\nunregistering groups on the run. EXPORT_SYMBOL_GPL() is not used as\nthe rest of the functions exported by this module (eg:\ngenl_register_mc_group) are also not _GPL().\n\nCleanup is currently done when unregistering a family, but there is\nno way to unregister a single multicast group due to that function not\nbeing exported. Seems to be a mistake as it is documented as for\nexternal consumption.\n\nThis is needed by the WiMAX stack to be able to cleanup unused mc\ngroups.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6d1a3fb567a728d31474636e167c324702a0c38b",
      "tree": "02ffcef1520345d44f080b821aa32f4a596b7e1f",
      "parents": [
        "3a5be7d4b079f3a9ce1e8ce4a93ba15ae6d00111"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jun 18 02:07:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 18 02:07:07 2008 -0700"
      },
      "message": "netlink: genl: fix circular locking\n\ngenetlink has a circular locking dependency when dumping the registered\nfamilies:\n\n- dump start:\ngenl_rcv()            : take genl_mutex\ngenl_rcv_msg()        : call netlink_dump_start() while holding genl_mutex\nnetlink_dump_start(),\nnetlink_dump()        : take nlk-\u003ecb_mutex\nctrl_dumpfamily()     : try to detect this case and not take genl_mutex a\n                        second time\n\n- dump continuance:\nnetlink_rcv()         : call netlink_dump\nnetlink_dump          : take nlk-\u003ecb_mutex\nctrl_dumpfamily()     : take genl_mutex\n\nRegister genl_lock as callback mutex with netlink to fix this. This slightly\nwidens an already existing module unload race, the genl ops used during the\ndump might go away when the module is unloaded. Thomas Graf is working on a\nseperate fix for this.\n\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": "910d6c320cac65c81d66e8fd30dca167092722eb",
      "tree": "8c15459ad21e293081636c535945682a079d51cf",
      "parents": [
        "4c3a0a254e5d706d3fe01bf42261534858d05586"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Feb 12 22:16:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 12 22:16:33 2008 -0800"
      },
      "message": "[GENETLINK]: Relax dances with genl_lock.\n\nThe genl_unregister_family() calls the genl_unregister_mc_groups(), \nwhich takes and releases the genl_lock and then locks and releases\nthis lock itself.\n\nRelax this behavior, all the more so the genl_unregister_mc_groups() \nis called from genl_unregister_family() only.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\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": "3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b",
      "tree": "259158a50b97626063a4c779e8cb2ed81c911555",
      "parents": [
        "1536cc0d55a2820b71daf912060fe43ec15630c2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:13:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:13:32 2007 -0700"
      },
      "message": "[NET]: Make netlink processing routines semi-synchronious (inspired by rtnl) v2\n\nThe code in netfilter/nfnetlink.c and in ./net/netlink/genetlink.c looks\nlike outdated copy/paste from rtnetlink.c. Push them into sync with the\noriginal.\n\nChanges from v1:\n- deleted comment in nfnetlink_rcv_msg by request of Patrick McHardy\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\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": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79d310d01ec2a55e0ac1810aee56886ebee58c53",
      "tree": "80c4e2ab418c921bb7a492a8e6fd168825784722",
      "parents": [
        "2c04ddb707b4d50c314186249f466b6720ee4289"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:34:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:34:53 2007 -0700"
      },
      "message": "[GENETLINK]: Correctly report errors while registering a multicast group\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c04ddb707b4d50c314186249f466b6720ee4289",
      "tree": "49c4f918f41ff16442c20c4a165f41d836bcd8d5",
      "parents": [
        "79dc4386aec655ad829f320ab90888bacbc7037b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:33:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:33:51 2007 -0700"
      },
      "message": "[GENETLINK]: Fix adjustment of number of multicast groups\n\nThe current calculation of the maximum number of genetlink\nmulticast groups seems odd, fix it.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79dc4386aec655ad829f320ab90888bacbc7037b",
      "tree": "82340d9c2be1c96e3e894a4fa29132e4234e74a1",
      "parents": [
        "85ccc365e91de9f0053c94de4cbc6ce97f8170e7"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:32:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:32:46 2007 -0700"
      },
      "message": "[GENETLINK]: Fix race in genl_unregister_mc_groups()\n\nfamily-\u003emcast_groups is protected by genl_lock so it must\nbe held while accessing the list in genl_unregister_mc_groups().\nRequires adding a non-locking variant of genl_unregister_mc_group().\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2dbba6f773d1e1e4c78f03b0dbf19790d9017693",
      "tree": "19535af46e79a0af756275f751d7b0080b72001d",
      "parents": [
        "84659eb529b33572bb3f8c94e0978bd5d084bc7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "message": "[GENETLINK]: Dynamic multicast groups.\n\nIntroduce API to dynamically register and unregister multicast groups.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\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": "af65bdfce98d7965fbe93a48b8128444a2eea024",
      "tree": "e6ac5ff82a0d5067213135cdf049b912b02e824d",
      "parents": [
        "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 20 14:14:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:03 2007 -0700"
      },
      "message": "[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it\n\nSwitch cb_lock to mutex and allow netlink kernel users to override it\nwith a subsystem specific mutex for consistent locking in dump callbacks.\nAll netlink_dump_start users have been audited not to rely on any\nside-effects of the previously used spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c702e8047fe74648f7852a9c1de781b0d5a98402",
      "tree": "24bd031d79f3d1159bc08704a51c84de01d712b0",
      "parents": [
        "ead592ba246dfcc643b3f0f0c8c03f7bc898a59f"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:33 2007 -0700"
      },
      "message": "[NETLINK]: Directly return -EINTR from netlink_dump_start()\n\nNow that all users of netlink_dump_start() use netlink_run_queue()\nto process the receive queue, it is possible to return -EINTR from\nnetlink_dump_start() directly, therefore simplying the callers.\n\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": "45e7ae7f716086994e4e747226881f901c67b031",
      "tree": "8f61cb9e3f67ac433e915176c2bf233d8899691d",
      "parents": [
        "d35b685640aeb39eb4f5e98c75e8e001e406f9a3"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:29:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:29 2007 -0700"
      },
      "message": "[NETLINK]: Ignore control messages directly in netlink_run_queue()\n\nChanges netlink_rcv_skb() to skip netlink controll messages and don\u0027t\npass them on to the message handler.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d35b685640aeb39eb4f5e98c75e8e001e406f9a3",
      "tree": "c3ec38a2fb54a3783dd9c764bf58be68557f9396",
      "parents": [
        "33a0543cd9e090d2c6759e0ed85c3049c6efcc06"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:28:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:29 2007 -0700"
      },
      "message": "[NETLINK]: Ignore !NLM_F_REQUEST messages directly in netlink_run_queue()\n\nnetlink_rcv_skb() is changed to skip messages which don\u0027t have the\nNLM_F_REQUEST bit to avoid every netlink family having to perform this\ncheck on their own.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "746fac4dcd82864c6ecd85d3f09cc173db9b1870",
      "tree": "d87e5eb8802c16f3f06a73d0a84b183953883f9b",
      "parents": [
        "e1a95265b44ca31456adaacebebcde12714f0c03"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:25:07 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:58 2007 -0800"
      },
      "message": "[NET] NETLINK: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48d4ed7a86d70a7e381cc8e48a97312182093ce2",
      "tree": "a23c8df3c67febebe23ab5b3c871b8e90ae22626",
      "parents": [
        "b9e3dd0ea167df1d7c118170551e08e8e28f27b6"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Wed Dec 06 20:06:25 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 06 20:06:25 2006 -0800"
      },
      "message": "[GENETLINK]: Fix misplaced command flags.\n\nThe command flags for dump and do were swapped..\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "334c29a64507dda187565dd0db0403de3d70ec8b",
      "tree": "a01eb4f714f598806e6362f6c291e5dc77e29463",
      "parents": [
        "620034c84d1d939717bdfbe02c51a3fee43541c3"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Mon Dec 04 19:31:51 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Dec 06 18:38:41 2006 -0800"
      },
      "message": "[GENETLINK]: Move command capabilities to flags.\n\nThis patch moves command capabilities to command flags. Other than\nbeing cleaner, saves several bytes.\nWe increment the nlctrl version so as to signal to user space that\nto not expect the attributes. We will try to be careful\nnot to do this too often ;-\u003e\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4d1366d5080fcb4514db58c320b9f60d78918e6",
      "tree": "8358724419b81add4a32e70d9bdcc4676ccd531e",
      "parents": [
        "c40a27f48ceee648e9cfdda040b69e7010d9f82c"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Fri Dec 01 20:07:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:32:09 2006 -0800"
      },
      "message": "[GENETLINK]: Add cmd dump completion.\n\nRemove assumption that generic netlink commands cannot have dump\ncompletion callbacks.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e94ef682053a6eeca91aefdaecf8efe7fd7e33a5",
      "tree": "a3b4796490471d313bab2af4510594a157a400a9",
      "parents": [
        "cdbc6dae5cc90d7d9e109e7d0568979d5355b653"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 23 11:44:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:30:23 2006 -0800"
      },
      "message": "[GENETLINK] ctrl: Avoid empty CTRL_ATTR_OPS attribute when dumping\n\nBased on Jamal\u0027s patch but compiled and even tested. :-)\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17c157c889f4b07258af6bfec9e4e9dcf3c00178",
      "tree": "f17be049a40b5742ca7e67094d6a7063146568d5",
      "parents": [
        "81878d27fdd297a33f3cfcf29483fe1abaf26dec"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Nov 14 19:46:02 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:42 2006 -0800"
      },
      "message": "[GENL]: Add genlmsg_put_reply() to simplify building reply headers\n\nBy modyfing genlmsg_put() to take a genl_family and by adding\ngenlmsg_put_reply() the process of constructing the netlink\nand generic netlink headers is simplified.\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": "81878d27fdd297a33f3cfcf29483fe1abaf26dec",
      "tree": "4ce8183643abce3ec5fe5fdab0c9104204e88e6e",
      "parents": [
        "3dabc7157859e706770c825aa229f8943db4e0e1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Nov 14 19:45:27 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:41 2006 -0800"
      },
      "message": "[GENL]: Add genlmsg_reply() to simply unicast replies to requests\n\nA generic netlink user has no interest in knowing how to\naddress the source of the original request.\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": "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": "eb328111efde7bca782f340fe805756039ec6a0c",
      "tree": "77c38b0a7ee67703c95caf16c6691576e2f77d03",
      "parents": [
        "78e5b8916e7db119850f57ce8548fbb9767078fc"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Sep 18 00:01:59 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:51 2006 -0700"
      },
      "message": "[GENL]: Provide more information to userspace about registered genl families\n\nAdditionaly exports the following information when providing\nthe list of registered generic netlink families:\n  - protocol version\n  - header size\n  - maximum number of attributes\n  - list of available operations including\n      - id\n      - flags\n      - avaiability of policy and doit/dumpit function\n\nlibnl HEAD provides a utility to read this new information:\n\n\t0x0010 nlctrl version 1\n\t    hdrsize 0 maxattr 6\n\t      op GETFAMILY (0x03) [POLICY,DOIT,DUMPIT]\n\t0x0011 NLBL_MGMT version 1\n\t    hdrsize 0 maxattr 0\n\t      op unknown (0x02) [DOIT]\n\t      op unknown (0x03) [DOIT]\n\t      ....\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5176f91ea83f1a59eba4dba88634a4729d51d1ac",
      "tree": "80b35d2cd7ab316f0ee96ab742fee5073b949130",
      "parents": [
        "a5531a5d852008be40811496029012f4ad3093d1"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Sat Aug 26 20:13:18 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:18:25 2006 -0700"
      },
      "message": "[NETLINK]: Make use of NLA_STRING/NLA_NUL_STRING attribute validation\n\nConverts existing NLA_STRING attributes to use the new\nvalidation features, saving a couple of temporary buffers.\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": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "c7bdb545d23026b18be53289fd866d1ac07f5f8c",
      "tree": "6d9a218871d88f7579dd53f14692df2529b6e712",
      "parents": [
        "576a30eb6453439b3c37ba24455ac7090c247b5a"
      ],
      "author": {
        "name": "Darrel Goeddel",
        "email": "dgoeddel@trustedcs.com",
        "time": "Tue Jun 27 13:26:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:57:55 2006 -0700"
      },
      "message": "[NETLINK]: Encapsulate eff_cap usage within security framework.\n\nThis patch encapsulates the usage of eff_cap (in netlink_skb_params) within\nthe security framework by extending security_netlink_recv to include a required\ncapability parameter and converting all direct usage of eff_caps outside\nof the lsm modules to use the interface.  It also updates the SELinux\nimplementation of the security_netlink_send and security_netlink_recv\nhooks to take advantage of the sid in the netlink_skb_params struct.\nThis also enables SELinux to perform auditing of netlink capability checks.\nPlease apply, for 2.6.18 if possible.\n\nSigned-off-by: Darrel Goeddel \u003cdgoeddel@trustedcs.com\u003e\nSigned-off-by: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nAcked-by:  James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14cc3e2b633bb64063698980974df4535368e98f",
      "tree": "d542c9db7376de199d640b8e34d5630460b217b5",
      "parents": [
        "353ab6e97b8f209dbecc9f650f1f84e3da2a7bb1"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sun Mar 26 01:37:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Mar 26 08:56:55 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: misc static one-file mutexes\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Jones \u003cdavej@codemonkey.org.uk\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCc: Jens Axboe \u003caxboe@suse.de\u003e\nCc: Neil Brown \u003cneilb@cse.unsw.edu.au\u003e\nAcked-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nCc: Adam Belay \u003cambx1@neo.rr.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e200bd8065e4db6297cd8db071a9188cf9aa6b56",
      "tree": "80c9ced19aa5a0fa0cc9be69d34ca45cf92394ad",
      "parents": [
        "178a3259f2508e786fb1bd6538365a167cee35c1"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Mon Feb 13 15:51:24 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 13 15:51:24 2006 -0800"
      },
      "message": "[NETLINK] genetlink: Fix bugs spotted by Andrew Morton.\n\n- panic() doesn\u0027t return.\n\n- Don\u0027t forget to unlock on genl_register_family() error path\n\n- genl_rcv_msg() is called via pointer so there\u0027s no point in declaring it\n  `inline\u0027.\n\nNotes:\n\ngenl_ctrl_event() ignores the genlmsg_multicast() return value.\n\nlots of things ignore the genl_ctrl_event() return value.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23b0ca5bf52cef0ab0f0fe247cb91cbef836e7eb",
      "tree": "3643a547de2c6f3bad63361d1584ff566c9012ba",
      "parents": [
        "2e4e6a17af35be359cc8f1c924f8f198fbd478cc"
      ],
      "author": {
        "name": "Per Liden",
        "email": "per.liden@ericsson.com",
        "time": "Fri Jan 13 13:06:40 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 13 13:06:40 2006 -0800"
      },
      "message": "[PATCH] genetlink: don\u0027t touch module ref count\n\nIncreasing the module ref count at registration will block the module from\never being unloaded. In fact, genetlink should not care about the owner at\nall. This patch removes the owner field from the struct registered with\ngenetlink.\n\nSigned-off-by: Per Liden \u003cper.liden@ericsson.com\u003e\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b461d2f2188c1c578ed651e4cdf608be7a993cd4",
      "tree": "0a53ece878f2f5e3accdf45cdc76bdd1b2ef62f5",
      "parents": [
        "fd19f329a32bdc4eb07885e0b3889567cfe00aa7"
      ],
      "author": {
        "name": "Per Liden",
        "email": "per.liden@ericsson.com",
        "time": "Tue Jan 03 14:13:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 14:13:29 2006 -0800"
      },
      "message": "[NETLINK] genetlink: fix cmd type in genl_ops to be consistent to u8\n\nSigned-off-by: Per Liden \u003cper.liden@ericsson.com\u003e\nACKed-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "482a8524f85a7d8c40c6fb5d072e85bc2fef327f",
      "tree": "cbd4225da63a687dd70441d41aad35ff5c171f48",
      "parents": [
        "9ac4a16983ea4edf719c390a1a234d956947688d"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 10 02:25:56 2005 +0100"
      },
      "committer": {
        "name": "Thomas Graf",
        "email": "tgr@axs.localdomain",
        "time": "Thu Nov 10 02:26:41 2005 +0100"
      },
      "message": "[NETLINK]: Generic netlink family\n\nThe generic netlink family builds on top of netlink and provides\nsimplifies access for the less demanding netlink users. It solves\nthe problem of protocol numbers running out by introducing a so\ncalled controller taking care of id management and name resolving.\n\nGeneric netlink modules register themself after filling out their\nid card (struct genl_family), after successful registration the\nmodules are able to register callbacks to command numbers by\nfilling out a struct genl_ops and calling genl_register_op(). The\nregistered callbacks are invoked with attributes parsed making\nlife of simple modules a lot easier.\n\nAlthough generic netlink modules can request static identifiers,\nit is recommended to use GENL_ID_GENERATE and to let the controller\nassign a unique identifier to the module. Userspace applications\nwill then ask the controller and lookup the idenfier by the module\nname.\n\nDue to the current multicast implementation of netlink, the number\nof generic netlink modules is restricted to 1024 to avoid wasting\nmemory for the per socket multiacst subscription bitmask.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
