)]}'
{
  "log": [
    {
      "commit": "910a7e905f36e51a17d6e8bb4ad6dcd5ac5f1d53",
      "tree": "63587b03de37a6b9a6b58c203719a24d57edf850",
      "parents": [
        "d6523ddf2376f39eaa89a4d68a33052d20c138b9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 04 17:36:46 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:37:32 2010 -0700"
      },
      "message": "netlink: Implment netlink_broadcast_filtered\n\nWhen netlink sockets are used to convey data that is in a namespace\nwe need a way to select a subset of the listening sockets to deliver\nthe packet to.  For the network namespace we have been doing this\nby only transmitting packets in the correct network namespace.\n\nFor data belonging to other namespaces netlink_bradcast_filtered\nprovides a mechanism that allows us to examine the destination\nsocket and to decide if we should transmit the specified packet\nto it.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\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": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 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/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "cb4361c1dc29cd870f664c004b1817106fbce0fa",
      "tree": "c31533210d738c9074b21b8f31fe0399b39545f0",
      "parents": [
        "309361e09ca9e9670dc8664e5d14125bf82078af",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:34:06 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 06 08:34:06 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)\n  smc91c92_cs: fix the problem of \"Unable to find hardware address\"\n  r8169: clean up my printk uglyness\n  net: Hook up cxgb4 to Kconfig and Makefile\n  cxgb4: Add main driver file and driver Makefile\n  cxgb4: Add remaining driver headers and L2T management\n  cxgb4: Add packet queues and packet DMA code\n  cxgb4: Add HW and FW support code\n  cxgb4: Add register, message, and FW definitions\n  netlabel: Fix several rcu_dereference() calls used without RCU read locks\n  bonding: fix potential deadlock in bond_uninit()\n  net: check the length of the socket address passed to connect(2)\n  stmmac: add documentation for the driver.\n  stmmac: fix kconfig for crc32 build error\n  be2net: fix bug in vlan rx path for big endian architecture\n  be2net: fix flashing on big endian architectures\n  be2net: fix a bug in flashing the redboot section\n  bonding: bond_xmit_roundrobin() fix\n  drivers/net: Add missing unlock\n  net: gianfar - align BD ring size console messages\n  net: gianfar - initialize per-queue statistics\n  ...\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": "6503d96168f891ffa3b70ae6c9698a1a722025a0",
      "tree": "9fafcd9eb2c0b3feda0cf4c36e4167ba3028d83a",
      "parents": [
        "a1d6f3f65512cc90a636e6ec653b7bc9e2238753"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Wed Mar 31 22:58:26 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 01 17:26:01 2010 -0700"
      },
      "message": "net: check the length of the socket address passed to connect(2)\n\ncheck the length of the socket address passed to connect(2).\n\nCheck the length of the socket address passed to connect(2). If the\nlength is invalid, -EINVAL will be returned.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\nnet/bluetooth/l2cap.c | 3 ++-\nnet/bluetooth/rfcomm/sock.c | 3 ++-\nnet/bluetooth/sco.c | 3 ++-\nnet/can/bcm.c | 3 +++\nnet/ieee802154/af_ieee802154.c | 3 +++\nnet/ipv4/af_inet.c | 5 +++++\nnet/netlink/af_netlink.c | 3 +++\n7 files changed, 20 insertions(+), 3 deletions(-)\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": "66aa4a55fe0548c8b13a195c61774db65c5896cd",
      "tree": "d689361c310ae55678f9fbd73b8d2d273f830ecc",
      "parents": [
        "5c58c47a4f3758c81594402451d8fe0d8accb4e8"
      ],
      "author": {
        "name": "Tom Goff",
        "email": "thomas.goff@boeing.com",
        "time": "Fri Mar 19 15:38:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 26 20:13:58 2010 -0700"
      },
      "message": "netlink: use the appropriate namespace pid\n\nThis was included in OpenVZ kernels but wasn\u0027t integrated upstream.\n\u003eFrom git://git.openvz.org/pub/linux-2.6.24-openvz:\n\n\tcommit 5c69402f18adf7276352e051ece2cf31feefab02\n\tAuthor: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\n\tDate:   Mon Dec 24 14:37:45 2007 +0300\n\n\t    netlink: fixup -\u003etgid to work in multiple PID namespaces\n\nSigned-off-by: Tom Goff \u003cthomas.goff@boeing.com\u003e\nAcked-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a50307ba1826e4da0024e64b245ce4eadf7688a",
      "tree": "48c0b788b925d6ae0877f5b95f5e0794ce0601a7",
      "parents": [
        "73852e8151b7d7a529fbe019ab6d2d0c02d8f3f2"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Mar 18 14:24:42 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 20 14:29:03 2010 -0700"
      },
      "message": "netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()\n\nCurrently, ENOBUFS errors are reported to the socket via\nnetlink_set_err() even if NETLINK_RECV_NO_ENOBUFS is set. However,\nthat should not happen. This fixes this problem and it changes the\nprototype of netlink_set_err() to return the number of sockets that\nhave set the NETLINK_RECV_NO_ENOBUFS socket option. This return\nvalue is used in the next patch in these bugfix series.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf0aa4e07c32b0c211c24742aa015c0e7a135293",
      "tree": "d010a4d165d71965529338fc9f41a8f5549d7ed0",
      "parents": [
        "60bbc725b5b3009bb1bf2628ce5033d9bc108881"
      ],
      "author": {
        "name": "Masatake YAMATO",
        "email": "yamato@redhat.com",
        "time": "Sat Feb 27 19:45:37 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 28 01:29:49 2010 -0800"
      },
      "message": "netlink: Adding inode field to /proc/net/netlink\n\nThe Inode field in /proc/net/{tcp,udp,packet,raw,...} is useful to know the types of\nfile descriptors associated to a process. Actually lsof utility uses the field.\nUnfortunately, unlike /proc/net/{tcp,udp,packet,raw,...}, /proc/net/netlink doesn\u0027t have the field.\nThis patch adds the field to /proc/net/netlink.\n\nSigned-off-by: Masatake YAMATO \u003cyamato@redhat.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c119ba54c0fcae72881948af3d37b47a2f8e1f9",
      "tree": "0be51b0bf02ece3bb32955e9d33a3998ecd57250",
      "parents": [
        "a4b97f2054af2e411c414ed4cb5e1d0dbfd24a47",
        "fdd3d631cddad20ad9d3e1eb7dbf26825a8a121f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 03 19:38:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 03 19:38:22 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "974c37e9d88c3e5a3e56eb98cb9c84232eb2bdcb",
      "tree": "08c8f419edf13451fd603a865912ba451677bb31",
      "parents": [
        "180211b841b5bf13ab10d19202adab3eb7749f6c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jan 30 10:05:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 03 18:13:43 2010 -0800"
      },
      "message": "netlink: fix for too early rmmod\n\nNetlink code does module autoload if protocol userspace is asking for is\nnot ready. However, module can dissapear right after it was autoloaded.\nExample: modprobe/rmmod stress-testing and xfrm_user.ko providing NETLINK_XFRM.\n\nnetlink_create() in such situation _will_ create userspace socket and\n_will_not_ pin module. Now if module was removed and we\u0027re going to call\n-\u003enetlink_rcv into nothing:\n\nBUG: unable to handle kernel paging request at ffffffffa02f842a\n\t\t\t\t\t       ^^^^^^^^^^^^^^^^\n\tmodules are loaded near these addresses here\n\nIP: [\u003cffffffffa02f842a\u003e] 0xffffffffa02f842a\nPGD 161f067 PUD 1623063 PMD baa12067 PTE 0\nOops: 0010 [#1] PREEMPT SMP DEBUG_PAGEALLOC\nlast sysfs file: /sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/uevent\nCPU 1\nPid: 11515, comm: ip Not tainted 2.6.33-rc5-netns-00594-gaaa5728-dirty #6 P5E/P5E\nRIP: 0010:[\u003cffffffffa02f842a\u003e]  [\u003cffffffffa02f842a\u003e] 0xffffffffa02f842a\nRSP: 0018:ffff8800baa3db48  EFLAGS: 00010292\nRAX: ffff8800baa3dfd8 RBX: ffff8800be353640 RCX: 0000000000000000\nRDX: ffffffff81959380 RSI: ffff8800bab7f130 RDI: 0000000000000001\nRBP: ffff8800baa3db58 R08: 0000000000000001 R09: 0000000000000000\nR10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000011\nR13: ffff8800be353640 R14: ffff8800bcdec240 R15: ffff8800bd488010\nFS:  00007f93749656f0(0000) GS:ffff880002300000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b\nCR2: ffffffffa02f842a CR3: 00000000ba82b000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess ip (pid: 11515, threadinfo ffff8800baa3c000, task ffff8800bab7eb30)\nStack:\n ffffffff813637c0 ffff8800bd488000 ffff8800baa3dba8 ffffffff8136397d\n\u003c0\u003e 0000000000000000 ffffffff81344adc 7fffffffffffffff 0000000000000000\n\u003c0\u003e ffff8800baa3ded8 ffff8800be353640 ffff8800bcdec240 0000000000000000\nCall Trace:\n [\u003cffffffff813637c0\u003e] ? netlink_unicast+0x100/0x2d0\n [\u003cffffffff8136397d\u003e] netlink_unicast+0x2bd/0x2d0\n\n\tnetlink_unicast_kernel:\n\t\tnlk-\u003enetlink_rcv(skb);\n\n [\u003cffffffff81344adc\u003e] ? memcpy_fromiovec+0x6c/0x90\n [\u003cffffffff81364263\u003e] netlink_sendmsg+0x1d3/0x2d0\n [\u003cffffffff8133975b\u003e] sock_sendmsg+0xbb/0xf0\n [\u003cffffffff8106cdeb\u003e] ? __lock_acquire+0x27b/0xa60\n [\u003cffffffff810a18c3\u003e] ? might_fault+0x73/0xd0\n [\u003cffffffff810a18c3\u003e] ? might_fault+0x73/0xd0\n [\u003cffffffff8106db22\u003e] ? __lock_release+0x82/0x170\n [\u003cffffffff810a190e\u003e] ? might_fault+0xbe/0xd0\n [\u003cffffffff810a18c3\u003e] ? might_fault+0x73/0xd0\n [\u003cffffffff81344c77\u003e] ? verify_iovec+0x47/0xd0\n [\u003cffffffff8133a509\u003e] sys_sendmsg+0x1a9/0x360\n [\u003cffffffff813c2be5\u003e] ? _raw_spin_unlock_irqrestore+0x65/0x70\n [\u003cffffffff8106aced\u003e] ? trace_hardirqs_on+0xd/0x10\n [\u003cffffffff813c2bc2\u003e] ? _raw_spin_unlock_irqrestore+0x42/0x70\n [\u003cffffffff81197004\u003e] ? __up_read+0x84/0xb0\n [\u003cffffffff8106ac95\u003e] ? trace_hardirqs_on_caller+0x145/0x190\n [\u003cffffffff813c207f\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n [\u003cffffffff8100262b\u003e] system_call_fastpath+0x16/0x1b\nCode:  Bad RIP value.\nRIP  [\u003cffffffffa02f842a\u003e] 0xffffffffa02f842a\n RSP \u003cffff8800baa3db48\u003e\nCR2: ffffffffa02f842a\n\nIf module was quickly removed after autoloading, return -E.\n\nReturn -EPROTONOSUPPORT if module was quickly removed after autoloading.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\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": "09ad9bc752519cc167d0a573e1acf69b5c707c67",
      "tree": "0e190a9ffb90d7e0534136c3e9f31dce02f423c3",
      "parents": [
        "4ba3eb034fb6fd1990ccc5a6d71d5abcda37b905"
      ],
      "author": {
        "name": "Octavian Purdila",
        "email": "opurdila@ixiacom.com",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:14:13 2009 -0800"
      },
      "message": "net: use net_eq to compare nets\n\nGenerated with the following semantic patch\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 \u003d\u003d n2\n+ net_eq(n1, n2)\n\n@@\nstruct net *n1;\nstruct net *n2;\n@@\n- n1 !\u003d n2\n+ !net_eq(n1, n2)\n\napplied over {include,net,drivers/net}.\n\nSigned-off-by: Octavian Purdila \u003copurdila@ixiacom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "649300b9278dc9fc9c7dfaaa3719ead70882e726",
      "tree": "033f070756ccb304afbc1ade495d5b1761c2d836",
      "parents": [
        "54b9ddaa68414fad72ab2e1042be067c902441a6"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Nov 16 12:05:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 17 04:08:49 2009 -0800"
      },
      "message": "netlink: remove subscriptions check on notifier\n\nThe netlink URELEASE notifier doesn\u0027t notify for\nsockets that have been used to receive multicast\nbut it should be called for such sockets as well\nsince they might _also_ be used for sending and\nnot solely for receiving multicast. We will need\nthat for nl80211 (generic netlink sockets) in the\nfuture.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13cfa97bef0f1172879f98307ac716acf3e9cea9",
      "tree": "012d5da286e39fbe94c7b100be9153a49191bd7e",
      "parents": [
        "37e8273cd30592d3a82bcb70cbb1bdc4eaeb6b71"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Sun Nov 08 05:51:19 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 10 20:54:41 2009 -0800"
      },
      "message": "net: netlink_getname, packet_getname -- use DECLARE_SOCKADDR guard\n\nUse guard DECLARE_SOCKADDR in a few more places which allow\nus to catch if the structure copied back is too big.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f378b684453f2a028eda463ce383370545d9cc9",
      "tree": "dc50d087e137c6d173e25ae10ecd0f10823eca7a",
      "parents": [
        "13f18aa05f5abe135f47b6417537ae2b2fedc18c"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 05 22:18:14 2009 -0800"
      },
      "message": "net: pass kern to net_proto_family create function\n\nThe generic __sock_create function has a kern argument which allows the\nsecurity system to make decisions based on if a socket is being created by\nthe kernel or by userspace.  This patch passes that flag to the\nnet_proto_family specific create function, so it can do the same thing.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\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": "ec1b4cf74c81bfd0fbe5bf62bafc86c45917e72f",
      "tree": "1b693e4e027f3e42224e6221ae018daeb562e5e1",
      "parents": [
        "f7734fdf61ec6bb848e0bafc1fb8bad2c124bb50"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Oct 05 05:58:39 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 07 01:10:46 2009 -0700"
      },
      "message": "net: mark net_proto_ops as const\n\nAll usages of structure net_proto_ops should be declared const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7058842c940ad2c08dd829b21e5c92ebe3b8758",
      "tree": "5fe78d599fc345ca0bcd4b083b79095a54b2921b",
      "parents": [
        "eb1cf0f8f7a9e5a6d573d5bd72c015686a042db0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 30 16:12:20 2009 -0700"
      },
      "message": "net: Make setsockopt() optlen be unsigned.\n\nThis provides safety against negative optlen at the type\nlevel instead of depending upon (sometimes non-trivial)\nchecks against this sprinkled all over the the place, in\neach and every implementation.\n\nBased upon work done by Arjan van de Ven and feedback\nfrom Linus Torvalds.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dba93aedfc6906b27791c4a1136b177beae25b7",
      "tree": "2d2493187f430245110bd640c8a5c990aaf865d7",
      "parents": [
        "fc482cc54e56bde012585905eb0f3565bec18ff5"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.r.fastabend@intel.com",
        "time": "Fri Sep 25 13:11:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 26 20:16:11 2009 -0700"
      },
      "message": "net: fix nlmsg len size for skb when error bit is set.\n\nCurrently, the nlmsg-\u003elen field is not set correctly in  netlink_ack()\nfor ack messages that include the nlmsg of the error frame.  This\ncorrects the length field passed to __nlmsg_put to use the correct\npayload size.\n\nSigned-off-by: John Fastabend \u003cjohn.r.fastabend@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.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": "4481374ce88ba8f460c8b89f2572027bd27057d0",
      "tree": "6896601b6a1da0e3e932ffa75fcff966c834c02c",
      "parents": [
        "4738e1b9cf8f9e28d7de080a5e6ce5d0095ea18f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Mon Sep 21 17:03:05 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:38 2009 -0700"
      },
      "message": "mm: replace various uses of num_physpages by totalram_pages\n\nSizing of memory allocations shouldn\u0027t depend on the number of physical\npages found in a system, as that generally includes (perhaps a huge amount\nof) non-RAM pages.  The amount of what actually is usable as storage\nshould instead be used as a basis here.\n\nSome of the calculations (i.e.  those not intending to use high memory)\nshould likely even use (totalram_pages - totalhigh_pages).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nAcked-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\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": "9a0da0d19c573e01aded6ac17747d2efc5b1115f",
      "tree": "76294327bae4b3e45b16c690bda4b24951f237cf",
      "parents": [
        "ec282e9225be924479d4880b51f13524795bd8d3",
        "8a56df0ae1690f8f42a3c6c4532f4b06f93febea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 10 18:17:09 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\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": "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": "1dacc76d0014a034b8aca14237c127d7c19d7726",
      "tree": "d3ba044578fab9076ef4a73694fa7d23d4a50969",
      "parents": [
        "4f45b2cd4e78b5e49d7d41548345b879d3fdfeae"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 01 11:26:02 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 15 08:53:39 2009 -0700"
      },
      "message": "net/compat/wext: send different messages to compat tasks\n\nWireless extensions have the unfortunate problem that events\nare multicast netlink messages, and are not independent of\npointer size. Thus, currently 32-bit tasks on 64-bit platforms\ncannot properly receive events and fail with all kinds of\nstrange problems, for instance wpa_supplicant never notices\ndisassociations, due to the way the 64-bit event looks (to a\n32-bit process), the fact that the address is all zeroes is\nlost, it thinks instead it is 00:00:00:00:01:00.\n\nThe same problem existed with the ioctls, until David Miller\nfixed those some time ago in an heroic effort.\n\nA different problem caused by this is that we cannot send the\nASSOCREQIE/ASSOCRESPIE events because sending them causes a\n32-bit wpa_supplicant on a 64-bit system to overwrite its\ninternal information, which is worse than it not getting the\ninformation at all -- so we currently resort to sending a\ncustom string event that it then parses. This, however, has a\nsevere size limitation we are frequently hitting with modern\naccess points; this limitation would can be lifted after this\npatch by sending the correct binary, not custom, event.\n\nA similar problem apparently happens for some other netlink\nusers on x86_64 with 32-bit tasks due to the alignment for\n64-bit quantities.\n\nIn order to fix these problems, I have implemented a way to\nsend compat messages to tasks. When sending an event, we send\nthe non-compat event data together with a compat event data in\nskb_shinfo(main_skb)-\u003efrag_list. Then, when the event is read\nfrom the socket, the netlink code makes sure to pass out only\nthe skb that is compatible with the task. This approach was\nsuggested by David Miller, my original approach required\nalways sending two skbs but that had various small problems.\n\nTo determine whether compat is needed or not, I have used the\nMSG_CMSG_COMPAT flag, and adjusted the call path for recv and\nrecvfrom to include it, even if those calls do not have a cmsg\nparameter.\n\nI have not solved one small part of the problem, and I don\u0027t\nthink it is necessary to: if a 32-bit application uses read()\nrather than any form of recvmsg() it will still get the wrong\n(64-bit) event. However, neither do applications actually do\nthis, nor would it be a regression.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\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": "6c04bb18ddd633b7feac2c8fe2ae0bf61d20ca7a",
      "tree": "d80582a2c3c248acef1193291a1888ffd588e9fd",
      "parents": [
        "487420df79f1d9f5b9de74c9bef378609c475a39"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 09:51:32 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 12 14:03:24 2009 -0700"
      },
      "message": "netlink: use call_rcu for netlink_change_ngroups\n\nFor the network namespace work in generic netlink I need\nto be able to call this function under rcu_read_lock(),\notherwise the locking becomes a nightmare and more locks\nwould be needed. Instead, just embed a struct rcu_head\n(actually a struct listeners_rcu_head that also carries\nthe pointer to the memory block) into the listeners\nmemory so we can use call_rcu() instead of synchronising\nand then freeing. No rcu_barrier() is needed since this\ncode cannot be modular.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "487420df79f1d9f5b9de74c9bef378609c475a39",
      "tree": "d5013580950e5a317399ff00259934b58425beb6",
      "parents": [
        "5bc38193c1793e240a7e0b93f129606931e35fdb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Jul 10 08:32:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 12 14:03:19 2009 -0700"
      },
      "message": "netlink: remove unused exports\n\nI added those myself in commits b4ff4f04 and 84659eb5,\nbut I see no reason now why they should be exported,\nonly generic netlink uses them which cannot be modular.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e6d363abcd0d05766c82f1a9c905a4c974a199",
      "tree": "f2b5c46354d95f91e743ae748b8add0de8bffd17",
      "parents": [
        "d3b238a03efd6d644ff93c8b10a1d38a596f2e34"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Jun 17 19:05:41 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 18 00:29:12 2009 -0700"
      },
      "message": "net: correct off-by-one write allocations reports\n\ncommit 2b85a34e911bf483c27cfdd124aeb1605145dc80\n(net: No more expensive sock_hold()/sock_put() on each tx)\nchanged initial sk_wmem_alloc value.\n\nWe need to take into account this offset when reporting\nsk_wmem_alloc to user, in PROC_FS files or various\nioctls (SIOCOUTQ/TIOCOUTQ)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\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": "08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6",
      "tree": "2be39bf8942edca1bcec735145e144a682ca9cd3",
      "parents": [
        "f0de70f8bb56952f6e016a65a8a8d006918f5bf6",
        "0384e2959127a56d0640505d004d8dd92f9c29f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/wimax/i2400m/usb-notif.c\n"
    },
    {
      "commit": "562f477a54478002ddfbb5b85627c009ca41e71d",
      "tree": "52384cc554ae64cc7a26878d64d606f40fd703ce",
      "parents": [
        "ada19a31a90b4f46c040c25ef4ef8ffc203c7fc6",
        "949abe574739848b1e68271fbac86c3cb4506aad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:04:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:04:34 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (29 commits)\n  crypto: sha512-s390 - Add missing block size\n  hwrng: timeriomem - Breaks an allyesconfig build on s390:\n  nlattr: Fix build error with NET off\n  crypto: testmgr - add zlib test\n  crypto: zlib - New zlib crypto module, using pcomp\n  crypto: testmgr - Add support for the pcomp interface\n  crypto: compress - Add pcomp interface\n  netlink: Move netlink attribute parsing support to lib\n  crypto: Fix dead links\n  hwrng: timeriomem - New driver\n  crypto: chainiv - Use kcrypto_wq instead of keventd_wq\n  crypto: cryptd - Per-CPU thread implementation based on kcrypto_wq\n  crypto: api - Use dedicated workqueue for crypto subsystem\n  crypto: testmgr - Test skciphers with no IVs\n  crypto: aead - Avoid infinite loop when nivaead fails selftest\n  crypto: skcipher - Avoid infinite loop when cipher fails selftest\n  crypto: api - Fix crypto_alloc_tfm/create_create_tfm return convention\n  crypto: api - crypto_alg_mod_lookup either tested or untested\n  crypto: amcc - Add crypt4xx driver\n  crypto: ansi_cprng - Add maintainer\n  ...\n"
    },
    {
      "commit": "38938bfe3489394e2eed5e40c9bb8f66a2ce1405",
      "tree": "cbe1cafdaa990d31f0297d306e3adc61bb1e95a2",
      "parents": [
        "7f649269c318c41030e492fc35f03d38c6e3b39b"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Mar 24 16:37:55 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 16:37:55 2009 -0700"
      },
      "message": "netlink: add NETLINK_NO_ENOBUFS socket flag\n\nThis patch adds the NETLINK_NO_ENOBUFS socket flag. This flag can\nbe used by unicast and broadcast listeners to avoid receiving\nENOBUFS errors.\n\nGenerally speaking, ENOBUFS errors are useful to notify two things\nto the listener:\n\na) You may increase the receiver buffer size via setsockopt().\nb) You have lost messages, you may be out of sync.\n\nIn some cases, ignoring ENOBUFS errors can be useful. For example:\n\na) nfnetlink_queue: this subsystem does not have any sort of resync\nmethod and you can decide to ignore ENOBUFS once you have set a\ngiven buffer size.\n\nb) ctnetlink: you can use this together with the socket flag\nNETLINK_BROADCAST_SEND_ERROR to stop getting ENOBUFS errors as\nyou do not need to resync (packets whose event are not delivered\nare drop to provide reliable logging and state-synchronization).\n\nMoreover, the use of NETLINK_NO_ENOBUFS also reduces a \"go up, go down\"\neffect in terms of performance which is due to the netlink congestion\ncontrol when the listener cannot back off. The effect is the following:\n\n1) throughput rate goes up and netlink messages are inserted in the\nreceiver buffer.\n2) Then, netlink buffer fills and overruns (set on nlk-\u003estate bit 0).\n3) While the listener empties the receiver buffer, netlink keeps\ndropping messages. Thus, throughput goes dramatically down.\n4) Then, once the listener has emptied the buffer (nlk-\u003estate\nbit 0 is set off), goto step 1.\n\nThis effect is easy to trigger with netlink broadcast under heavy\nload, and it is more noticeable when using a big receiver buffer.\nYou can find some results in [1] that show this problem.\n\n[1] http://1984.lsi.us.es/linux/netlink/\n\nThis patch also includes the use of sk_drop to account the number of\nnetlink messages drop due to overrun. This value is shown in\n/proc/net/netlink.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5bb14386eabcb4229ade2bc0a2b237ca166d37d",
      "tree": "1966e65479f0d12cec0a204443a95b8eb57946db",
      "parents": [
        "bb4f92b3a33bfc31f55098da85be44702bea2d16",
        "1d45209d89e647e9f27e4afa1f47338df73bc112"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 13:24:36 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 13:24:36 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "dd5b6ce6fd465eab90357711c8e8124dc3a31ff0",
      "tree": "ebc40b018356e8cac36ba575e3f183c1a16b782b",
      "parents": [
        "176252746ebbc8db97e304345af1f2563c7dc139"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Mar 23 13:21:06 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Mar 23 13:21:06 2009 +0100"
      },
      "message": "nefilter: nfnetlink: add nfnetlink_set_err and use it in ctnetlink\n\nThis patch adds nfnetlink_set_err() to propagate the error to netlink\nbroadcast listener in case of memory allocation errors in the\nmessage building.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "508827ff0ac3981d420edac64a70de7f4e304d38",
      "tree": "b0cee8ddef9f0ceab68c388e4ae46b7295eb2cb5",
      "parents": [
        "2c3c3d02f28801d7ad2da4952b2c7ca6621ef221",
        "72e2240f181871675d3a979766330c91d48a1673"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/tokenring/tmspci.c\n\tdrivers/net/ucc_geth_mii.c\n"
    },
    {
      "commit": "4843b93c96ae5043c6279c4ec6fcd8ee3866ff5b",
      "tree": "58532635d403fba5b1514dfbf2c707f93b5ba1ed",
      "parents": [
        "17edde520927070a6bf14a6a75027c0b843443e5"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Mar 03 23:37:30 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 03 23:37:30 2009 -0800"
      },
      "message": "netlink: invert error code in netlink_set_err()\n\nThe callers of netlink_set_err() currently pass a negative value\nas parameter for the error code. However, sk-\u003esk_err wants a\npositive error value. Without this patch, skb_recv_datagram() called\nby netlink_recvmsg() may return a positive value to report an error.\n\nAnother choice to fix this is to change callers to pass a positive\nerror value, but this seems a bit inconsistent and error prone\nto me. Indeed, the callers of netlink_set_err() assumed that the\n(usual) negative value for error codes was fine before this patch :).\n\nThis patch also includes some documentation in docbook format\nfor netlink_set_err() to avoid this sort of confusion.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9cc8bddaea3944fabfebb968bc88d603239beed",
      "tree": "9d311256882e48bd133f31db564a307c2a271453",
      "parents": [
        "8c882f64130071eaebdc0861bee34a73e436f004"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Mar 04 14:53:30 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Mar 04 14:53:30 2009 +0800"
      },
      "message": "netlink: Move netlink attribute parsing support to lib\n\nNetlink attribute parsing may be used even if CONFIG_NET is not set.\nMove it from net/netlink to lib and control its inclusion based on the new\nconfig symbol CONFIG_NLATTR, which is selected by CONFIG_NET.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "91744f6559393697e13bf0f9f3f35f884e2520f9",
      "tree": "b0f1d8a2145bc5a59147ae9e5660985f389657aa",
      "parents": [
        "40d44446cf10d9d118e8f0132c94e1f25ea3be97"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Feb 25 00:34:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:07:34 2009 -0800"
      },
      "message": "netlink: remove some pointless conditionals before kfree_skb()\n\nRemove some pointless conditionals before kfree_skb().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce85fe402137824246bad03ff85f3913d565c17",
      "tree": "3a54c150e9616709a8f65270cd1f4aeecac4d48e",
      "parents": [
        "4fb0a54a55d34c28dc53c39567ce171166572699"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "message": "netlink: change nlmsg_notify() return value logic\n\nThis patch changes the return value of nlmsg_notify() as follows:\n\nIf NETLINK_BROADCAST_ERROR is set by any of the listeners and\nan error in the delivery happened, return the broadcast error;\nelse if there are no listeners apart from the socket that\nrequested a change with the echo flag, return the result of the\nunicast notification. Thus, with this patch, the unicast\nnotification is handled in the same way of a broadcast listener\nthat has set the NETLINK_BROADCAST_ERROR socket flag.\n\nThis patch is useful in case that the caller of nlmsg_notify()\nwants to know the result of the delivery of a netlink notification\n(including the broadcast delivery) and take any action in case\nthat the delivery failed. For example, ctnetlink can drop packets\nif the event delivery failed to provide reliable logging and\nstate-synchronization at the cost of dropping packets.\n\nThis patch also modifies the rtnetlink code to ignore the return\nvalue of rtnl_notify() in all callers. The function rtnl_notify()\n(before this patch) returned the error of the unicast notification\nwhich makes rtnl_set_sk_err() reports errors to all listeners. This\nis not of any help since the origin of the change (the socket that\nrequested the echoing) notices the ENOBUFS error if the notification\nfails and should resync itself.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be0c22a46cfb79ab2342bb28fde99afa94ef868e",
      "tree": "da112ef3066d75a7e5adcfe3355ad2b60ef1929b",
      "parents": [
        "2d96cf8cdfd625da51e5d237d564cd75d3147547"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Feb 18 01:40:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 20 01:01:08 2009 -0800"
      },
      "message": "netlink: add NETLINK_BROADCAST_ERROR socket option\n\nThis patch adds NETLINK_BROADCAST_ERROR which is a netlink\nsocket option that the listener can set to make netlink_broadcast()\nreturn errors in the delivery to the caller. This option is useful\nif the caller of netlink_broadcast() do something with the result\nof the message delivery, like in ctnetlink where it drops a network\npacket if the event delivery failed, this is used to enable reliable\nlogging and state-synchronization. If this socket option is not set,\nnetlink_broadcast() only reports ESRCH errors and silently ignore\nENOBUFS errors, which is what most netlink_broadcast() callers\nshould do.\n\nThis socket option is based on a suggestion from Patrick McHardy.\nPatrick McHardy can exchange this patch for a beer from me ;).\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff491a7334acfd74e515c896632e37e401f52676",
      "tree": "0e3663706a706029d6fc749ef7f66cdd03925231",
      "parents": [
        "612e244c12215f6f74973ea3b89bff96450dc530"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Feb 05 23:56:36 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 23:56:36 2009 -0800"
      },
      "message": "netlink: change return-value logic of netlink_broadcast()\n\nCurrently, netlink_broadcast() reports errors to the caller if no\nmessages at all were delivered:\n\n1) If, at least, one message has been delivered correctly, returns 0.\n2) Otherwise, if no messages at all were delivered due to skb_clone()\n   failure, return -ENOBUFS.\n3) Otherwise, if there are no listeners, return -ESRCH.\n\nWith this patch, the caller knows if the delivery of any of the\nmessages to the listeners have failed:\n\n1) If it fails to deliver any message (for whatever reason), return\n   -ENOBUFS.\n2) Otherwise, if all messages were delivered OK, returns 0.\n3) Otherwise, if no listeners, return -ESRCH.\n\nIn the current ctnetlink code and in Netfilter in general, we can add\nreliable logging and connection tracking event delivery by dropping the\npackets whose events were not successfully delivered over Netlink. Of\ncourse, this option would be settable via /proc as this approach reduces\nperformance (in terms of filtered connections per seconds by a stateful\nfirewall) but providing reliable logging and event delivery (for\nconntrackd) in return.\n\nThis patch also changes some clients of netlink_broadcast() that\nmay report ENOBUFS errors via printk. This error handling is not\nof any help. Instead, the userspace daemons that are listening to\nthose netlink messages should resync themselves with the kernel-side\nif they hit ENOBUFS.\n\nBTW, netlink_broadcast() clients include those that call\ncn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they\ninternally call netlink_broadcast() and return its error value.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\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": "ea5693ccc553951ae44cb963b28cce85edc275c9",
      "tree": "44ca6da57e63035537d01cf58c24837067c2ec26",
      "parents": [
        "ed77a89c30fa03dcb234a84ddea710b3fb7b62da"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Nov 28 03:05:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 03:05:19 2008 -0800"
      },
      "message": "netlink: allow empty nested attributes\n\nvalidate_nla() currently doesn\u0027t allow empty nested attributes. This\nmakes userspace code unnecessarily complicated when starting and ending\nthe nested attribute is done by generic upper level code and the inner\nattributes are dumped by a module.\n\nAdd a special case to accept empty nested attributes. When the nested\nattribute is non empty, the same checks as before are performed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3755810cebf7f9902b05c7ba9baeac0fc44881be",
      "tree": "e4bee0e33103781034fdf6144898a67b21778ad7",
      "parents": [
        "920de804bca61f88643bc9171bcd06f1a56c6258"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 14:05:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 14:05:22 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThere is still a call to sock_prot_inuse_add() in af_netlink\nwhile in a preemptable section. Add explicit BH disable around\nthis call.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f756a8c36bf54d0afb1d457082b3e3033d951a7",
      "tree": "33efc99e3df9edf1d777a00913852d24d19b930b",
      "parents": [
        "be77e5930725c3e77bcc0fb1def28e016080d0a1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:34:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:34:03 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThe rule of calling sock_prot_inuse_add() is that BHs must\nbe disabled.  Some new calls were added where this was not\ntrue and this tiggers warnings as reported by Ilpo.\n\nFix this by adding explicit BH disabling around those call sites.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1fd3b9455a977057f73534324d4e07a3d9fe502",
      "tree": "d145a2db2a6195666cf89ff92563de5613847ec9",
      "parents": [
        "04f258ce7f085dd69422fa01d41c8f0194a0e270"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 15:48:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 15:48:22 2008 -0800"
      },
      "message": "net: af_netlink should update its inuse counter\n\nIn order to have relevant information for NETLINK protocol, in\n/proc/net/protocols, we should use sock_prot_inuse_add() to\nupdate a (percpu and pernamespace) counter of inuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.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": "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a",
      "tree": "15452d28df4e4d76fc1276e791a7cc3c6e1a9b3a",
      "parents": [
        "00269b54edbf25f3bb0dccb558ae23a6fc77ed86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "message": "net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n\nSome code here depends on CONFIG_KMOD to not try to load\nprotocol modules or similar, replace by CONFIG_MODULES\nwhere more than just request_module depends on CONFIG_KMOD\nand and also use try_then_request_module in ebtables.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2aca084ba82aaf7c148d04914ceed8758ce08a",
      "tree": "dcb3f4f849cf48deac2dd3bafd5c2cd2f0e7dc79",
      "parents": [
        "f3032be921cd126615ce3bfd7084e3d319f3f892",
        "c5a78ac00c400df29645e59938700301efb371d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wan/hdlc_fr.c\n\tdrivers/net/wireless/iwlwifi/iwl-4965.c\n\tdrivers/net/wireless/iwlwifi/iwl3945-base.c\n"
    },
    {
      "commit": "8487460720fd03a0f4ecd032f017b0a8468028da",
      "tree": "f546d710946a25505db23486632b974850fabfa6",
      "parents": [
        "a4aebb83cf0da0363684f1c339f7e6149a3e74c1"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Tue Jul 01 19:55:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 01 19:55:09 2008 -0700"
      },
      "message": "netlink: Unneeded local variable\n\nWe already have a variable, which has the same capability.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9",
      "tree": "fe3dc41cbb47ae12b7c3faf6a88b097349e50d5a",
      "parents": [
        "e35c3269edba151e1c703d87068a28ce2cd65bb0",
        "d420895efb259a78dda50f95289571faa6e10e41"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 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/iwlwifi/iwl4965-base.c\n"
    },
    {
      "commit": "10b595aff138961b520bfed51d664fd99980f6e9",
      "tree": "47bdac6ac801296a855730e8c6646f038e9f46de",
      "parents": [
        "7be87351a1f6430426e88b4fcde353ab3330caff"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Fri Jun 27 20:02:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 20:02:14 2008 -0700"
      },
      "message": "netlink: Fix some doc comments in net/netlink/attr.c\n\nFix some doc comments to match function and attribute names in\nnet/netlink/attr.c.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0344f1c66b544609e867bd24aa7bfa789dfa9830",
      "tree": "7f76abc095a90f7ad475417495d3d4f577080ae1",
      "parents": [
        "dad9b335c6940de2746a9788eb456d09cf102f81",
        "ef3a62d272f033989e83eb1f26505f93f93e3e69"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 19 16:00:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 19 16:00:04 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tnet/mac80211/tx.c\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": "65b53e4cc90e59936733b3b95b9451d2ca47528d",
      "tree": "29932718192962671c48c3fd1ea017a6112459e8",
      "parents": [
        "788c0a53164c05c5ccdb1472474372b72ba74644",
        "2e761e0532a784816e7e822dbaaece8c5d4be14d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 02:22:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 02:22:26 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/tg3.c\n\tdrivers/net/wireless/rt2x00/rt2x00dev.c\n\tnet/mac80211/ieee80211_i.h\n"
    },
    {
      "commit": "9457afee85e0dfc2b5075a391d6f34463b4c2b90",
      "tree": "39cf1262030ef195876c916a6f64201d66c48312",
      "parents": [
        "40aecb1b13f50d96616abb612c17e59457f54263"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jun 05 11:23:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 05 11:23:39 2008 -0700"
      },
      "message": "netlink: Remove nonblock parameter from netlink_attachskb\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\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": "2532386f480eefbdd67b48be55fb4fb3e5a6081c",
      "tree": "dd6a5a3c4116a67380a1336319c16632f04f80f9",
      "parents": [
        "436c405c7d19455a71f42c9bec5fd5e028f1eb4e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Apr 18 10:09:25 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 28 06:18:03 2008 -0400"
      },
      "message": "Audit: collect sessionid in netlink messages\n\nPreviously I added sessionid output to all audit messages where it was\navailable but we still didn\u0027t know the sessionid of the sender of\nnetlink messages.  This patch adds that information to netlink messages\nso we can audit who sent netlink messages.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3925e6fc1f774048404fdd910b0345b06c699eb4",
      "tree": "c9a58417d9492f39f7fe81d4721d674c34dd8be2",
      "parents": [
        "334d094504c2fe1c44211ecb49146ae6bca8c321",
        "7cea51be4e91edad05bd834f3235b45c57783f0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  security: fix up documentation for security_module_enable\n  Security: Introduce security\u003d boot parameter\n  Audit: Final renamings and cleanup\n  SELinux: use new audit hooks, remove redundant exports\n  Audit: internally use the new LSM audit hooks\n  LSM/Audit: Introduce generic Audit LSM hooks\n  SELinux: remove redundant exports\n  Netlink: Use generic LSM hook\n  Audit: use new LSM hooks instead of SELinux exports\n  SELinux: setup new inode/ipc getsecid hooks\n  LSM: Introduce inode_getsecid and ipc_getsecid hooks\n"
    },
    {
      "commit": "0ce784ca729dce8c9076a6339a15530ca13212f2",
      "tree": "37efdaaa08c1a5cec7ff91be2287358f5ca79ede",
      "parents": [
        "2a862b32f3da5a2120043921ad301322ad526084"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:56:22 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:35 2008 +1000"
      },
      "message": "Netlink: Use generic LSM hook\n\nDon\u0027t use SELinux exported selinux_get_task_sid symbol.\nUse the generic LSM equivalent instead.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "878628fbf2589eb24357e42027d5f54b1dafd3c8",
      "tree": "30c109d8f337b3910e3b5364877c3c521dd700b5",
      "parents": [
        "57da52c1e62c6c13875e97de6c69d3156f8416da"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:57:35 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:40:00 2008 +0900"
      },
      "message": "[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.\n\nIntroduce an inline net_eq() to compare two namespaces.\nWithout CONFIG_NET_NS, since no namespace other than \u0026init_net\nexists, it is always 1.\n\nWe do not need to convert 1) inline vs inline and\n2) inline vs \u0026init_net comparisons.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "1218854afa6f659be90b748cf1bc7badee954a35",
      "tree": "78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0",
      "parents": [
        "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:36:06 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:56 2008 +0900"
      },
      "message": "[NET] NETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\n\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists,\nno need to store net in seq_net_private.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "b1153f29ee07dc1a788964409255a4b4fae50b98",
      "tree": "3e9c09804e805da77d225a8508c28e064a310c45",
      "parents": [
        "6f8b13bcb3369a5df2e63acc422bed6098f5b8c4"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Mar 21 15:46:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 21 15:46:12 2008 -0700"
      },
      "message": "netlink: make socket filters work on netlink\n\nMake socket filters work for netlink unicast and notifications.\nThis is useful for applications like Zebra that get overrun with\nmessages that are then ignored.\n\nNote: netlink messages are in host byte order, but packet filter\nstate machine operations are done as network byte order.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edf0208702007ec1f6a36756fdd005f771a4cf17",
      "tree": "f323141ddde44db532d984ea7bf769a05220aa0c",
      "parents": [
        "9dfbec1fb2bedff6b118504055cd9f0485edba45"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:18:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:18:32 2008 -0800"
      },
      "message": "[NET]: Make netlink_kernel_release publically available as sk_release_kernel.\n\nThis staff will be needed for non-netlink kernel sockets, which should\nalso not pin a namespace like tcp_socket and icmp_socket.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9dfbec1fb2bedff6b118504055cd9f0485edba45",
      "tree": "1aea75182391bb8fc8d46e268897ae683ef49056",
      "parents": [
        "79c911595390c8fdc8d8a487ac1951d854b1cd09"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:17:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:17:56 2008 -0800"
      },
      "message": "[NETLINK]: No need for a separate __netlink_release call.\n\nMerge it to netlink_kernel_release.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\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": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "23fe18669e7fdaf5b229747858d943a723124e2e",
      "tree": "1610562f5a80cb8c97102acafa16443de0e659f7",
      "parents": [
        "533cb5b0a63f28ecab5503cfceb77e641fa7f7c4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 30 19:31:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:22 2008 -0800"
      },
      "message": "[NETNS]: Fix race between put_net() and netlink_kernel_create().\n\nThe comment about \"race free view of the set of network\nnamespaces\" was a bit hasty. Look (there even can be only\none CPU, as discovered by Alexey Dobriyan and Denis Lunev):\n\nput_net()\n  if (atomic_dec_and_test(\u0026net-\u003erefcnt))\n    /* true */\n      __put_net(net);\n        queue_work(...);\n\n/*\n * note: the net now has refcnt 0, but still in\n * the global list of net namespaces\n */\n\n\u003d\u003d re-schedule \u003d\u003d\n\nregister_pernet_subsys(\u0026some_ops);\n  register_pernet_operations(\u0026some_ops);\n    (*some_ops)-\u003einit(net);\n      /*\n       * we call netlink_kernel_create() here\n       * in some places\n       */\n      netlink_kernel_create();\n         sk_alloc();\n            get_net(net); /* refcnt \u003d 1 */\n         /*\n          * now we drop the net refcount not to\n          * block the net namespace exit in the\n          * future (or this can be done on the\n          * error path)\n          */\n         put_net(sk-\u003esk_net);\n             if (atomic_dec_and_test(\u0026...))\n                   /*\n                    * true. BOOOM! The net is\n                    * scheduled for release twice\n                    */\n\nWhen thinking on this problem, I decided, that getting and\nputting the net in init callback is wrong. If some init\ncallback needs to have a refcount-less reference on the struct\nnet, _it_ has to be careful himself, rather than relying on\nthe infrastructure to handle this correctly.\n\nIn case of netlink_kernel_create(), the problem is that the\nsk_alloc() gets the given namespace, but passing the info\nthat we don\u0027t want to get it inside this call is too heavy.\n\nInstead, I propose to crate the socket inside an init_net\nnamespace and then re-attach it to the desired one right\nafter the socket is created.\n\nAfter doing this, we also have to be careful on error paths\nnot to drop the reference on the namespace, we didn\u0027t get\nthe one on.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Denis Lunev \u003cden@openvz.org\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": "775516bfa2bd7993620c9039191a0c30b8d8a496",
      "tree": "7385f35edda9f4124b802ccf337c55070d2e00bc",
      "parents": [
        "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Jan 18 23:55:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:08 2008 -0800"
      },
      "message": "[NETNS]: Namespace stop vs \u0027ip r l\u0027 race.\n\nDuring network namespace stop process kernel side netlink sockets\nbelonging to a namespace should be closed. They should not prevent\nnamespace to stop, so they do not increment namespace usage\ncounter. Though this counter will be put during last sock_put.\n\nThe raplacement of the correct netns for init_ns solves the problem\nonly partial as socket to be stoped until proper stop is a valid\nnetlink kernel socket and can be looked up by the user processes. This\nis not a problem until it resides in initial namespace (no processes\ninside this net), but this is not true for init_net.\n\nSo, hold the referrence for a socket, remove it from lookup tables and\nonly after that change namespace and perform a last put.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4",
      "tree": "672c08c95229a6ac242ab12a5195dceddb0f3127",
      "parents": [
        "4f84d82f7a623f8641af2574425c329431ff158f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 28 14:41:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:07 2008 -0800"
      },
      "message": "[NETNS]: Consolidate kernel netlink socket destruction.\n\nCreate a specific helper for netlink kernel socket disposal. This just\nlet the code look better and provides a ground for proper disposal\ninside a namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "869e58f87094b1e8a0df49232e4a5172678d46c9",
      "tree": "9ac2dc45be284ac66099e3e71b16a03fb5c21b8d",
      "parents": [
        "7d460db953d6d205e4c8ecc2017aea1ec22b6c9a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Jan 18 23:53:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:05 2008 -0800"
      },
      "message": "[NETNS]: Double free in netlink_release.\n\nNetlink protocol table is global for all namespaces. Some netlink\nprotocols have been virtualized, i.e. they have per/namespace netlink\nsocket. This difference can easily lead to double free if more than 1\nnamespace is started. Count the number of kernel netlink sockets to\ntrack that this table is not used any more.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f25252675770e08d97bc112e52208e8c70ce0e5",
      "tree": "4bb63ed9e34af592b1791ce6d70916e415baebbb",
      "parents": [
        "50eb431d6e98189eb40606fcd4d03ecd8e168afa"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Jan 12 03:21:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:50 2008 -0800"
      },
      "message": "[NETLINK] af_netlink: kill some bloat\n\nnet/netlink/af_netlink.c:\n  netlink_realloc_groups        |  -46\n  netlink_insert                |  -49\n  netlink_autobind              |  -94\n  netlink_clear_multicast_users |  -48\n  netlink_bind                  |  -55\n  netlink_setsockopt            |  -54\n  netlink_release               |  -86\n  netlink_kernel_create         |  -47\n  netlink_change_ngroups        |  -56\n 9 functions changed, 535 bytes removed, diff: -535\n\nnet/netlink/af_netlink.c:\n  netlink_table_ungrab |  +53\n 1 function changed, 53 bytes added, diff: +53\n\nnet/netlink/af_netlink.o:\n 10 functions changed, 53 bytes added, 535 bytes removed, diff: -482\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a429c4983deae020f1e757ecc8f547b6d4e2f2b",
      "tree": "172e27a5866e182b902cd77506df1755aafadb60",
      "parents": [
        "b950dfcf504842a0f2bb142a33ef938f1c00d300"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 01 21:58:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:31 2008 -0800"
      },
      "message": "[NET]: Add some acquires/releases sparse annotations.\n\nAdd __acquires() and __releases() annotations to suppress some sparse\nwarnings.\n\nexample of warnings :\n\nnet/ipv4/udp.c:1555:14: warning: context imbalance in \u0027udp_seq_start\u0027 - wrong\ncount at exit\nnet/ipv4/udp.c:1571:13: warning: context imbalance in \u0027udp_seq_stop\u0027 -\nunexpected unlock\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea72912c888661d1a847f1b1450643d4114097cf",
      "tree": "de938be7d4887f974f67b09fbae6942726839bb8",
      "parents": [
        "64b7d96167977850f4a24e52dd0a76b03c6542cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Dec 11 02:09:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:06 2008 -0800"
      },
      "message": "[NETLINK]: kzalloc() conversion\n\nnl_pid_hash_alloc() is renamed to nl_pid_hash_zalloc().\nIt is now returning zeroed memory to its callers.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ac552fdc6e96bf2f39c18d6e66b8c8080bbb06e",
      "tree": "f727965dc562c96603dbd50c24f545277a038eb5",
      "parents": [
        "2fcb45b6b87914f072314e5b5d9c196f45984683"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 04 00:19:38 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:50 2008 -0800"
      },
      "message": "[NETLINK]: af_netlink.c checkpatch cleanups\n\nFix large number of checkpatch errors.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e372c41401993b45c721c4d92730e7e0a79f7c1b",
      "tree": "8f062f506c0578fc83b7d05c8751a7ccac96e50e",
      "parents": [
        "097e66c578459f79e3a2128c54e9df5194e1419a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:31:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:28 2008 -0800"
      },
      "message": "[NET]: Consolidate net namespace related proc files creation.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "022cbae611a37eda80d498f8f379794c8ac3be47",
      "tree": "c6fe8fe45748127c916d32ec97601c435065d5cb",
      "parents": [
        "ed160e839d2e1118529e58b04d52dba703ca629c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "message": "[NET]: Move unneeded data to initdata section.\n\nThis patch reverts Eric\u0027s commit 2b008b0a8e96b726c603c5e1a5a7a509b5f61e35\n\nIt diets .text \u0026 .data section of the kernel if CONFIG_NET_NS is not set.\nThis is safe after list operations cleanup.\n\nSigned-of-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3d8d1e30cace31fed6186a4b8c6b1401836d89c",
      "tree": "7122fccf27aa337438123071f3cb07999429de9e",
      "parents": [
        "230140cffa7feae90ad50bf259db1fa07674f3a7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 07 02:42:09 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:12 2007 -0800"
      },
      "message": "[NETLINK]: Fix unicast timeouts\n\nCommit ed6dcf4a in the history.git tree broke netlink_unicast timeouts\nby moving the schedule_timeout() call to a new function that doesn\u0027t\npropagate the remaining timeout back to the caller. This means on each\nretry we start with the full timeout again.\n\nipc/mqueue.c seems to actually want to wait indefinitely so this\nbehaviour is retained.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b008b0a8e96b726c603c5e1a5a7a509b5f61e35",
      "tree": "80d71a763d3e8365805203cf22093783e64e1bbc",
      "parents": [
        "72998d8c84247817c4b8b05b0256f29453e435f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "message": "[NET]: Marking struct pernet_operations __net_initdata was inappropriate\n\nIt is not safe to to place struct pernet_operations in a special section.\nWe need struct pernet_operations to last until we call unregister_pernet_subsys.\nWhich doesn\u0027t happen until module unload.\n\nSo marking struct pernet_operations is a disaster for modules in two ways.\n- We discard it before we call the exit method it points to.\n- Because I keep struct pernet_operations on a linked list discarding\n  it for compiled in code removes elements in the middle of a linked\n  list and does horrible things for linked insert.\n\nSo this looks safe assuming __exit_refok is not discarded\nfor modules.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c58298c2536252ab95aa2b1497ab47eb878ca5d",
      "tree": "c21815b2b3c16aaf7ebb5750fe4fe195f1d04e3c",
      "parents": [
        "be7f827360b5dfecd8f43adbd48f2c39556004c9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Oct 23 20:29:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 23 21:27:51 2007 -0700"
      },
      "message": "[NETLINK]: Fix ACK processing after netlink_dump_start\n\nRevert to original netlink behavior. Do not reply with ACK if the\nnetlink dump has bees successfully started.\n\nlibnl has been broken by the cd40b7d3983c708aabe3d3008ec64ffce56d33b0\nThe following command reproduce the problem:\n   /nl-route-get 192.168.1.1\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f937f1f46b6d2f9bef94e0d6b769a4c67615d34e",
      "tree": "4aadb89d07e7bb0789d5a754e65db686f339f07c",
      "parents": [
        "1dff92e09eb3adfcf3d3dffd0507b850f911f280"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Oct 15 01:39:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:32 2007 -0700"
      },
      "message": "[NETLINK]: Don\u0027t leak \u0027listeners\u0027 in netlink_kernel_create()\n\nThe Coverity checker spotted that we\u0027ll leak the storage allocated\nto \u0027listeners\u0027 in netlink_kernel_create() when the\n  if (!nl_table[unit].registered)\ncheck is false.\n\nThis patch avoids the leak.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\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": "aed815601f3f95281ab3a01f7e2cbe1bd54285a0",
      "tree": "9aa4d01bcb33ca319a5d13db1bf1e5c4549d64cc",
      "parents": [
        "7ee015e0fa3c856416e9477aac4b850ec6f09017"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:14:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:14:32 2007 -0700"
      },
      "message": "[NET]: unify netlink kernel socket recognition\n\nThere are currently two ways to determine whether the netlink socket is a\nkernel one or a user one. This patch creates a single inline call for\nthis purpose and unifies all the calls in the af_netlink.c\n\nNo similar calls are found outside af_netlink.c.\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": "7ee015e0fa3c856416e9477aac4b850ec6f09017",
      "tree": "b91741163f47515d00faba9d36d37fcf03ded29f",
      "parents": [
        "3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "message": "[NET]: cleanup 3rd argument in netlink_sendskb\n\nnetlink_sendskb does not use third argument. Clean it and save a couple of\nbytes.\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": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4665079cbb2a3e17de82f2ab2940b9f97f37d65e",
      "tree": "8e51e9b9e6155eaeccf28783620a07b20a067d8d",
      "parents": [
        "d62a38d1ab350f787e4941e42a3d3e97971e38f5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 08 20:38:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:58 2007 -0700"
      },
      "message": "[NETNS]: Move some code into __init section when CONFIG_NET_NS\u003dn\n\nWith the net namespaces many code leaved the __init section,\nthus making the kernel occupy more memory than it did before.\nSince we have a config option that prohibits the namespace\ncreation, the functions that initialize/finalize some netns\nstuff are simply not needed and can be freed after the boot.\n\nCurrently, this is almost not noticeable, since few calls\nare no longer in __init, but when the namespaces will be\nmerged it will be possible to free more code. I propose to\nuse the __net_init, __net_exit and __net_initdata \"attributes\"\nfor functions/variables that are not used if the CONFIG_NET_NS\nis not set to save more space in memory.\n\nThe exiting functions cannot just reside in the __exit section,\nas noticed by David, since the init section will have\nreferences on it and the compilation will fail due to modpost\nchecks. These references can exist, since the init namespace\nnever dies and the exit callbacks are never called. So I\nintroduce the __exit_refok attribute just like it is already\ndone with the __init_refok.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26ff5ddc5ab11e37ab3db469f24324e0ef1d6f63",
      "tree": "c4f68c97ef2421dce8b0289ecd56b1d48b9dff15",
      "parents": [
        "99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:36:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:25 2007 -0700"
      },
      "message": "[NETLINK]: the temp variable name max is ambiguous\n\nwith the macro max provided by \u003clinux/kernel.h\u003e, so changed its name\nto a more proper one: limit\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd",
      "tree": "0ea0cc02e563297809fa393c5677ae0022efa877",
      "parents": [
        "52886051ffdc087a4f7f11540395fd64040101ad"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:34:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:25 2007 -0700"
      },
      "message": "[NETLINK]: use the macro min(x,y) provided by \u003clinux/kernel.h\u003e instead\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\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"
    }
  ],
  "next": "077130c0cf7d5ba1992f5b51b96136d7b1c8aad5"
}
