)]}'
{
  "log": [
    {
      "commit": "c49c41a4134679cecb77362e7f6b59acb6320aa7",
      "tree": "45e690c036ca5846a48c8be67945d1d841b2d96d",
      "parents": [
        "892d208bcf79e4e1058707786a7b6d486697cd78",
        "f423e5ba76e7e4a6fcb4836b4f072d1fdebba8b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 14 18:36:33 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security\n\n* \u0027for-linus\u0027 of git://selinuxproject.org/~jmorris/linux-security:\n  capabilities: remove __cap_full_set definition\n  security: remove the security_netlink_recv hook as it is equivalent to capable()\n  ptrace: do not audit capability check when outputing /proc/pid/stat\n  capabilities: remove task_ns_* functions\n  capabitlies: ns_capable can use the cap helpers rather than lsm call\n  capabilities: style only - move capable below ns_capable\n  capabilites: introduce new has_ns_capabilities_noaudit\n  capabilities: call has_ns_capability from has_capability\n  capabilities: remove all _real_ interfaces\n  capabilities: introduce security_capable_noaudit\n  capabilities: reverse arguments to security_capable\n  capabilities: remove the task from capable LSM hook entirely\n  selinux: sparse fix: fix several warnings in the security server cod\n  selinux: sparse fix: fix warnings in netlink code\n  selinux: sparse fix: eliminate warnings for selinuxfs\n  selinux: sparse fix: declare selinux_disable() in security.h\n  selinux: sparse fix: move selinux_complete_init\n  selinux: sparse fix: make selinux_secmark_refcount static\n  SELinux: Fix RCU deref check warning in sel_netport_insert()\n\nManually fix up a semantic mis-merge wrt security_netlink_recv():\n\n - the interface was removed in commit fd7784615248 (\"security: remove\n   the security_netlink_recv hook as it is equivalent to capable()\")\n\n - a new user of it appeared in commit a38f7907b926 (\"crypto: Add\n   userspace configuration API\")\n\ncausing no automatic merge conflict, but Eric Paris pointed out the\nissue.\n"
    },
    {
      "commit": "fd778461524849afd035679030ae8e8873c72b81",
      "tree": "32a5849c1879413fce0307af304e372eaa8225b4",
      "parents": [
        "69f594a38967f4540ce7a29b3fd214e68a8330bd"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Jan 03 12:25:16 2012 -0500"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Thu Jan 05 18:53:01 2012 -0500"
      },
      "message": "security: remove the security_netlink_recv hook as it is equivalent to capable()\n\nOnce upon a time netlink was not sync and we had to get the effective\ncapabilities from the skb that was being received.  Today we instead get\nthe capabilities from the current task.  This has rendered the entire\npurpose of the hook moot as it is now functionally equivalent to the\ncapable() call.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "fa84309533025eb3f03dc1d2d2be1c3ca206882a",
      "tree": "d023095d481cb331e8cfc569de18ea89a04eb7fd",
      "parents": [
        "7ffbcecbeed91e5874e9a1cfc4c0cbb07dac3069"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Dec 28 13:48:55 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 28 13:48:55 2011 -0500"
      },
      "message": "genetlink: add auto module loading\n\nWhen testing L2TP support, I discovered that the l2tp module is not autoloaded\nas are other netlink interfaces. There is because of lack of hook in genetlink to call\nrequest_module and load the module.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "035c4c16bea2814890c64c657d177e91cec1f473",
      "tree": "102e3e98051509697f677190d25946f87139aec7",
      "parents": [
        "abb434cb0539fb355c1c921f8fd761efbbac3462"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:33:03 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 23 17:33:03 2011 -0500"
      },
      "message": "netlink: Undo const marker in netlink_is_kernel().\n\nWe can\u0027t do this without propagating the const to nlk_sk()\ntoo, otherwise:\n\nnet/netlink/af_netlink.c: In function ‘netlink_is_kernel’:\nnet/netlink/af_netlink.c:103:2: warning: passing argument 1 of ‘nlk_sk’ discards ‘const’ qualifier from pointer target type [enabled by default]\nnet/netlink/af_netlink.c:96:36: note: expected ‘struct sock *’ but argument is of type ‘const struct sock *’\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c64580046a122fa15bb586d8ca4fd5e4b69a1e7",
      "tree": "65cacace18e88cb9eb60e564ee9e395feb62affa",
      "parents": [
        "b57ef81ff8ffb830e1b3e404d692e55161992d27"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 22 08:52:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 22 22:37:19 2011 -0500"
      },
      "message": "netlink: wake up netlink listeners sooner (v2)\n\nThis patch changes it to yield sooner at halfway instead. Still not a cure-all\nfor listener overrun if listner is slow, but works much reliably.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b57ef81ff8ffb830e1b3e404d692e55161992d27",
      "tree": "4c14d18425e3c1f7185677e6f2b618ac4de14a7e",
      "parents": [
        "65c64ce8ee642eb330a4c4d94b664725f2902b44"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 22 08:52:02 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 22 22:37:19 2011 -0500"
      },
      "message": "netlink: af_netlink cleanup (v2)\n\nDon\u0027t inline functions that cover several lines, and do inline\nthe trivial ones. Also make some arguments const.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86b1309c7e411b7c25dc0dc7a092582a4d291044",
      "tree": "b2557cbe0441d1d762e87a56e105bff6581c13e9",
      "parents": [
        "263ba61d3b19508dfb003c215ec5d23f882b4f87"
      ],
      "author": {
        "name": "Pravin B Shelar",
        "email": "pshelar@nicira.com",
        "time": "Thu Nov 10 19:14:51 2011 -0800"
      },
      "committer": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Sat Dec 03 09:35:07 2011 -0800"
      },
      "message": "genetlink: Add lockdep_genl_is_held().\n\nOpen vSwitch uses genl_mutex locking to protect datapath\ndata-structures like flow-table, flow-actions. Following patch adds\nlockdep_genl_is_held() which is used for rcu annotation to prove\nlocking.\n\nSigned-off-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\n"
    },
    {
      "commit": "263ba61d3b19508dfb003c215ec5d23f882b4f87",
      "tree": "1f00fe8aeaff938b6e6706d145f761c5990fc28e",
      "parents": [
        "340e8dc1fb4032b6c8334c9bff20b2aec42ecfd8"
      ],
      "author": {
        "name": "Pravin B Shelar",
        "email": "pshelar@nicira.com",
        "time": "Thu Nov 10 19:14:37 2011 -0800"
      },
      "committer": {
        "name": "Jesse Gross",
        "email": "jesse@nicira.com",
        "time": "Sat Dec 03 09:35:05 2011 -0800"
      },
      "message": "genetlink: Add genl_notify()\n\nOpen vSwitch uses Generic Netlink interface for communication\nbetween userspace and kernel module. genl_notify() is used\nfor sending notification back to userspace.\n\ngenl_notify() is analogous to rtnl_notify() but uses genl_sock\ninstead of rtnl.\n\nSigned-off-by: Pravin B Shelar \u003cpshelar@nicira.com\u003e\nSigned-off-by: Jesse Gross \u003cjesse@nicira.com\u003e\n"
    },
    {
      "commit": "16e5726269611b71c930054ffe9b858c1cea88eb",
      "tree": "50d25ec97d639b418964bad2f45774d657468c74",
      "parents": [
        "a9e9fd7182332d0cf5f3e601df3e71dd431b70d7"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Sep 19 05:52:27 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 28 13:29:50 2011 -0400"
      },
      "message": "af_unix: dont send SCM_CREDENTIALS by default\n\nSince commit 7361c36c5224 (af_unix: Allow credentials to work across\nuser and pid namespaces) af_unix performance dropped a lot.\n\nThis is because we now take a reference on pid and cred in each write(),\nand release them in read(), usually done from another process,\neventually from another cpu. This triggers false sharing.\n\n# Events: 154K cycles\n#\n# Overhead  Command       Shared Object        Symbol\n# ........  .......  ..................  .........................\n#\n    10.40%  hackbench  [kernel.kallsyms]   [k] put_pid\n     8.60%  hackbench  [kernel.kallsyms]   [k] unix_stream_recvmsg\n     7.87%  hackbench  [kernel.kallsyms]   [k] unix_stream_sendmsg\n     6.11%  hackbench  [kernel.kallsyms]   [k] do_raw_spin_lock\n     4.95%  hackbench  [kernel.kallsyms]   [k] unix_scm_to_skb\n     4.87%  hackbench  [kernel.kallsyms]   [k] pid_nr_ns\n     4.34%  hackbench  [kernel.kallsyms]   [k] cred_to_ucred\n     2.39%  hackbench  [kernel.kallsyms]   [k] unix_destruct_scm\n     2.24%  hackbench  [kernel.kallsyms]   [k] sub_preempt_count\n     1.75%  hackbench  [kernel.kallsyms]   [k] fget_light\n     1.51%  hackbench  [kernel.kallsyms]   [k]\n__mutex_lock_interruptible_slowpath\n     1.42%  hackbench  [kernel.kallsyms]   [k] sock_alloc_send_pskb\n\nThis patch includes SCM_CREDENTIALS information in a af_unix message/skb\nonly if requested by the sender, [man 7 unix for details how to include\nancillary data using sendmsg() system call]\n\nNote: This might break buggy applications that expected SCM_CREDENTIAL\nfrom an unaware write() system call, and receiver not using SO_PASSCRED\nsocket option.\n\nIf SOCK_PASSCRED is set on source or destination socket, we still\ninclude credentials for mere write() syscalls.\n\nPerformance boost in hackbench : more than 50% gain on a 16 thread\nmachine (2 quad-core cpus, 2 threads per core)\n\nhackbench 20 thread 2000\n\n4.228 sec instead of 9.102 sec\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Tim Chen \u003ctim.c.chen@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33d480ce6d43326e2541fd79b3548858a174ec3c",
      "tree": "c938ee8c07a2e0f33178069b55439a54188f38fa",
      "parents": [
        "cd28ca0a3dd17c68d24b839602a0e6268ad28b5d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Aug 11 19:30:52 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 12 02:55:28 2011 -0700"
      },
      "message": "net: cleanup some rcu_dereference_raw\n\nRCU api had been completed and rcu_access_pointer() or\nrcu_dereference_protected() are better than generic\nrcu_dereference_raw()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36099365c7cc64e5184b66b6eb094950a13f540c",
      "tree": "c91b9f3719f94864a62f2d15a71aaecd54c56711",
      "parents": [
        "22c8c9343258feda9ea9ebb9e5f8cbb727b69454",
        "f70490e6078abe1182437e629f67a7f0b6f08cd4"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 24 15:25:51 2011 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Jun 24 15:25:51 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tinclude/linux/netlink.h\n"
    },
    {
      "commit": "670dc2833d144375eac36ad74111495a825a9288",
      "tree": "12d5d3a925da562a6ba0497c47f4b55c71ff545b",
      "parents": [
        "c1c3daee97498f5d74bfd23531cfe23c8e14a619"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Jun 20 13:40:46 2011 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Jun 22 16:09:45 2011 -0400"
      },
      "message": "netlink: advertise incomplete dumps\n\nConsider the following situation:\n * a dump that would show 8 entries, four in the first\n   round, and four in the second\n * between the first and second rounds, 6 entries are\n   removed\n * now the second round will not show any entry, and\n   even if there is a sequence/generation counter the\n   application will not know\n\nTo solve this problem, add a new flag NLM_F_DUMP_INTR\nto the netlink header that indicates the dump wasn\u0027t\nconsistent, this flag can also be set on the MSG_DONE\nmessage that terminates the dump, and as such above\nsituation can be detected.\n\nTo achieve this, add a sequence counter to the netlink\ncallback struct. Of course, netlink code still needs\nto use this new functionality. The correct way to do\nthat is to always set cb-\u003eseq when a dumpit callback\nis invoked and call nl_dump_check_consistent() for\neach new message. The core code will also call this\nfunction for the final MSG_DONE message.\n\nTo make it usable with generic netlink, a new function\ngenlmsg_nlhdr() is needed to obtain the netlink header\nfrom the genetlink user header.\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "c63d6ea3060d9e10773e869b1112e3a0efbcf820",
      "tree": "2f288627d1d0bfb666bb70c8dbb086932a82eb0d",
      "parents": [
        "59deab26c1974b29b7f501e0ace0673d5acadae1"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Wed Jun 15 03:11:42 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@conan.davemloft.net",
        "time": "Thu Jun 16 23:51:35 2011 -0400"
      },
      "message": "rtnetlink: unlock on error path in netlink_dump()\n\nIn c7ac8679bec939 \"rtnetlink: Compute and store minimum ifinfo dump\nsize\", we moved the allocation under the lock so we need to unlock\non error path.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@conan.davemloft.net\u003e\n"
    },
    {
      "commit": "c7ac8679bec9397afe8918f788cbcef88c38da54",
      "tree": "c152712de4c997ea79252ef9ac72aaedb8f88c18",
      "parents": [
        "929dd047720785f099e12113780b3d7914ce6d9f"
      ],
      "author": {
        "name": "Greg Rose",
        "email": "gregory.v.rose@intel.com",
        "time": "Fri Jun 10 01:27:09 2011 +0000"
      },
      "committer": {
        "name": "Jeff Kirsher",
        "email": "jeffrey.t.kirsher@intel.com",
        "time": "Thu Jun 09 20:38:07 2011 -0700"
      },
      "message": "rtnetlink: Compute and store minimum ifinfo dump size\n\nThe message size allocated for rtnl ifinfo dumps was limited to\na single page.  This is not enough for additional interface info\navailable with devices that support SR-IOV and caused a bug in\nwhich VF info would not be displayed if more than approximately\n40 VFs were created per interface.\n\nImplement a new function pointer for the rtnl_register service that will\ncalculate the amount of data required for the ifinfo dump and allocate\nenough data to satisfy the request.\n\nSigned-off-by: Greg Rose \u003cgregory.v.rose@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\n"
    },
    {
      "commit": "71338aa7d050c86d8765cd36e46be514fb0ebbce",
      "tree": "96bacb805b939c490145b31b4e2fb9e5cea79c5d",
      "parents": [
        "229de618ba6ff36e382b908b7637fe56c25ae9f1"
      ],
      "author": {
        "name": "Dan Rosenberg",
        "email": "drosenberg@vsecurity.com",
        "time": "Mon May 23 12:17:35 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 24 01:13:12 2011 -0400"
      },
      "message": "net: convert %p usage to %pK\n\nThe %pK format specifier is designed to hide exposed kernel pointers,\nspecifically via /proc interfaces.  Exposing these pointers provides an\neasy target for kernel write vulnerabilities, since they reveal the\nlocations of writable structures containing easily triggerable function\npointers.  The behavior of %pK depends on the kptr_restrict sysctl.\n\nIf kptr_restrict is set to 0, no deviation from the standard %p behavior\noccurs.  If kptr_restrict is set to 1, the default, if the current user\n(intended to be a reader via seq_printf(), etc.) does not have CAP_SYSLOG\n(currently in the LSM tree), kernel pointers using %pK are printed as 0\u0027s.\n If kptr_restrict is set to 2, kernel pointers using %pK are printed as\n0\u0027s regardless of privileges.  Replacing with 0\u0027s was chosen over the\ndefault \"(null)\", which cannot be parsed by userland %p, which expects\n\"(nil)\".\n\nThe supporting code for kptr_restrict and %pK are currently in the -mm\ntree.  This patch converts users of %p in net/ to %pK.  Cases of printing\npointers to the syslog are not covered, since this would eliminate useful\ninformation for postmortem debugging and the reading of the syslog is\nalready optionally protected by the dmesg_restrict sysctl.\n\nSigned-off-by: Dan Rosenberg \u003cdrosenberg@vsecurity.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Thomas Graf \u003ctgraf@infradead.org\u003e\nCc: Eugene Teo \u003ceugeneteo@kernel.org\u003e\nCc: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Eric Paris \u003ceparis@parisplace.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37b6b935e96e837ccc60812c03e9f92e7dce2e61",
      "tree": "763fdeb24228807ab2d033d0c535a380e8ffff97",
      "parents": [
        "e57859854aaac9b7ce0db3fe4959190a1a80b60a"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 15 18:01:42 2011 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Sat May 07 22:50:51 2011 -0700"
      },
      "message": "net,rcu: convert call_rcu(listeners_free_rcu) to kfree_rcu()\n\nThe rcu callback listeners_free_rcu() just calls a kfree(),\nso we use kfree_rcu() instead of the call_rcu(listeners_free_rcu).\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "0a0e9ae1bd788bc19adc4d4ae08c98b233697402",
      "tree": "13825eeb5bbeae27d66e95f12168eff4b60701ab",
      "parents": [
        "01a16b21d6adf992aa863186c3c4e561a57c1714",
        "b65a0e0c84cf489bfa00d6aa6c48abc5a237100f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 21:27:42 2011 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bnx2x/bnx2x.h\n"
    },
    {
      "commit": "01a16b21d6adf992aa863186c3c4e561a57c1714",
      "tree": "a3b1c81e5a5e6a0e9069e4d3a15576741ed34776",
      "parents": [
        "63f97425166a1a16279c1a5720e9dfcb2c12ad1b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 03 13:32:07 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 13:32:07 2011 -0800"
      },
      "message": "netlink: kill eff_cap from struct netlink_skb_parms\n\nNetlink message processing in the kernel is synchronous these days,\ncapabilities can be checked directly in security_netlink_recv() from\nthe current process.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\n[chrisw: update to include pohmelfs and uvesafb]\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c53fa1ed92cd671a1dfb1e7569e9ab672612ddc6",
      "tree": "9bb539a7731af94cac0112b8f13771e4a33e0450",
      "parents": [
        "06dc94b1ed05f91e246315afeb1c652d6d0dc9ab"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu Mar 03 10:55:40 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 10:55:40 2011 -0800"
      },
      "message": "netlink: kill loginuid/sessionid/sid members from struct netlink_skb_parms\n\nNetlink message processing in the kernel is synchronous these days, the\nsession information can be collected when needed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b44d211e166b4b0dae8ce379f9d2e3ac164b5b60",
      "tree": "1af9b2e472f35813e0fb99d183a6610a90bf7195",
      "parents": [
        "dad3d44dcb054e9d0514fbf65ee4a2d88cf1698f"
      ],
      "author": {
        "name": "Andrey Vagin",
        "email": "avagin@openvz.org",
        "time": "Mon Feb 21 02:40:47 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 28 12:18:12 2011 -0800"
      },
      "message": "netlink: handle errors from netlink_dump()\n\nnetlink_dump() may failed, but nobody handle its error.\nIt generates output data, when a previous portion has been returned to\nuser space. This mechanism works when all data isn\u0027t go in skb. If we\nenter in netlink_recvmsg() and skb is absent in the recv queue, the\nnetlink_dump() will not been executed. So if netlink_dump() is failed\none time, the new data never appear and the reader will sleep forever.\n\nnetlink_dump() is called from two places:\n\n1. from netlink_sendmsg-\u003e...-\u003enetlink_dump_start().\n   In this place we can report error directly and it will be returned\n   by sendmsg().\n\n2. from netlink_recvmsg\n   There we can\u0027t report error directly, because we have a portion of\n   valid output data and call netlink_dump() for prepare the next portion.\n   If netlink_dump() is failed, the socket will be mark as error and the\n   next recvmsg will be failed.\n\nSigned-off-by: Andrey Vagin \u003cavagin@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8f3ab4290f1e720166e888ea2a1d1d44c4d15dd",
      "tree": "88d5b71b27ed9ca0b5d67bd6ae61f592fb61fdc5",
      "parents": [
        "ff76015f3bdfbc482c723cb4f2559cef84d178ca"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 18 12:40:38 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 19 13:34:20 2011 -0800"
      },
      "message": "Revert \"netlink: test for all flags of the NLM_F_DUMP composite\"\n\nThis reverts commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf.\n\nIt breaks several things including the avahi daemon.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ab03c2b1478f2438d2c80204f7fef65b1bca9cf",
      "tree": "a130abc7a3cc2d5c326b1bbdad80c06e741db3fd",
      "parents": [
        "dba5a68ae147d0672d4b9259f3ece37777f8b2fa"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Fri Jan 07 03:15:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 09 16:25:03 2011 -0800"
      },
      "message": "netlink: test for all flags of the NLM_F_DUMP composite\n\nDue to NLM_F_DUMP is composed of two bits, NLM_F_ROOT | NLM_F_MATCH,\nwhen doing \"if (x \u0026 NLM_F_DUMP)\", it tests for _either_ of the bits\nbeing set. Because NLM_F_MATCH\u0027s value overlaps with NLM_F_EXCL,\nnon-dump requests with NLM_F_EXCL set are mistaken as dump requests.\n\nSubstitute the condition to test for _all_ bits being set.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nAcked-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c398dc8f5a58b5417d8ae0d474704feb6e12a12",
      "tree": "f4305312340df1ebeae5de3896d3fb4c3da3c6e8",
      "parents": [
        "7f8a688e1e319fcc94dbed83a6ec82cea13f10b9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Oct 24 04:27:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Oct 24 16:25:39 2010 -0700"
      },
      "message": "netlink: fix netlink_change_ngroups()\n\ncommit 6c04bb18ddd633 (netlink: use call_rcu for netlink_change_ngroups)\nused a somewhat convoluted and racy way to perform call_rcu().\n\nThe old block of memory is freed after a grace period, but the rcu_head\nused to track it is located in new block.\n\nThis can clash if we call two times or more netlink_change_ngroups(),\nand a block is freed before another. call_rcu() called on different cpus\nmakes no guarantee in order of callbacks.\n\nFix this using a more standard way of handling this : Each block of\nmemory contains its own rcu_head, so that no \u0027use after free\u0027 can\nhappens.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9a68707d736f4f73d7e209885d7b4c5c452b1dc",
      "tree": "d9f76964c77c1059483b08436ed060b702b8e25d",
      "parents": [
        "dd53df265b1ee7a1fbbc76bb62c3bec2383bbd44",
        "15a6321d1c0f8db561932cd99e1b9897981da71f"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Fri Oct 08 15:39:28 2010 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem\n\nConflicts:\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wireless/ipw2x00/ipw2200.c\n"
    },
    {
      "commit": "ff4c92d85c6f2777d2067f8552e7fefb4d1754ae",
      "tree": "77e35603821e5602e96c90644e42e70f097ad79c",
      "parents": [
        "2ee4e27cf25ab647137713ca16377d8d9e138ea2"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Mon Oct 04 21:14:03 2010 +0200"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Tue Oct 05 13:35:30 2010 -0400"
      },
      "message": "genetlink: introduce pre_doit/post_doit hooks\n\nEach family may have some amount of boilerplate\nlocking code that applies to most, or even all,\ncommands.\n\nThis allows a family to handle such things in\na more generic way, by allowing it to\n a) include private flags in each operation\n b) specify a pre_doit hook that is called,\n    before an operation\u0027s doit() callback and\n    may return an error directly,\n c) specify a post_doit hook that can undo\n    locking or similar things done by pre_doit,\n    and finally\n d) include two private pointers in each info\n    struct passed between all these operations\n    including doit(). (It\u0027s two because I\u0027ll\n    need two in nl80211 -- can be extended.)\n\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b963ea89f00f13c648af4082e5efb2172d369727",
      "tree": "d5a09f822da3b0827a32c5b2aa2d72f8e537b6fa",
      "parents": [
        "628e300cccaa628d8fb92aa28cb7530a3d5f2257"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 30 19:08:01 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 31 09:51:37 2010 -0700"
      },
      "message": "netlink: Make NETLINK_USERSOCK work again.\n\nOnce we started enforcing the a nl_table[] entry exist for\na protocol, NETLINK_USERSOCK stopped working.  Add a dummy\ntable entry so that it works again.\n\nReported-by: Thomas Voegtle \u003ctv@lio96.de\u003e\nTested-by: Thomas Voegtle \u003ctv@lio96.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68d6ac6d2740b6a55f3ae92a4e0be6d881904b32",
      "tree": "acb2b153892b6be2d39220017f30239d7d9a66b6",
      "parents": [
        "e243f5b6de35b6fc394bc2e1e1737afe538e7e0c"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes.berg@intel.com",
        "time": "Sun Aug 15 21:20:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 18 23:35:58 2010 -0700"
      },
      "message": "netlink: fix compat recvmsg\n\nSince\ncommit 1dacc76d0014a034b8aca14237c127d7c19d7726\nAuthor: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nDate:   Wed Jul 1 11:26:02 2009 +0000\n\n    net/compat/wext: send different messages to compat tasks\n\nwe had a race condition when setting and then\nrestoring frag_list. Eric attempted to fix it,\nbut the fix created even worse problems.\n\nHowever, the original motivation I had when I\nadded the code that turned out to be racy is\nno longer clear to me, since we only copy up\nto skb-\u003elen to userspace, which doesn\u0027t include\nthe frag_list length. As a result, not doing\nany frag_list clearing and restoring avoids\nthe race condition, while not introducing any\nother problems.\n\nAdditionally, while preparing this patch I found\nthat since none of the remaining netlink code is\nreally aware of the frag_list, we need to use the\noriginal skb\u0027s information for packet information\nand credentials. This fixes, for example, the\ngroup information received by compat tasks.\n\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: stable@kernel.org [2.6.31+, for 2.6.35 revert 1235f504aa]\nSigned-off-by: Johannes Berg \u003cjohannes.berg@intel.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "daa3766e705c2605bd7f63b80c7742014ef9e04e",
      "tree": "8fac0e0747172f9ed43aa9929a858f3b993df46a",
      "parents": [
        "f3d3f616e35db2ceeb11564eafd50759bb5bca8a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 15 23:21:50 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 15 23:21:50 2010 -0700"
      },
      "message": "Revert \"netlink: netlink_recvmsg() fix\"\n\nThis reverts commit 1235f504aaba2ebeabc863fdb3ceac764a317d47.\n\nIt causes regressions worse than the problem it was trying\nto fix.  Eric will try to solve the problem another way.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "652c6717465dbd0091dbe04ed9be2f7e59c03c7d",
      "tree": "4c79c61dbab1c01a0e3096e2c25001c10af7ee99",
      "parents": [
        "a256be70c57d6f8c827d09d645a1f6fe9330af72"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Jul 25 23:21:05 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 21:00:10 2010 -0700"
      },
      "message": "genetlink: use genl_register_family_with_ops()\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "416c2f9cf5524cb53392cbcf99fef7aa687192ce",
      "tree": "13ea7c8ddc0ea37f8017849eea859736f2e14233",
      "parents": [
        "f78f09f76540c9a986bc321a186a291f4bb40925"
      ],
      "author": {
        "name": "Changli Gao",
        "email": "xiaosuo@gmail.com",
        "time": "Sun Jul 25 20:46:01 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 20:53:49 2010 -0700"
      },
      "message": "genetlink: cleanup code according to CodingStyle\n\nIf the function is exported, the EXPORT* macro for it should follow immediately\nafter the closing function brace line.\n\nSigned-off-by: Changli Gao \u003cxiaosuo@gmail.com\u003e\n----\n net/netlink/genetlink.c |    9 ++++-----\n 1 file changed, 4 insertions(+), 5 deletions(-)\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1235f504aaba2ebeabc863fdb3ceac764a317d47",
      "tree": "58969a45226b9d35bbfc7ecc3dab2823c117db39",
      "parents": [
        "7b5e078cf04ea5b8b7ccffaf9a3607097f5c2359"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Jul 26 13:09:16 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 26 13:09:16 2010 -0700"
      },
      "message": "netlink: netlink_recvmsg() fix\n\ncommit 1dacc76d0014\n(net/compat/wext: send different messages to compat tasks)\nintroduced a race condition on netlink, in case MSG_PEEK is used.\n\nAn skb given by skb_recv_datagram() might be shared, we must copy it\nbefore any modification, or risk fatal corruption.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "70d4bf6d467a330ccc947df9b2608e329d9e7708",
      "tree": "477dff26ac865f785e9197065e4807daeb89958c",
      "parents": [
        "4b706372f18de53970e4c6887a96459590fef80a"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jul 20 06:45:56 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 20 13:28:05 2010 -0700"
      },
      "message": "drop_monitor: convert some kfree_skb call sites to consume_skb\n\nConvert a few calls from kfree_skb to consume_skb\n\nNoticed while I was working on dropwatch that I was detecting lots of internal\nskb drops in several places.  While some are legitimate, several were not,\nfreeing skbs that were at the end of their life, rather than being discarded due\nto an error.  This patch converts those calls sites from using kfree_skb to\nconsume_skb, which quiets the in-kernel drop_monitor code from detecting them as\ndrops.  Tested successfully by myself\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b47030c71dfd6c8cd5cb6e551b6f7f7cfc96f6a6",
      "tree": "f9c1e24e6e3da8ae1de1bd50be3e7ef0d81269ae",
      "parents": [
        "109f6e39fa07c48f580125f531f46cb7c245b528"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Jun 13 03:31:06 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 16 14:55:56 2010 -0700"
      },
      "message": "af_netlink: Add needed scm_destroy after scm_send.\n\nscm_send occasionally allocates state in the scm_cookie, so I have\nmodified netlink_sendmsg to guarantee that when scm_send succeeds\nscm_destory will be called to free that state.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nReviewed-by: Daniel Lezcano \u003cdaniel.lezcano@free.fr\u003e\nAcked-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "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"
    }
  ],
  "next": "878628fbf2589eb24357e42027d5f54b1dafd3c8"
}
