)]}'
{
  "log": [
    {
      "commit": "08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6",
      "tree": "2be39bf8942edca1bcec735145e144a682ca9cd3",
      "parents": [
        "f0de70f8bb56952f6e016a65a8a8d006918f5bf6",
        "0384e2959127a56d0640505d004d8dd92f9c29f5"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 26 15:23:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/net/wimax/i2400m/usb-notif.c\n"
    },
    {
      "commit": "562f477a54478002ddfbb5b85627c009ca41e71d",
      "tree": "52384cc554ae64cc7a26878d64d606f40fd703ce",
      "parents": [
        "ada19a31a90b4f46c040c25ef4ef8ffc203c7fc6",
        "949abe574739848b1e68271fbac86c3cb4506aad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:04:34 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 26 11:04:34 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (29 commits)\n  crypto: sha512-s390 - Add missing block size\n  hwrng: timeriomem - Breaks an allyesconfig build on s390:\n  nlattr: Fix build error with NET off\n  crypto: testmgr - add zlib test\n  crypto: zlib - New zlib crypto module, using pcomp\n  crypto: testmgr - Add support for the pcomp interface\n  crypto: compress - Add pcomp interface\n  netlink: Move netlink attribute parsing support to lib\n  crypto: Fix dead links\n  hwrng: timeriomem - New driver\n  crypto: chainiv - Use kcrypto_wq instead of keventd_wq\n  crypto: cryptd - Per-CPU thread implementation based on kcrypto_wq\n  crypto: api - Use dedicated workqueue for crypto subsystem\n  crypto: testmgr - Test skciphers with no IVs\n  crypto: aead - Avoid infinite loop when nivaead fails selftest\n  crypto: skcipher - Avoid infinite loop when cipher fails selftest\n  crypto: api - Fix crypto_alloc_tfm/create_create_tfm return convention\n  crypto: api - crypto_alg_mod_lookup either tested or untested\n  crypto: amcc - Add crypt4xx driver\n  crypto: ansi_cprng - Add maintainer\n  ...\n"
    },
    {
      "commit": "38938bfe3489394e2eed5e40c9bb8f66a2ce1405",
      "tree": "cbe1cafdaa990d31f0297d306e3adc61bb1e95a2",
      "parents": [
        "7f649269c318c41030e492fc35f03d38c6e3b39b"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Mar 24 16:37:55 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 16:37:55 2009 -0700"
      },
      "message": "netlink: add NETLINK_NO_ENOBUFS socket flag\n\nThis patch adds the NETLINK_NO_ENOBUFS socket flag. This flag can\nbe used by unicast and broadcast listeners to avoid receiving\nENOBUFS errors.\n\nGenerally speaking, ENOBUFS errors are useful to notify two things\nto the listener:\n\na) You may increase the receiver buffer size via setsockopt().\nb) You have lost messages, you may be out of sync.\n\nIn some cases, ignoring ENOBUFS errors can be useful. For example:\n\na) nfnetlink_queue: this subsystem does not have any sort of resync\nmethod and you can decide to ignore ENOBUFS once you have set a\ngiven buffer size.\n\nb) ctnetlink: you can use this together with the socket flag\nNETLINK_BROADCAST_SEND_ERROR to stop getting ENOBUFS errors as\nyou do not need to resync (packets whose event are not delivered\nare drop to provide reliable logging and state-synchronization).\n\nMoreover, the use of NETLINK_NO_ENOBUFS also reduces a \"go up, go down\"\neffect in terms of performance which is due to the netlink congestion\ncontrol when the listener cannot back off. The effect is the following:\n\n1) throughput rate goes up and netlink messages are inserted in the\nreceiver buffer.\n2) Then, netlink buffer fills and overruns (set on nlk-\u003estate bit 0).\n3) While the listener empties the receiver buffer, netlink keeps\ndropping messages. Thus, throughput goes dramatically down.\n4) Then, once the listener has emptied the buffer (nlk-\u003estate\nbit 0 is set off), goto step 1.\n\nThis effect is easy to trigger with netlink broadcast under heavy\nload, and it is more noticeable when using a big receiver buffer.\nYou can find some results in [1] that show this problem.\n\n[1] http://1984.lsi.us.es/linux/netlink/\n\nThis patch also includes the use of sk_drop to account the number of\nnetlink messages drop due to overrun. This value is shown in\n/proc/net/netlink.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5bb14386eabcb4229ade2bc0a2b237ca166d37d",
      "tree": "1966e65479f0d12cec0a204443a95b8eb57946db",
      "parents": [
        "bb4f92b3a33bfc31f55098da85be44702bea2d16",
        "1d45209d89e647e9f27e4afa1f47338df73bc112"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 13:24:36 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 24 13:24:36 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6\n"
    },
    {
      "commit": "dd5b6ce6fd465eab90357711c8e8124dc3a31ff0",
      "tree": "ebc40b018356e8cac36ba575e3f183c1a16b782b",
      "parents": [
        "176252746ebbc8db97e304345af1f2563c7dc139"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Mon Mar 23 13:21:06 2009 +0100"
      },
      "committer": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Mar 23 13:21:06 2009 +0100"
      },
      "message": "nefilter: nfnetlink: add nfnetlink_set_err and use it in ctnetlink\n\nThis patch adds nfnetlink_set_err() to propagate the error to netlink\nbroadcast listener in case of memory allocation errors in the\nmessage building.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\n"
    },
    {
      "commit": "508827ff0ac3981d420edac64a70de7f4e304d38",
      "tree": "b0cee8ddef9f0ceab68c388e4ae46b7295eb2cb5",
      "parents": [
        "2c3c3d02f28801d7ad2da4952b2c7ca6621ef221",
        "72e2240f181871675d3a979766330c91d48a1673"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 05 02:06:47 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/tokenring/tmspci.c\n\tdrivers/net/ucc_geth_mii.c\n"
    },
    {
      "commit": "4843b93c96ae5043c6279c4ec6fcd8ee3866ff5b",
      "tree": "58532635d403fba5b1514dfbf2c707f93b5ba1ed",
      "parents": [
        "17edde520927070a6bf14a6a75027c0b843443e5"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Mar 03 23:37:30 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 03 23:37:30 2009 -0800"
      },
      "message": "netlink: invert error code in netlink_set_err()\n\nThe callers of netlink_set_err() currently pass a negative value\nas parameter for the error code. However, sk-\u003esk_err wants a\npositive error value. Without this patch, skb_recv_datagram() called\nby netlink_recvmsg() may return a positive value to report an error.\n\nAnother choice to fix this is to change callers to pass a positive\nerror value, but this seems a bit inconsistent and error prone\nto me. Indeed, the callers of netlink_set_err() assumed that the\n(usual) negative value for error codes was fine before this patch :).\n\nThis patch also includes some documentation in docbook format\nfor netlink_set_err() to avoid this sort of confusion.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9cc8bddaea3944fabfebb968bc88d603239beed",
      "tree": "9d311256882e48bd133f31db564a307c2a271453",
      "parents": [
        "8c882f64130071eaebdc0861bee34a73e436f004"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "Geert.Uytterhoeven@sonycom.com",
        "time": "Wed Mar 04 14:53:30 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Mar 04 14:53:30 2009 +0800"
      },
      "message": "netlink: Move netlink attribute parsing support to lib\n\nNetlink attribute parsing may be used even if CONFIG_NET is not set.\nMove it from net/netlink to lib and control its inclusion based on the new\nconfig symbol CONFIG_NLATTR, which is selected by CONFIG_NET.\n\nSigned-off-by: Geert Uytterhoeven \u003cGeert.Uytterhoeven@sonycom.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "91744f6559393697e13bf0f9f3f35f884e2520f9",
      "tree": "b0f1d8a2145bc5a59147ae9e5660985f389657aa",
      "parents": [
        "40d44446cf10d9d118e8f0132c94e1f25ea3be97"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Wed Feb 25 00:34:41 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 26 23:07:34 2009 -0800"
      },
      "message": "netlink: remove some pointless conditionals before kfree_skb()\n\nRemove some pointless conditionals before kfree_skb().\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ce85fe402137824246bad03ff85f3913d565c17",
      "tree": "3a54c150e9616709a8f65270cd1f4aeecac4d48e",
      "parents": [
        "4fb0a54a55d34c28dc53c39567ce171166572699"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 24 23:18:28 2009 -0800"
      },
      "message": "netlink: change nlmsg_notify() return value logic\n\nThis patch changes the return value of nlmsg_notify() as follows:\n\nIf NETLINK_BROADCAST_ERROR is set by any of the listeners and\nan error in the delivery happened, return the broadcast error;\nelse if there are no listeners apart from the socket that\nrequested a change with the echo flag, return the result of the\nunicast notification. Thus, with this patch, the unicast\nnotification is handled in the same way of a broadcast listener\nthat has set the NETLINK_BROADCAST_ERROR socket flag.\n\nThis patch is useful in case that the caller of nlmsg_notify()\nwants to know the result of the delivery of a netlink notification\n(including the broadcast delivery) and take any action in case\nthat the delivery failed. For example, ctnetlink can drop packets\nif the event delivery failed to provide reliable logging and\nstate-synchronization at the cost of dropping packets.\n\nThis patch also modifies the rtnetlink code to ignore the return\nvalue of rtnl_notify() in all callers. The function rtnl_notify()\n(before this patch) returned the error of the unicast notification\nwhich makes rtnl_set_sk_err() reports errors to all listeners. This\nis not of any help since the origin of the change (the socket that\nrequested the echoing) notices the ENOBUFS error if the notification\nfails and should resync itself.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be0c22a46cfb79ab2342bb28fde99afa94ef868e",
      "tree": "da112ef3066d75a7e5adcfe3355ad2b60ef1929b",
      "parents": [
        "2d96cf8cdfd625da51e5d237d564cd75d3147547"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Wed Feb 18 01:40:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 20 01:01:08 2009 -0800"
      },
      "message": "netlink: add NETLINK_BROADCAST_ERROR socket option\n\nThis patch adds NETLINK_BROADCAST_ERROR which is a netlink\nsocket option that the listener can set to make netlink_broadcast()\nreturn errors in the delivery to the caller. This option is useful\nif the caller of netlink_broadcast() do something with the result\nof the message delivery, like in ctnetlink where it drops a network\npacket if the event delivery failed, this is used to enable reliable\nlogging and state-synchronization. If this socket option is not set,\nnetlink_broadcast() only reports ESRCH errors and silently ignore\nENOBUFS errors, which is what most netlink_broadcast() callers\nshould do.\n\nThis socket option is based on a suggestion from Patrick McHardy.\nPatrick McHardy can exchange this patch for a beer from me ;).\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff491a7334acfd74e515c896632e37e401f52676",
      "tree": "0e3663706a706029d6fc749ef7f66cdd03925231",
      "parents": [
        "612e244c12215f6f74973ea3b89bff96450dc530"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Thu Feb 05 23:56:36 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 23:56:36 2009 -0800"
      },
      "message": "netlink: change return-value logic of netlink_broadcast()\n\nCurrently, netlink_broadcast() reports errors to the caller if no\nmessages at all were delivered:\n\n1) If, at least, one message has been delivered correctly, returns 0.\n2) Otherwise, if no messages at all were delivered due to skb_clone()\n   failure, return -ENOBUFS.\n3) Otherwise, if there are no listeners, return -ESRCH.\n\nWith this patch, the caller knows if the delivery of any of the\nmessages to the listeners have failed:\n\n1) If it fails to deliver any message (for whatever reason), return\n   -ENOBUFS.\n2) Otherwise, if all messages were delivered OK, returns 0.\n3) Otherwise, if no listeners, return -ESRCH.\n\nIn the current ctnetlink code and in Netfilter in general, we can add\nreliable logging and connection tracking event delivery by dropping the\npackets whose events were not successfully delivered over Netlink. Of\ncourse, this option would be settable via /proc as this approach reduces\nperformance (in terms of filtered connections per seconds by a stateful\nfirewall) but providing reliable logging and event delivery (for\nconntrackd) in return.\n\nThis patch also changes some clients of netlink_broadcast() that\nmay report ENOBUFS errors via printk. This error handling is not\nof any help. Instead, the userspace daemons that are listening to\nthose netlink messages should resync themselves with the kernel-side\nif they hit ENOBUFS.\n\nBTW, netlink_broadcast() clients include those that call\ncn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they\ninternally call netlink_broadcast() and return its error value.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3efb40c2c6eea315abcf19239c15d088e2498299",
      "tree": "d6f36cf47dbe7469a7311bfc8f2dfbf17680845e",
      "parents": [
        "15530dfd330bd19d14e096f88c70355a61fda3f2"
      ],
      "author": {
        "name": "Inaky Perez-Gonzalez",
        "email": "inaky@linux.intel.com",
        "time": "Sat Dec 20 16:57:37 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jan 07 10:00:17 2009 -0800"
      },
      "message": "genetlink: export genl_unregister_mc_group()\n\nAdd an EXPORT_SYMBOL() to genl_unregister_mc_group(), to allow\nunregistering groups on the run. EXPORT_SYMBOL_GPL() is not used as\nthe rest of the functions exported by this module (eg:\ngenl_register_mc_group) are also not _GPL().\n\nCleanup is currently done when unregistering a family, but there is\nno way to unregister a single multicast group due to that function not\nbeing exported. Seems to be a mistake as it is documented as for\nexternal consumption.\n\nThis is needed by the WiMAX stack to be able to cleanup unused mc\ngroups.\n\nSigned-off-by: Inaky Perez-Gonzalez \u003cinaky@linux.intel.com\u003e\nAcked-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ea5693ccc553951ae44cb963b28cce85edc275c9",
      "tree": "44ca6da57e63035537d01cf58c24837067c2ec26",
      "parents": [
        "ed77a89c30fa03dcb234a84ddea710b3fb7b62da"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Nov 28 03:05:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 03:05:19 2008 -0800"
      },
      "message": "netlink: allow empty nested attributes\n\nvalidate_nla() currently doesn\u0027t allow empty nested attributes. This\nmakes userspace code unnecessarily complicated when starting and ending\nthe nested attribute is done by generic upper level code and the inner\nattributes are dumped by a module.\n\nAdd a special case to accept empty nested attributes. When the nested\nattribute is non empty, the same checks as before are performed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3755810cebf7f9902b05c7ba9baeac0fc44881be",
      "tree": "e4bee0e33103781034fdf6144898a67b21778ad7",
      "parents": [
        "920de804bca61f88643bc9171bcd06f1a56c6258"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Mon Nov 24 14:05:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 24 14:05:22 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThere is still a call to sock_prot_inuse_add() in af_netlink\nwhile in a preemptable section. Add explicit BH disable around\nthis call.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f756a8c36bf54d0afb1d457082b3e3033d951a7",
      "tree": "33efc99e3df9edf1d777a00913852d24d19b930b",
      "parents": [
        "be77e5930725c3e77bcc0fb1def28e016080d0a1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:34:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 17:34:03 2008 -0800"
      },
      "message": "net: Make sure BHs are disabled in sock_prot_inuse_add()\n\nThe rule of calling sock_prot_inuse_add() is that BHs must\nbe disabled.  Some new calls were added where this was not\ntrue and this tiggers warnings as reported by Ilpo.\n\nFix this by adding explicit BH disabling around those call sites.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c1fd3b9455a977057f73534324d4e07a3d9fe502",
      "tree": "d145a2db2a6195666cf89ff92563de5613847ec9",
      "parents": [
        "04f258ce7f085dd69422fa01d41c8f0194a0e270"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Sun Nov 23 15:48:22 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 23 15:48:22 2008 -0800"
      },
      "message": "net: af_netlink should update its inuse counter\n\nIn order to have relevant information for NETLINK protocol, in\n/proc/net/protocols, we should use sock_prot_inuse_add() to\nupdate a (percpu and pernamespace) counter of inuse sockets.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b057efd4d226fcc3a92b0dc6d8ea8e8185ecb260",
      "tree": "ac372761de7105de30245976d5268218ab4fb357",
      "parents": [
        "3891845e1ef6e6807075d4241966b26f6ecb0a5c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Oct 28 11:59:11 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 11:59:11 2008 -0700"
      },
      "message": "netlink: constify struct nlattr * arg to parsing functions\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95a5afca4a8d2e1cb77e1d4bc6ff9f718dc32f7a",
      "tree": "15452d28df4e4d76fc1276e791a7cc3c6e1a9b3a",
      "parents": [
        "00269b54edbf25f3bb0dccb558ae23a6fc77ed86"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 16 15:24:51 2008 -0700"
      },
      "message": "net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely)\n\nSome code here depends on CONFIG_KMOD to not try to load\nprotocol modules or similar, replace by CONFIG_MODULES\nwhere more than just request_module depends on CONFIG_KMOD\nand and also use try_then_request_module in ebtables.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "113aa838ec3a235d883f8357d31d90e16c47fc89",
      "tree": "4e25254fb0402aea01074244879f574e213a9f31",
      "parents": [
        "510149e31974fdbb2c00c9bee6c0e2a688e61c85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 13 19:01:08 2008 -0700"
      },
      "message": "net: Rationalise email address: Network Specific Parts\n\nClean up the various different email addresses of mine listed in the code\nto a single current and valid address. As Dave says his network merges\nfor 2.6.28 are now done this seems a good point to send them in where\nthey won\u0027t risk disrupting real changes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "547b792cac0a038b9dbf958d3c120df3740b5572",
      "tree": "08554d083b0ca7d65739dc1ce12f9b12a9b8e1f8",
      "parents": [
        "53e5e96ec18da6f65e89f05674711e1c93d8df67"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 25 21:43:18 2008 -0700"
      },
      "message": "net: convert BUG_TRAP to generic WARN_ON\n\nRemoves legacy reinvent-the-wheel type thing. The generic\nmachinery integrates much better to automated debugging aids\nsuch as kerneloops.org (and others), and is unambiguous due to\nbetter naming. Non-intuively BUG_TRAP() is actually equal to\nWARN_ON() rather than BUG_ON() though some might actually be\npromoted to BUG_ON() but I left that to future.\n\nI could make at least one BUILD_BUG_ON conversion.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2aca084ba82aaf7c148d04914ceed8758ce08a",
      "tree": "dcb3f4f849cf48deac2dd3bafd5c2cd2f0e7dc79",
      "parents": [
        "f3032be921cd126615ce3bfd7084e3d319f3f892",
        "c5a78ac00c400df29645e59938700301efb371d0"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 05 23:08:07 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tDocumentation/feature-removal-schedule.txt\n\tdrivers/net/wan/hdlc_fr.c\n\tdrivers/net/wireless/iwlwifi/iwl-4965.c\n\tdrivers/net/wireless/iwlwifi/iwl3945-base.c\n"
    },
    {
      "commit": "8487460720fd03a0f4ecd032f017b0a8468028da",
      "tree": "f546d710946a25505db23486632b974850fabfa6",
      "parents": [
        "a4aebb83cf0da0363684f1c339f7e6149a3e74c1"
      ],
      "author": {
        "name": "Wang Chen",
        "email": "wangchen@cn.fujitsu.com",
        "time": "Tue Jul 01 19:55:09 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 01 19:55:09 2008 -0700"
      },
      "message": "netlink: Unneeded local variable\n\nWe already have a variable, which has the same capability.\n\nSigned-off-by: Wang Chen \u003cwangchen@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b63ba8a86c85524a8d7e5953b314ce71ebcb9c9",
      "tree": "fe3dc41cbb47ae12b7c3faf6a88b097349e50d5a",
      "parents": [
        "e35c3269edba151e1c703d87068a28ce2cd65bb0",
        "d420895efb259a78dda50f95289571faa6e10e41"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 28 01:19:40 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/iwlwifi/iwl4965-base.c\n"
    },
    {
      "commit": "10b595aff138961b520bfed51d664fd99980f6e9",
      "tree": "47bdac6ac801296a855730e8c6646f038e9f46de",
      "parents": [
        "7be87351a1f6430426e88b4fcde353ab3330caff"
      ],
      "author": {
        "name": "Julius Volz",
        "email": "juliusv@google.com",
        "time": "Fri Jun 27 20:02:14 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 27 20:02:14 2008 -0700"
      },
      "message": "netlink: Fix some doc comments in net/netlink/attr.c\n\nFix some doc comments to match function and attribute names in\nnet/netlink/attr.c.\n\nSigned-off-by: Julius Volz \u003cjuliusv@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0344f1c66b544609e867bd24aa7bfa789dfa9830",
      "tree": "7f76abc095a90f7ad475417495d3d4f577080ae1",
      "parents": [
        "dad9b335c6940de2746a9788eb456d09cf102f81",
        "ef3a62d272f033989e83eb1f26505f93f93e3e69"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 19 16:00:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 19 16:00:04 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tnet/mac80211/tx.c\n"
    },
    {
      "commit": "6d1a3fb567a728d31474636e167c324702a0c38b",
      "tree": "02ffcef1520345d44f080b821aa32f4a596b7e1f",
      "parents": [
        "3a5be7d4b079f3a9ce1e8ce4a93ba15ae6d00111"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jun 18 02:07:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 18 02:07:07 2008 -0700"
      },
      "message": "netlink: genl: fix circular locking\n\ngenetlink has a circular locking dependency when dumping the registered\nfamilies:\n\n- dump start:\ngenl_rcv()            : take genl_mutex\ngenl_rcv_msg()        : call netlink_dump_start() while holding genl_mutex\nnetlink_dump_start(),\nnetlink_dump()        : take nlk-\u003ecb_mutex\nctrl_dumpfamily()     : try to detect this case and not take genl_mutex a\n                        second time\n\n- dump continuance:\nnetlink_rcv()         : call netlink_dump\nnetlink_dump          : take nlk-\u003ecb_mutex\nctrl_dumpfamily()     : take genl_mutex\n\nRegister genl_lock as callback mutex with netlink to fix this. This slightly\nwidens an already existing module unload race, the genl ops used during the\ndump might go away when the module is unloaded. Thomas Graf is working on a\nseperate fix for this.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65b53e4cc90e59936733b3b95b9451d2ca47528d",
      "tree": "29932718192962671c48c3fd1ea017a6112459e8",
      "parents": [
        "788c0a53164c05c5ccdb1472474372b72ba74644",
        "2e761e0532a784816e7e822dbaaece8c5d4be14d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 02:22:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 02:22:26 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/tg3.c\n\tdrivers/net/wireless/rt2x00/rt2x00dev.c\n\tnet/mac80211/ieee80211_i.h\n"
    },
    {
      "commit": "9457afee85e0dfc2b5075a391d6f34463b4c2b90",
      "tree": "39cf1262030ef195876c916a6f64201d66c48312",
      "parents": [
        "40aecb1b13f50d96616abb612c17e59457f54263"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Thu Jun 05 11:23:39 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 05 11:23:39 2008 -0700"
      },
      "message": "netlink: Remove nonblock parameter from netlink_attachskb\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc3ed28caaef55e7e3a9316464256353c5f9b1df",
      "tree": "3aed4521aa2d74a36ee2b192c2e229fd23fbe732",
      "parents": [
        "1f9d11c7c99da706e33646c3a9080dd5a8ef9a0b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jun 03 16:36:54 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 03 16:36:54 2008 -0700"
      },
      "message": "netlink: Improve returned error codes\n\nMake nlmsg_trim(), nlmsg_cancel(), genlmsg_cancel(), and\nnla_nest_cancel() void functions.\n\nReturn -EMSGSIZE instead of -1 if the provided message buffer is not\nbig enough.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2532386f480eefbdd67b48be55fb4fb3e5a6081c",
      "tree": "dd6a5a3c4116a67380a1336319c16632f04f80f9",
      "parents": [
        "436c405c7d19455a71f42c9bec5fd5e028f1eb4e"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Apr 18 10:09:25 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Apr 28 06:18:03 2008 -0400"
      },
      "message": "Audit: collect sessionid in netlink messages\n\nPreviously I added sessionid output to all audit messages where it was\navailable but we still didn\u0027t know the sessionid of the sender of\nnetlink messages.  This patch adds that information to netlink messages\nso we can audit who sent netlink messages.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3925e6fc1f774048404fdd910b0345b06c699eb4",
      "tree": "c9a58417d9492f39f7fe81d4721d674c34dd8be2",
      "parents": [
        "334d094504c2fe1c44211ecb49146ae6bca8c321",
        "7cea51be4e91edad05bd834f3235b45c57783f0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 18 18:18:30 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  security: fix up documentation for security_module_enable\n  Security: Introduce security\u003d boot parameter\n  Audit: Final renamings and cleanup\n  SELinux: use new audit hooks, remove redundant exports\n  Audit: internally use the new LSM audit hooks\n  LSM/Audit: Introduce generic Audit LSM hooks\n  SELinux: remove redundant exports\n  Netlink: Use generic LSM hook\n  Audit: use new LSM hooks instead of SELinux exports\n  SELinux: setup new inode/ipc getsecid hooks\n  LSM: Introduce inode_getsecid and ipc_getsecid hooks\n"
    },
    {
      "commit": "0ce784ca729dce8c9076a6339a15530ca13212f2",
      "tree": "37efdaaa08c1a5cec7ff91be2287358f5ca79ede",
      "parents": [
        "2a862b32f3da5a2120043921ad301322ad526084"
      ],
      "author": {
        "name": "Ahmed S. Darwish",
        "email": "darwish.07@gmail.com",
        "time": "Sat Mar 01 21:56:22 2008 +0200"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Sat Apr 19 09:52:35 2008 +1000"
      },
      "message": "Netlink: Use generic LSM hook\n\nDon\u0027t use SELinux exported selinux_get_task_sid symbol.\nUse the generic LSM equivalent instead.\n\nSigned-off-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nSigned-off-by: Ahmed S. Darwish \u003cdarwish.07@gmail.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\n"
    },
    {
      "commit": "878628fbf2589eb24357e42027d5f54b1dafd3c8",
      "tree": "30c109d8f337b3910e3b5364877c3c521dd700b5",
      "parents": [
        "57da52c1e62c6c13875e97de6c69d3156f8416da"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 03:57:35 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:40:00 2008 +0900"
      },
      "message": "[NET] NETNS: Omit namespace comparision without CONFIG_NET_NS.\n\nIntroduce an inline net_eq() to compare two namespaces.\nWithout CONFIG_NET_NS, since no namespace other than \u0026init_net\nexists, it is always 1.\n\nWe do not need to convert 1) inline vs inline and\n2) inline vs \u0026init_net comparisons.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "1218854afa6f659be90b748cf1bc7badee954a35",
      "tree": "78b83e3941fa7e5a03c04e2e4f6ddb1a08ea38a0",
      "parents": [
        "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:36:06 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:56 2008 +0900"
      },
      "message": "[NET] NETNS: Omit seq_net_private-\u003enet without CONFIG_NET_NS.\n\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists,\nno need to store net in seq_net_private.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9",
      "tree": "09edb35f32ebcfb1b4dad904425128a110ef16ee",
      "parents": [
        "c346dca10840a874240c78efe3f39acf4312a1f2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 02:26:21 2008 +0900"
      },
      "committer": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Wed Mar 26 04:39:55 2008 +0900"
      },
      "message": "[NET] NETNS: Omit sock-\u003esk_net without CONFIG_NET_NS.\n\nIntroduce per-sock inlines: sock_net(), sock_net_set()\nand per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().\nWithout CONFIG_NET_NS, no namespace other than \u0026init_net exists.\nLet\u0027s explicitly define them to help compiler optimizations.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\n"
    },
    {
      "commit": "b1153f29ee07dc1a788964409255a4b4fae50b98",
      "tree": "3e9c09804e805da77d225a8508c28e064a310c45",
      "parents": [
        "6f8b13bcb3369a5df2e63acc422bed6098f5b8c4"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Mar 21 15:46:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 21 15:46:12 2008 -0700"
      },
      "message": "netlink: make socket filters work on netlink\n\nMake socket filters work for netlink unicast and notifications.\nThis is useful for applications like Zebra that get overrun with\nmessages that are then ignored.\n\nNote: netlink messages are in host byte order, but packet filter\nstate machine operations are done as network byte order.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "edf0208702007ec1f6a36756fdd005f771a4cf17",
      "tree": "f323141ddde44db532d984ea7bf769a05220aa0c",
      "parents": [
        "9dfbec1fb2bedff6b118504055cd9f0485edba45"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:18:32 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:18:32 2008 -0800"
      },
      "message": "[NET]: Make netlink_kernel_release publically available as sk_release_kernel.\n\nThis staff will be needed for non-netlink kernel sockets, which should\nalso not pin a namespace like tcp_socket and icmp_socket.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9dfbec1fb2bedff6b118504055cd9f0485edba45",
      "tree": "1aea75182391bb8fc8d46e268897ae683ef49056",
      "parents": [
        "79c911595390c8fdc8d8a487ac1951d854b1cd09"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:17:56 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:17:56 2008 -0800"
      },
      "message": "[NETLINK]: No need for a separate __netlink_release call.\n\nMerge it to netlink_kernel_release.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "910d6c320cac65c81d66e8fd30dca167092722eb",
      "tree": "8c15459ad21e293081636c535945682a079d51cf",
      "parents": [
        "4c3a0a254e5d706d3fe01bf42261534858d05586"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Feb 12 22:16:33 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 12 22:16:33 2008 -0800"
      },
      "message": "[GENETLINK]: Relax dances with genl_lock.\n\nThe genl_unregister_family() calls the genl_unregister_mc_groups(), \nwhich takes and releases the genl_lock and then locks and releases\nthis lock itself.\n\nRelax this behavior, all the more so the genl_unregister_mc_groups() \nis called from genl_unregister_family() only.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c11b9428f619ab377c92eff2f160a834a6585dd",
      "tree": "35b573715ad5730a77d067486838345132771a7a",
      "parents": [
        "24e1c13c93cbdd05e4b7ea921c0050b036555adc"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Jan 10 04:20:52 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Feb 01 14:04:59 2008 -0500"
      },
      "message": "[PATCH] switch audit_get_loginuid() to task_struct *\n\nall callers pass something-\u003eaudit_context\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "23fe18669e7fdaf5b229747858d943a723124e2e",
      "tree": "1610562f5a80cb8c97102acafa16443de0e659f7",
      "parents": [
        "533cb5b0a63f28ecab5503cfceb77e641fa7f7c4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Jan 30 19:31:06 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:22 2008 -0800"
      },
      "message": "[NETNS]: Fix race between put_net() and netlink_kernel_create().\n\nThe comment about \"race free view of the set of network\nnamespaces\" was a bit hasty. Look (there even can be only\none CPU, as discovered by Alexey Dobriyan and Denis Lunev):\n\nput_net()\n  if (atomic_dec_and_test(\u0026net-\u003erefcnt))\n    /* true */\n      __put_net(net);\n        queue_work(...);\n\n/*\n * note: the net now has refcnt 0, but still in\n * the global list of net namespaces\n */\n\n\u003d\u003d re-schedule \u003d\u003d\n\nregister_pernet_subsys(\u0026some_ops);\n  register_pernet_operations(\u0026some_ops);\n    (*some_ops)-\u003einit(net);\n      /*\n       * we call netlink_kernel_create() here\n       * in some places\n       */\n      netlink_kernel_create();\n         sk_alloc();\n            get_net(net); /* refcnt \u003d 1 */\n         /*\n          * now we drop the net refcount not to\n          * block the net namespace exit in the\n          * future (or this can be done on the\n          * error path)\n          */\n         put_net(sk-\u003esk_net);\n             if (atomic_dec_and_test(\u0026...))\n                   /*\n                    * true. BOOOM! The net is\n                    * scheduled for release twice\n                    */\n\nWhen thinking on this problem, I decided, that getting and\nputting the net in init callback is wrong. If some init\ncallback needs to have a refcount-less reference on the struct\nnet, _it_ has to be careful himself, rather than relying on\nthe infrastructure to handle this correctly.\n\nIn case of netlink_kernel_create(), the problem is that the\nsk_alloc() gets the given namespace, but passing the info\nthat we don\u0027t want to get it inside this call is too heavy.\n\nInstead, I propose to crate the socket inside an init_net\nnamespace and then re-attach it to the desired one right\nafter the socket is created.\n\nAfter doing this, we also have to be careful on error paths\nnot to drop the reference on the namespace, we didn\u0027t get\nthe one on.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Denis Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "01480e1cf5e2118eba8a8968239f3242072f9563",
      "tree": "c967ad4acfeb3929ff191457a45fdb47eaf94bdb",
      "parents": [
        "2eb9d75c723252c1fa8f0206e6a0df220e3c64c0"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jan 22 22:10:59 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:09 2008 -0800"
      },
      "message": "[NETLINK]: Add nla_append()\n\nUsed to append data to a message without a header or padding.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "775516bfa2bd7993620c9039191a0c30b8d8a496",
      "tree": "7385f35edda9f4124b802ccf337c55070d2e00bc",
      "parents": [
        "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Jan 18 23:55:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:08 2008 -0800"
      },
      "message": "[NETNS]: Namespace stop vs \u0027ip r l\u0027 race.\n\nDuring network namespace stop process kernel side netlink sockets\nbelonging to a namespace should be closed. They should not prevent\nnamespace to stop, so they do not increment namespace usage\ncounter. Though this counter will be put during last sock_put.\n\nThe raplacement of the correct netns for init_ns solves the problem\nonly partial as socket to be stoped until proper stop is a valid\nnetlink kernel socket and can be looked up by the user processes. This\nis not a problem until it resides in initial namespace (no processes\ninside this net), but this is not true for init_net.\n\nSo, hold the referrence for a socket, remove it from lookup tables and\nonly after that change namespace and perform a last put.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7c6ba6eb1234e35a74fb8ba8123232a7b1ba9e4",
      "tree": "672c08c95229a6ac242ab12a5195dceddb0f3127",
      "parents": [
        "4f84d82f7a623f8641af2574425c329431ff158f"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Jan 28 14:41:19 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:07 2008 -0800"
      },
      "message": "[NETNS]: Consolidate kernel netlink socket destruction.\n\nCreate a specific helper for netlink kernel socket disposal. This just\nlet the code look better and provides a ground for proper disposal\ninside a namespace.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "869e58f87094b1e8a0df49232e4a5172678d46c9",
      "tree": "9ac2dc45be284ac66099e3e71b16a03fb5c21b8d",
      "parents": [
        "7d460db953d6d205e4c8ecc2017aea1ec22b6c9a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Jan 18 23:53:31 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:08:05 2008 -0800"
      },
      "message": "[NETNS]: Double free in netlink_release.\n\nNetlink protocol table is global for all namespaces. Some netlink\nprotocols have been virtualized, i.e. they have per/namespace netlink\nsocket. This difference can easily lead to double free if more than 1\nnamespace is started. Count the number of kernel netlink sockets to\ntrack that this table is not used any more.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nTested-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f25252675770e08d97bc112e52208e8c70ce0e5",
      "tree": "4bb63ed9e34af592b1791ce6d70916e415baebbb",
      "parents": [
        "50eb431d6e98189eb40606fcd4d03ecd8e168afa"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Jan 12 03:21:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:01:50 2008 -0800"
      },
      "message": "[NETLINK] af_netlink: kill some bloat\n\nnet/netlink/af_netlink.c:\n  netlink_realloc_groups        |  -46\n  netlink_insert                |  -49\n  netlink_autobind              |  -94\n  netlink_clear_multicast_users |  -48\n  netlink_bind                  |  -55\n  netlink_setsockopt            |  -54\n  netlink_release               |  -86\n  netlink_kernel_create         |  -47\n  netlink_change_ngroups        |  -56\n 9 functions changed, 535 bytes removed, diff: -535\n\nnet/netlink/af_netlink.c:\n  netlink_table_ungrab |  +53\n 1 function changed, 53 bytes added, diff: +53\n\nnet/netlink/af_netlink.o:\n 10 functions changed, 53 bytes added, 535 bytes removed, diff: -482\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9a429c4983deae020f1e757ecc8f547b6d4e2f2b",
      "tree": "172e27a5866e182b902cd77506df1755aafadb60",
      "parents": [
        "b950dfcf504842a0f2bb142a33ef938f1c00d300"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Jan 01 21:58:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:31 2008 -0800"
      },
      "message": "[NET]: Add some acquires/releases sparse annotations.\n\nAdd __acquires() and __releases() annotations to suppress some sparse\nwarnings.\n\nexample of warnings :\n\nnet/ipv4/udp.c:1555:14: warning: context imbalance in \u0027udp_seq_start\u0027 - wrong\ncount at exit\nnet/ipv4/udp.c:1571:13: warning: context imbalance in \u0027udp_seq_stop\u0027 -\nunexpected unlock\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea72912c888661d1a847f1b1450643d4114097cf",
      "tree": "de938be7d4887f974f67b09fbae6942726839bb8",
      "parents": [
        "64b7d96167977850f4a24e52dd0a76b03c6542cf"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Tue Dec 11 02:09:47 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:06 2008 -0800"
      },
      "message": "[NETLINK]: kzalloc() conversion\n\nnl_pid_hash_alloc() is renamed to nl_pid_hash_zalloc().\nIt is now returning zeroed memory to its callers.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ac552fdc6e96bf2f39c18d6e66b8c8080bbb06e",
      "tree": "f727965dc562c96603dbd50c24f545277a038eb5",
      "parents": [
        "2fcb45b6b87914f072314e5b5d9c196f45984683"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Dec 04 00:19:38 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:55:50 2008 -0800"
      },
      "message": "[NETLINK]: af_netlink.c checkpatch cleanups\n\nFix large number of checkpatch errors.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e372c41401993b45c721c4d92730e7e0a79f7c1b",
      "tree": "8f062f506c0578fc83b7d05c8751a7ccac96e50e",
      "parents": [
        "097e66c578459f79e3a2128c54e9df5194e1419a"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Nov 19 22:31:54 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:54:28 2008 -0800"
      },
      "message": "[NET]: Consolidate net namespace related proc files creation.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "022cbae611a37eda80d498f8f379794c8ac3be47",
      "tree": "c6fe8fe45748127c916d32ec97601c435065d5cb",
      "parents": [
        "ed160e839d2e1118529e58b04d52dba703ca629c"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 13 03:23:50 2007 -0800"
      },
      "message": "[NET]: Move unneeded data to initdata section.\n\nThis patch reverts Eric\u0027s commit 2b008b0a8e96b726c603c5e1a5a7a509b5f61e35\n\nIt diets .text \u0026 .data section of the kernel if CONFIG_NET_NS is not set.\nThis is safe after list operations cleanup.\n\nSigned-of-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3d8d1e30cace31fed6186a4b8c6b1401836d89c",
      "tree": "7122fccf27aa337438123071f3cb07999429de9e",
      "parents": [
        "230140cffa7feae90ad50bf259db1fa07674f3a7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Nov 07 02:42:09 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:15:12 2007 -0800"
      },
      "message": "[NETLINK]: Fix unicast timeouts\n\nCommit ed6dcf4a in the history.git tree broke netlink_unicast timeouts\nby moving the schedule_timeout() call to a new function that doesn\u0027t\npropagate the remaining timeout back to the caller. This means on each\nretry we start with the full timeout again.\n\nipc/mqueue.c seems to actually want to wait indefinitely so this\nbehaviour is retained.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6257ff2177ff02d7f260a7a501876aa41cb9a9f6",
      "tree": "9d9f80ccf16f3d4ef062e896f62974c5496193ad",
      "parents": [
        "154adbc8469ff21fbf5c958446ee92dbaab01be1"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 01 00:39:31 2007 -0700"
      },
      "message": "[NET]: Forget the zero_it argument of sk_alloc()\n\nFinally, the zero_it argument can be completely removed from\nthe callers and from the function prototype.\n\nBesides, fix the checkpatch.pl warnings about using the\nassignments inside if-s.\n\nThis patch is rather big, and it is a part of the previous one.\nI splitted it wishing to make the patches more readable. Hope \nthis particular split helped.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b008b0a8e96b726c603c5e1a5a7a509b5f61e35",
      "tree": "80d71a763d3e8365805203cf22093783e64e1bbc",
      "parents": [
        "72998d8c84247817c4b8b05b0256f29453e435f5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 22:54:53 2007 -0700"
      },
      "message": "[NET]: Marking struct pernet_operations __net_initdata was inappropriate\n\nIt is not safe to to place struct pernet_operations in a special section.\nWe need struct pernet_operations to last until we call unregister_pernet_subsys.\nWhich doesn\u0027t happen until module unload.\n\nSo marking struct pernet_operations is a disaster for modules in two ways.\n- We discard it before we call the exit method it points to.\n- Because I keep struct pernet_operations on a linked list discarding\n  it for compiled in code removes elements in the middle of a linked\n  list and does horrible things for linked insert.\n\nSo this looks safe assuming __exit_refok is not discarded\nfor modules.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5c58298c2536252ab95aa2b1497ab47eb878ca5d",
      "tree": "c21815b2b3c16aaf7ebb5750fe4fe195f1d04e3c",
      "parents": [
        "be7f827360b5dfecd8f43adbd48f2c39556004c9"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Oct 23 20:29:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 23 21:27:51 2007 -0700"
      },
      "message": "[NETLINK]: Fix ACK processing after netlink_dump_start\n\nRevert to original netlink behavior. Do not reply with ACK if the\nnetlink dump has bees successfully started.\n\nlibnl has been broken by the cd40b7d3983c708aabe3d3008ec64ffce56d33b0\nThe following command reproduce the problem:\n   /nl-route-get 192.168.1.1\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f937f1f46b6d2f9bef94e0d6b769a4c67615d34e",
      "tree": "4aadb89d07e7bb0789d5a754e65db686f339f07c",
      "parents": [
        "1dff92e09eb3adfcf3d3dffd0507b850f911f280"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Mon Oct 15 01:39:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:32 2007 -0700"
      },
      "message": "[NETLINK]: Don\u0027t leak \u0027listeners\u0027 in netlink_kernel_create()\n\nThe Coverity checker spotted that we\u0027ll leak the storage allocated\nto \u0027listeners\u0027 in netlink_kernel_create() when the\n  if (!nl_table[unit].registered)\ncheck is false.\n\nThis patch avoids the leak.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd40b7d3983c708aabe3d3008ec64ffce56d33b0",
      "tree": "0d6fe9cfd2f03fdeee126e317d4bfb145afc458d",
      "parents": [
        "aed815601f3f95281ab3a01f7e2cbe1bd54285a0"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:15:29 2007 -0700"
      },
      "message": "[NET]: make netlink user -\u003e kernel interface synchronious\n\nThis patch make processing netlink user -\u003e kernel messages synchronious.\nThis change was inspired by the talk with Alexey Kuznetsov about current\nnetlink messages processing. He says that he was badly wrong when introduced \nasynchronious user -\u003e kernel communication.\n\nThe call netlink_unicast is the only path to send message to the kernel\nnetlink socket. But, unfortunately, it is also used to send data to the\nuser.\n\nBefore this change the user message has been attached to the socket queue\nand sk-\u003esk_data_ready was called. The process has been blocked until all\npending messages were processed. The bad thing is that this processing\nmay occur in the arbitrary process context.\n\nThis patch changes nlk-\u003edata_ready callback to get 1 skb and force packet\nprocessing right in the netlink_unicast.\n\nKernel -\u003e user path in netlink_unicast remains untouched.\n\nEINTR processing for in netlink_run_queue was changed. It forces rtnl_lock\ndrop, but the process remains in the cycle until the message will be fully\nprocessed. So, there is no need to use this kludges now.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aed815601f3f95281ab3a01f7e2cbe1bd54285a0",
      "tree": "9aa4d01bcb33ca319a5d13db1bf1e5c4549d64cc",
      "parents": [
        "7ee015e0fa3c856416e9477aac4b850ec6f09017"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:14:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:14:32 2007 -0700"
      },
      "message": "[NET]: unify netlink kernel socket recognition\n\nThere are currently two ways to determine whether the netlink socket is a\nkernel one or a user one. This patch creates a single inline call for\nthis purpose and unifies all the calls in the af_netlink.c\n\nNo similar calls are found outside af_netlink.c.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7ee015e0fa3c856416e9477aac4b850ec6f09017",
      "tree": "b91741163f47515d00faba9d36d37fcf03ded29f",
      "parents": [
        "3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:14:03 2007 -0700"
      },
      "message": "[NET]: cleanup 3rd argument in netlink_sendskb\n\nnetlink_sendskb does not use third argument. Clean it and save a couple of\nbytes.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b71535f357a2e5d013a44a06b0c26a6a8d8fb5b",
      "tree": "259158a50b97626063a4c779e8cb2ed81c911555",
      "parents": [
        "1536cc0d55a2820b71daf912060fe43ec15630c2"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Wed Oct 10 21:13:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:13:32 2007 -0700"
      },
      "message": "[NET]: Make netlink processing routines semi-synchronious (inspired by rtnl) v2\n\nThe code in netfilter/nfnetlink.c and in ./net/netlink/genetlink.c looks\nlike outdated copy/paste from rtnetlink.c. Push them into sync with the\noriginal.\n\nChanges from v1:\n- deleted comment in nfnetlink_rcv_msg by request of Patrick McHardy\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf7732e4cc14b56d593ff53352673e1fd5e3ba52",
      "tree": "3479e278b72f9d535a58066bc2a26238806252ce",
      "parents": [
        "39699037a5c94d7cd1363dfe48a50c78c643fd9a"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 10 02:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:33 2007 -0700"
      },
      "message": "[NET]: Make core networking code use seq_open_private\n\nThis concerns the ipv4 and ipv6 code mostly, but also the netlink\nand unix sockets.\n\nThe netlink code is an example of how to use the __seq_open_private()\ncall - it saves the net namespace on this private.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4665079cbb2a3e17de82f2ab2940b9f97f37d65e",
      "tree": "8e51e9b9e6155eaeccf28783620a07b20a067d8d",
      "parents": [
        "d62a38d1ab350f787e4941e42a3d3e97971e38f5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 08 20:38:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:58 2007 -0700"
      },
      "message": "[NETNS]: Move some code into __init section when CONFIG_NET_NS\u003dn\n\nWith the net namespaces many code leaved the __init section,\nthus making the kernel occupy more memory than it did before.\nSince we have a config option that prohibits the namespace\ncreation, the functions that initialize/finalize some netns\nstuff are simply not needed and can be freed after the boot.\n\nCurrently, this is almost not noticeable, since few calls\nare no longer in __init, but when the namespaces will be\nmerged it will be possible to free more code. I propose to\nuse the __net_init, __net_exit and __net_initdata \"attributes\"\nfor functions/variables that are not used if the CONFIG_NET_NS\nis not set to save more space in memory.\n\nThe exiting functions cannot just reside in the __exit section,\nas noticed by David, since the init section will have\nreferences on it and the compilation will fail due to modpost\nchecks. These references can exist, since the init namespace\nnever dies and the exit callbacks are never called. So I\nintroduce the __exit_refok attribute just like it is already\ndone with the __init_refok.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "26ff5ddc5ab11e37ab3db469f24324e0ef1d6f63",
      "tree": "c4f68c97ef2421dce8b0289ecd56b1d48b9dff15",
      "parents": [
        "99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:36:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:25 2007 -0700"
      },
      "message": "[NETLINK]: the temp variable name max is ambiguous\n\nwith the macro max provided by \u003clinux/kernel.h\u003e, so changed its name\nto a more proper one: limit\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99406c885ab27c369fa4a1b15c4a5a5ad0d61fcd",
      "tree": "0ea0cc02e563297809fa393c5677ae0022efa877",
      "parents": [
        "52886051ffdc087a4f7f11540395fd64040101ad"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sun Sep 16 16:34:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:25 2007 -0700"
      },
      "message": "[NETLINK]: use the macro min(x,y) provided by \u003clinux/kernel.h\u003e instead\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0cfad07555312468296ea3bbbcdf99038f58678b",
      "tree": "a95c432bcafaf22e965dcaf27bfd4a61723d1d64",
      "parents": [
        "007e3936bdaaa012483c9fe06ca71c272458c710"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:24:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:24 2007 -0700"
      },
      "message": "[NETLINK]: Avoid pointer in netlink_run_queue\n\nI was looking at Patrick\u0027s fix to inet_diag and it occured\nto me that we\u0027re using a pointer argument to return values\nunnecessarily in netlink_run_queue.  Changing it to return\nthe value will allow the compiler to generate better code\nsince the value won\u0027t have to be memory-backed.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "077130c0cf7d5ba1992f5b51b96136d7b1c8aad5",
      "tree": "c8fd2622e7d633cc504c7543b55e25bd6d99a2fa",
      "parents": [
        "4fabcd7118162e36eea5c53e8895ecc13762bef3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 13 09:18:57 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:22 2007 -0700"
      },
      "message": "[NET]: Fix race when opening a proc file while a network namespace is exiting.\n\nThe problem:  proc_net files remember which network namespace the are\nagainst but do not remember hold a reference count (as that would pin\nthe network namespace).   So we currently have a small window where\nthe reference count on a network namespace may be incremented when opening\na /proc file when it has already gone to zero.\n\nTo fix this introduce maybe_get_net and get_proc_net.\n\nmaybe_get_net increments the network namespace reference count only if it is\ngreater then zero, ensuring we don\u0027t increment a reference count after it\nhas gone to zero.\n\nget_proc_net handles all of the magic to go from a proc inode to the network\nnamespace instance and call maybe_get_net on it.\n\nPROC_NET the old accessor is removed so that we don\u0027t get confused and use\nthe wrong helper function.\n\nThen I fix up the callers to use get_proc_net and handle the case case\nwhere get_proc_net returns NULL.  In that case I return -ENXIO because\neffectively the network namespace has already gone away so the files\nwe are trying to access don\u0027t exist anymore.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4c1f9b049df3be11090f1c2c4738700302acae",
      "tree": "51271d32096e4419173072d120176b4428e52a11",
      "parents": [
        "9d5010db7ecfd6ec00119d3b185c4c0cd3265167"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Sep 12 14:44:36 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:16 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nested and byteorder flag to netlink attribute\n\nThis change allows the generic attribute interface to be used within\nthe netfilter subsystem where this flag was initially introduced.\n\nThe byte-order flag is yet unused, it\u0027s intended use is to\nallow automatic byte order convertions for all atomic types.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "32b21e034be9954eaae0278df20e0251eb958ded",
      "tree": "3a0e55f59fae96505b908b1e65a2df42e9377c41",
      "parents": [
        "f7944fb1913130ae7858008af96e52a3a6b04118"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Tue Aug 28 15:41:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:35 2007 -0700"
      },
      "message": "[NETLINK]: use container_of instead\n\nThis could make future redesign of struct netlink_sock easier.\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79d310d01ec2a55e0ac1810aee56886ebee58c53",
      "tree": "80c4e2ab418c921bb7a492a8e6fd168825784722",
      "parents": [
        "2c04ddb707b4d50c314186249f466b6720ee4289"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:34:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:34:53 2007 -0700"
      },
      "message": "[GENETLINK]: Correctly report errors while registering a multicast group\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2c04ddb707b4d50c314186249f466b6720ee4289",
      "tree": "49c4f918f41ff16442c20c4a165f41d836bcd8d5",
      "parents": [
        "79dc4386aec655ad829f320ab90888bacbc7037b"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:33:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:33:51 2007 -0700"
      },
      "message": "[GENETLINK]: Fix adjustment of number of multicast groups\n\nThe current calculation of the maximum number of genetlink\nmulticast groups seems odd, fix it.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "79dc4386aec655ad829f320ab90888bacbc7037b",
      "tree": "82340d9c2be1c96e3e894a4fa29132e4234e74a1",
      "parents": [
        "85ccc365e91de9f0053c94de4cbc6ce97f8170e7"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 24 15:32:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 24 15:32:46 2007 -0700"
      },
      "message": "[GENETLINK]: Fix race in genl_unregister_mc_groups()\n\nfamily-\u003emcast_groups is protected by genl_lock so it must\nbe held while accessing the list in genl_unregister_mc_groups().\nRequires adding a non-locking variant of genl_unregister_mc_group().\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2dbba6f773d1e1e4c78f03b0dbf19790d9017693",
      "tree": "19535af46e79a0af756275f751d7b0080b72001d",
      "parents": [
        "84659eb529b33572bb3f8c94e0978bd5d084bc7e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:52 2007 -0700"
      },
      "message": "[GENETLINK]: Dynamic multicast groups.\n\nIntroduce API to dynamically register and unregister multicast groups.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84659eb529b33572bb3f8c94e0978bd5d084bc7e",
      "tree": "3eddcba4b7e4779a51480c3cc24384ff2046b287",
      "parents": [
        "b4ff4f0419ae5db83553fab79d03a89c10d540a8"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:47:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:47:05 2007 -0700"
      },
      "message": "[NETLIKN]: Allow removing multicast groups.\n\nAllow kicking listeners out of a multicast group when necessary\n(for example if that group is going to be removed.)\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4ff4f0419ae5db83553fab79d03a89c10d540a8",
      "tree": "17695af46692c31ec1f33ffb68bc686064227913",
      "parents": [
        "c81de6addb913423acef6e692fd70688180ab5dd"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 15:46:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 15:46:06 2007 -0700"
      },
      "message": "[NETLINK]: allocate group bitmaps dynamically\n\nAllow changing the number of groups for a netlink family\nafter it has been created, use RCU to protect the listeners\nbitmap keeping netlink_has_listeners() lock-free.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eb4965344965530411359891214cd6fcab483649",
      "tree": "d6007042cd1ca2ac1f2378ea93ce3878bec89d0b",
      "parents": [
        "f77ae9390438409b535f3b1854672e54120cd38b"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Wed Jul 18 02:07:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 02:07:51 2007 -0700"
      },
      "message": "[NETLINK]: negative groups in netlink_setsockopt\n\nReading netlink_setsockopt it\u0027s not immediately clear why there isn\u0027t a\nbug when you pass in negative numbers, the reason being that the \u003e\u003d\ncomparison is really unsigned although \u0027val\u0027 is signed because\nnlk-\u003engroups is unsigned. Make \u0027val\u0027 unsigned too.\n\n[ Update the get_user() cast to match.  --DaveM ]\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "56b3d975bbce65f655c5612b4822da671f9fd9b2",
      "tree": "7e29d70405d9c8e28ddee3b03a07157477fc780f",
      "parents": [
        "3be550f34b03e5eb762f74d447ebbeba97efbd6d"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 10 23:07:31 2007 -0700"
      },
      "message": "[NET]: Make all initialized struct seq_operations const.\n\nMake all initialized struct seq_operations in net/ const\n\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1092cb219774a82b1f16781aec7b8d4ec727c981",
      "tree": "dddd1d559e08c07b41715d8cf2678ff7d45d5230",
      "parents": [
        "334a8132d9950f769f390f0f35c233d099688e7a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Jun 25 13:49:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:38 2007 -0700"
      },
      "message": "[NETLINK]: attr: add nested compat attribute type\n\nAdd a nested compat attribute type that can be used to convert\nattributes that contain a structure to nested attributes in a\nbackwards compatible way.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef7c79ed645f52bcbdd88f8d54a9702c4d3fd15d",
      "tree": "4c27ec3362d958b99672366437d5eb6038dd561d",
      "parents": [
        "14a49e1fd2bb91ba2bf0e1f06711b6dbc21de02d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 05 12:38:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 07 13:40:10 2007 -0700"
      },
      "message": "[NETLINK]: Mark netlink policies const\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9e71efcd6d659afb9d390eea69b558a7432ba23e",
      "tree": "92837dbdfc9802017297e6be84e79a3828221aea",
      "parents": [
        "db3459d1a71d885334831cdca6646a48f5ea0483"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri May 04 12:15:11 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 04 12:15:11 2007 -0700"
      },
      "message": "[NETLINK]: Remove bogus BUG_ON\n\nRemove bogus BUG_ON(mutex_is_locked(nlk_sk(sk)-\u003ecb_mutex)), when the\nnetlink_kernel_create caller specifies an external mutex it might\nvalidly be locked.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "188ccb5583b8f501e1d0f5ba4f056afa141694e7",
      "tree": "3df30fcc6e333048517e79a3ec3a49b98617f447",
      "parents": [
        "3f660d66dfbc13ea4b61d3865851b348444c24b4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Thu May 03 03:27:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:27:01 2007 -0700"
      },
      "message": "[NETLINK]: Fix use after free in netlink_recvmsg\n\nWhen the user passes in MSG_TRUNC the skb is used after getting freed.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f660d66dfbc13ea4b61d3865851b348444c24b4",
      "tree": "3e2e67f1589d3568423673651d682fd14322b93b",
      "parents": [
        "be52178b9f73969b583c6a781ca613f4e601221a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu May 03 03:17:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 03 03:17:14 2007 -0700"
      },
      "message": "[NETLINK]: Kill CB only when socket is unused\n\nSince we can still receive packets until all references to the\nsocket are gone, we don\u0027t need to kill the CB until that happens.\nThis also aligns ourselves with the receive queue purging which\nhappens at that point.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42bad1da506cafa7041a02ab84033a724afe88ac",
      "tree": "2850b3483c2fd05341c32663f4adb8f2ce7506da",
      "parents": [
        "55404bca6c45595fee1a546f1a0cc616aeef0b00"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Apr 26 00:57:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 00:57:41 2007 -0700"
      },
      "message": "[NETLINK]: Possible cleanups.\n\n- make the following needlessly global variables static:\n  - core/rtnetlink.c: struct rtnl_msg_handlers[]\n  - netfilter/nf_conntrack_proto.c: struct nf_ct_protos[]\n- make the following needlessly global functions static:\n  - core/rtnetlink.c: rtnl_dump_all()\n  - netlink/af_netlink.c: netlink_queue_skip()\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ffa4d7216e848fbfdcb8e6f0bb66abeaa1888964",
      "tree": "a967ec65627e2f15c48cfddbd1b2283fd9ad260b",
      "parents": [
        "6313c1e0992feaee56bc09b85042b3186041fa3c"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Apr 25 14:01:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:06 2007 -0700"
      },
      "message": "[NETLINK]: don\u0027t reinitialize callback mutex\n\nDon\u0027t reinitialize the callback mutex the netlink_kernel_create caller\nhanded in, it is supposed to already be initialized and could already\nbe held by someone.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af65bdfce98d7965fbe93a48b8128444a2eea024",
      "tree": "e6ac5ff82a0d5067213135cdf049b912b02e824d",
      "parents": [
        "b076deb8498e26c9aa2f44046fe5e9936ae2fb5a"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Apr 20 14:14:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:03 2007 -0700"
      },
      "message": "[NETLINK]: Switch cb_lock spinlock to mutex and allow to override it\n\nSwitch cb_lock to mutex and allow netlink kernel users to override it\nwith a subsystem specific mutex for consistent locking in dump callbacks.\nAll netlink_dump_start users have been audited not to rely on any\nside-effects of the previously used spinlock.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d30045a0bcf144753869175dd9d840f7ceaf4aba",
      "tree": "a5f5b5f7073fbd733a7c5ac877161018f43cf1fc",
      "parents": [
        "703315712cfccfe0b45ef4aa6994527d8ee95e33"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Fri Mar 23 11:37:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:05 2007 -0700"
      },
      "message": "[NETLINK]: introduce NLA_BINARY type\n\nThis patch introduces a new NLA_BINARY attribute policy type with the\nverification of simply checking the maximum length of the payload.\n\nIt also fixes a small typo in the example.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c702e8047fe74648f7852a9c1de781b0d5a98402",
      "tree": "24bd031d79f3d1159bc08704a51c84de01d712b0",
      "parents": [
        "ead592ba246dfcc643b3f0f0c8c03f7bc898a59f"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:33 2007 -0700"
      },
      "message": "[NETLINK]: Directly return -EINTR from netlink_dump_start()\n\nNow that all users of netlink_dump_start() use netlink_run_queue()\nto process the receive queue, it is possible to return -EINTR from\nnetlink_dump_start() directly, therefore simplying the callers.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1d00a4eb42bdade33a6ec0961cada93577a66ae6",
      "tree": "a181b141818f594eb544601386bf09e45e6193bb",
      "parents": [
        "45e7ae7f716086994e4e747226881f901c67b031"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:30:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:30 2007 -0700"
      },
      "message": "[NETLINK]: Remove error pointer from netlink message handler\n\nThe error pointer argument in netlink message handlers is used\nto signal the special case where processing has to be interrupted\nbecause a dump was started but no error happened. Instead it is\nsimpler and more clear to return -EINTR and have netlink_run_queue()\ndeal with getting the queue right.\n\nnfnetlink passed on this error pointer to its subsystem handlers\nbut only uses it to signal the start of a netlink dump. Therefore\nit can be removed there as well.\n\nThis patch also cleans up the error handling in the affected\nmessage handlers to be consistent since it had to be touched anyway.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45e7ae7f716086994e4e747226881f901c67b031",
      "tree": "8f61cb9e3f67ac433e915176c2bf233d8899691d",
      "parents": [
        "d35b685640aeb39eb4f5e98c75e8e001e406f9a3"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:29:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:29 2007 -0700"
      },
      "message": "[NETLINK]: Ignore control messages directly in netlink_run_queue()\n\nChanges netlink_rcv_skb() to skip netlink controll messages and don\u0027t\npass them on to the message handler.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d35b685640aeb39eb4f5e98c75e8e001e406f9a3",
      "tree": "c3ec38a2fb54a3783dd9c764bf58be68557f9396",
      "parents": [
        "33a0543cd9e090d2c6759e0ed85c3049c6efcc06"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:28:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:29 2007 -0700"
      },
      "message": "[NETLINK]: Ignore !NLM_F_REQUEST messages directly in netlink_run_queue()\n\nnetlink_rcv_skb() is changed to skip messages which don\u0027t have the\nNLM_F_REQUEST bit to avoid every netlink family having to perform this\ncheck on their own.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33a0543cd9e090d2c6759e0ed85c3049c6efcc06",
      "tree": "1dac1a5bd688dd169d08de399be38c03adf5d7ca",
      "parents": [
        "267281058c4cfd6a9a173aa957bffa58239f9656"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 22 23:27:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:27:27 2007 -0700"
      },
      "message": "[NETLINK]: Remove unused groups variable\n\nLeftover from dynamic multicast groups allocation work.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b529ccf2799c14346d1518e9bdf1f88f03643e99",
      "tree": "f899a5a5d66d2ca21724c1871ee3afeda6c4a670",
      "parents": [
        "965ffea43d4ebe8cd7b9fee78d651268dd7d23c5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 19:08:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:34 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nlmsg_hdr() helper\n\nFor the common \"(struct nlmsghdr *)skb-\u003edata\" sequence, so that we reduce the\nnumber of direct accesses to skb-\u003edata and for consistency with all the other\ncast skb member helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4305b541357ddbd205aa145dc378926b7cb12283",
      "tree": "9b1f57ee4ee757a9324c48a7dea84bc8c279ad82",
      "parents": [
        "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:43:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:29 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003eend to sk_buff_data_t\n\nNow to convert the last one, skb-\u003edata, that will allow many simplifications\nand removal of some of the offset helpers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "badff6d01a8589a1c828b0bf118903ca38627f4e",
      "tree": "89611d7058c612085c58dfb9913ee30ddf04b604",
      "parents": [
        "0660e03f6b18f19b6bbafe7583265a51b90daf36"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:06:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:15 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_transport_header(skb)\n\nFor the common, open coded \u0027skb-\u003eh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003eh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple cases:\n\nskb-\u003eh.raw \u003d skb-\u003edata;\nskb-\u003eh.raw \u003d {skb_push|[__]skb_pull}()\n\nThe next ones will handle the slightly more \"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cb69cc52364690d7789940c480b3a9490784b680",
      "tree": "725cef0cfc7e43b0826490ccd99769baacf2977d",
      "parents": [
        "fe067e8ab5e0dc5ca3c54634924c628da92090b4"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Mar 07 19:33:52 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:03 2007 -0700"
      },
      "message": "[TCP/DCCP/RANDOM]: Remove unused exports.\n\nThis patch removes the following not or no longer used exports:\n- drivers/char/random.c: secure_tcp_sequence_number\n- net/dccp/options.c: sysctl_dccp_feat_sequence_window\n- net/netlink/af_netlink.c: netlink_set_err\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "b558ff799977a4eda8b3823d1cf6c1c33becb671"
}
