)]}'
{
  "log": [
    {
      "commit": "a25de534f89c515c82d3553c42d3bb02c2d1a7da",
      "tree": "d09a5ed1f8a9fa5254c9ebf5cb49bf95e636a3e8",
      "parents": [
        "be702d5e38e2e7e554604b223794f87c12fa6811"
      ],
      "author": {
        "name": "Anton Arapov",
        "email": "aarapov@redhat.com",
        "time": "Thu Oct 18 22:00:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 18 22:00:17 2007 -0700"
      },
      "message": "[INET]: Justification for local port range robustness.\n\n  There is a justifying patch for Stephen\u0027s patches. Stephen\u0027s patches\ndisallows using a port range of one single port and brakes the meaning\nof the \u0027remaining\u0027 variable, in some places it has different meaning.\nMy patch gives back the sense of \u0027remaining\u0027 variable. It should mean\nhow many ports are remaining and nothing else. Also my patch allows\nusing a single port.\n\n  I sure we must be able to use mentioned port range, this does not\nrestricted by documentation and does not brake current behavior.\n\nusefull links:\nPatches posted by Stephen Hemminger\n  http://marc.info/?l\u003dlinux-netdev\u0026m\u003d119206106218187\u0026w\u003d2\n  http://marc.info/?l\u003dlinux-netdev\u0026m\u003d119206109918235\u0026w\u003d2\n\nAndrew Morton\u0027s comment\n  http://marc.info/?l\u003dlinux-kernel\u0026m\u003d119248225007737\u0026w\u003d2\n\n1. Allows using a port range of one single port.\n2. Gives back sense of \u0027remaining\u0027 variable.\n\nSigned-off-by: Anton Arapov \u003caarapov@redhat.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a57793651ff1a09ef18bade998632435ca2dc13f",
      "tree": "fffc839d7b001f196421f09f0a06491588835fe1",
      "parents": [
        "9cf52b2921fbe62566b6b2ee79f71203749c9e5e",
        "52f095ee88d8851866bc7694ab991ca5abf21d5e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:40:30 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:40:30 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (51 commits)\n  [IPV6]: Fix again the fl6_sock_lookup() fixed locking\n  [NETFILTER]: nf_conntrack_tcp: fix connection reopening fix\n  [IPV6]: Fix race in ipv6_flowlabel_opt() when inserting two labels\n  [IPV6]: Lost locking in fl6_sock_lookup\n  [IPV6]: Lost locking when inserting a flowlabel in ipv6_fl_list\n  [NETFILTER]: xt_sctp: fix mistake to pass a pointer where array is required\n  [NET]: Fix OOPS due to missing check in dev_parse_header().\n  [TCP]: Remove lost_retrans zero seqno special cases\n  [NET]: fix carrier-on bug?\n  [NET]: Fix uninitialised variable in ip_frag_reasm()\n  [IPSEC]: Rename mode to outer_mode and add inner_mode\n  [IPSEC]: Disallow combinations of RO and AH/ESP/IPCOMP\n  [IPSEC]: Use the top IPv4 route\u0027s peer instead of the bottom\n  [IPSEC]: Store afinfo pointer in xfrm_mode\n  [IPSEC]: Add missing BEET checks\n  [IPSEC]: Move type and mode map into xfrm_state.c\n  [IPSEC]: Fix length check in xfrm_parse_spi\n  [IPSEC]: Move ip_summed zapping out of xfrm6_rcv_spi\n  [IPSEC]: Get nexthdr from caller in xfrm6_rcv_spi\n  [IPSEC]: Move tunnel parsing for IPv4 out of xfrm4_input\n  ...\n"
    },
    {
      "commit": "064b5bba0cc495201729285c6a6ce205df0a386a",
      "tree": "f26962ee58fa5628150d74c06fc40a906e9684bb",
      "parents": [
        "35834ca1e4bda56d252aa2024a283d631f0e5ac6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:32 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:23 2007 -0700"
      },
      "message": "sysctl: remove broken netfilter binary sysctls\n\nNo one has bothered to set strategy routine for the the netfilter sysctls that\nreturn jiffies to be sysctl_jiffies.\n\nSo it appears the sys_sysctl path is unused and untested, so this patch\nremoves the binary sysctl numbers.\n\nWhich fixes the netfilter oops in 2.6.23-rc2-mm2 for me.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "428b367bff28bd9d41543eb0324197d09c7d6beb",
      "tree": "b47a87282f84bd3a11d5555fc2d59cf15e56946f",
      "parents": [
        "d12af679bcf8995a237560bdf7a4d734f8df5dbb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:26 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "sysctl: ipv6 route flushing (kill binary path)\n\nWe don\u0027t preoperly support the sysctl binary path for flushing the ipv6\nroutes.  So remove support for a binary path.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d12af679bcf8995a237560bdf7a4d734f8df5dbb",
      "tree": "9cb821d20fa8be39ff4954d7e8f5966ef9d3b7dd",
      "parents": [
        "f5ead5cefc1129d5f001728004ed0f38d5875c02"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Oct 18 03:05:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Oct 18 14:37:22 2007 -0700"
      },
      "message": "sysctl: fix neighbour table sysctls.\n\n- In ipv6 ndisc_ifinfo_syctl_change so it doesn\u0027t depend on binary\n  sysctl names for a function that works with proc.\n\n- In neighbour.c reorder the table to put the possibly unused entries\n  at the end so we can remove them by terminating the table early.\n\n- In neighbour.c kill the entries with questionable binary sysctl\n  handling behavior.\n\n- In neighbour.c if we don\u0027t have a strategy routine remove the\n  binary path.  So we don\u0027t the default sysctl strategy routine\n  on data that is not ready for it.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@sw.ru\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52f095ee88d8851866bc7694ab991ca5abf21d5e",
      "tree": "803f93f81cbdffc107377829531ab2afd88e9e62",
      "parents": [
        "bc34b841556aad437baf4199744e55500bfa2088"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 05:38:48 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 18 05:38:48 2007 -0700"
      },
      "message": "[IPV6]: Fix again the fl6_sock_lookup() fixed locking\n\nYOSHIFUJI fairly pointed out, that the users increment should\nbe done under the ip6_sk_fl_lock not to give IPV6_FL_A_PUT a\nchance to put this count to zero and release the flowlabel.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78c2e50253569e62caa4a61fc1cc5a0158edec43",
      "tree": "07567a10517b1cf1ce297c1ecf4ce7c617856331",
      "parents": [
        "bd0bf57700cb0eaa92f3d2ee040a69743cdd99d0"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 05:18:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 18 05:18:56 2007 -0700"
      },
      "message": "[IPV6]: Fix race in ipv6_flowlabel_opt() when inserting two labels\n\nIn the IPV6_FL_A_GET case the hash is checked for flowlabels\nwith the given label. If it is not found, the lock, protecting \nthe hash, is dropped to be re-get for writing. After this a\nnewly allocated entry is inserted, but no checks are performed\nto catch a classical SMP race, when the conflicting label may \nbe inserted on another cpu.\n\nUse the (currently unused) return value from fl_intern() to\nreturn the conflicting entry (if found) and re-check, whether\nwe can reuse it (IPV6_FL_F_EXCL) or return -EEXISTS.\n\nAlso add the comment, about why not re-lookup the current\nsock for conflicting flowlabel entry.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd0bf57700cb0eaa92f3d2ee040a69743cdd99d0",
      "tree": "0233529f1a744599e46799050060ab6f65fecffd",
      "parents": [
        "04028045a12ba941c579d0f3238489333ac18ea4"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 05:15:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 18 05:15:57 2007 -0700"
      },
      "message": "[IPV6]: Lost locking in fl6_sock_lookup\n\nThis routine scans the ipv6_fl_list whose update is\nprotected with the socket lock and the ip6_sk_fl_lock.\n\nSince the socket lock is not taken in the lookup, use\nthe other one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04028045a12ba941c579d0f3238489333ac18ea4",
      "tree": "e12d202ef1e17047742ddb9a70731ebc651f6c11",
      "parents": [
        "009e8c965fd72a78636b9a96c7015109c5c70176"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Thu Oct 18 05:14:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 18 05:14:58 2007 -0700"
      },
      "message": "[IPV6]: Lost locking when inserting a flowlabel in ipv6_fl_list\n\nThe new flowlabels should be inserted into the sock list\nunder the ip6_sk_fl_lock. This was lost in one place.\n\nThis list is naturally protected with the socket lock, but\nthe fl6_sock_lookup() is called without it, so another\nprotection is required.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13996378e6585fb25e582afe7489bf52dde78deb",
      "tree": "4a1eb75c81a5a9d23c68f9818259f3b357dc8265",
      "parents": [
        "ca68145f16359f71cd62b2671aa3e8c58f45ef19"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:35:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:35:51 2007 -0700"
      },
      "message": "[IPSEC]: Rename mode to outer_mode and add inner_mode\n\nThis patch adds a new field to xfrm states called inner_mode.  The existing\nmode object is renamed to outer_mode.\n\nThis is the first part of an attempt to fix inter-family transforms.  As it\nis we always use the outer family when determining which mode to use.  As a\nresult we may end up shoving IPv4 packets into netfilter6 and vice versa.\n\nWhat we really want is to use the inner family for the first part of outbound\nprocessing and the outer family for the second part.  For inbound processing\nwe\u0027d use the opposite pairing.\n\nI\u0027ve also added a check to prevent silly combinations such as transport mode\nwith inter-family transforms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca68145f16359f71cd62b2671aa3e8c58f45ef19",
      "tree": "dcd8806792a443cddc1c25f015d136a179c6882b",
      "parents": [
        "ed3e37ddb0b422120d3d2d5da718c44c40af30ba"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:35:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:35:15 2007 -0700"
      },
      "message": "[IPSEC]: Disallow combinations of RO and AH/ESP/IPCOMP\n\nCombining RO and AH/ESP/IPCOMP does not make sense.  So this patch adds a\ncheck in the state initialisation function to prevent this.\n\nThis allows us to safely remove the mode input function of RO since it\ncan never be called anymore.  Indeed, if somehow it does get called we\u0027ll\nknow about it through an OOPS instead of it slipping past silently.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17c2a42a24e1e8dd6aa7cea4f84e034ab1bfff31",
      "tree": "3ee494a16a43f575f8c4900deaab894b73b2953a",
      "parents": [
        "1bfcb10f670f5ff5e1d9f53e59680573524cb142"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:33:12 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:33:12 2007 -0700"
      },
      "message": "[IPSEC]: Store afinfo pointer in xfrm_mode\n\nIt is convenient to have a pointer from xfrm_state to address-specific\nfunctions such as the output function for a family.  Currently the\naddress-specific policy code calls out to the xfrm state code to get\nthose pointers when we could get it in an easier way via the state\nitself.\n\nThis patch adds an xfrm_state_afinfo to xfrm_mode (since they\u0027re\naddress-specific) and changes the policy code to use it.  I\u0027ve also\nadded an owner field to do reference counting on the module providing\nthe afinfo even though it isn\u0027t strictly necessary today since IPv6\ncan\u0027t be unloaded yet.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bfcb10f670f5ff5e1d9f53e59680573524cb142",
      "tree": "003b271a2c1e089ae6506d869b7a8c8f04dbde0a",
      "parents": [
        "aa5d62cc8777f733f8b59b5586c0a1989813189e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:31:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:31:50 2007 -0700"
      },
      "message": "[IPSEC]: Add missing BEET checks\n\nCurrently BEET mode does not reinject the packet back into the stack\nlike tunnel mode does.  Since BEET should behave just like tunnel mode\nthis is incorrect.\n\nThis patch fixes this by introducing a flags field to xfrm_mode that\ntells the IPsec code whether it should terminate and reinject the packet\nback into the stack.\n\nIt then sets the flag for BEET and tunnel mode.\n\nI\u0027ve also added a number of missing BEET checks elsewhere where we check\nwhether a given mode is a tunnel or not.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7aa68cb90638ccc36559a936814e4c089892b3d9",
      "tree": "f31876becacf83572c9f9f417194126d65e3d1cc",
      "parents": [
        "33b5ecb8f64706d1ed472dcb44162ab3a7345724"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:30:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:30:07 2007 -0700"
      },
      "message": "[IPSEC]: Move ip_summed zapping out of xfrm6_rcv_spi\n\nNot every transform needs to zap ip_summed.  For example, a pure tunnel\nmode encapsulation does not affect the hardware checksum at all.  In fact,\nevery algorithm (that needs this) other than AH6 already does its own\nip_summed zapping.\n\nThis patch moves the zapping into AH6 which is in line with what IPv4 does.\n\nPossible future optimisation: Checksum the data as we copy them in IPComp.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33b5ecb8f64706d1ed472dcb44162ab3a7345724",
      "tree": "065d9cc0592bc08db34a562ff8753279cf52509c",
      "parents": [
        "c4541b41c0e4b75b11125fed16db642fc03cb31c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:29:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:29:25 2007 -0700"
      },
      "message": "[IPSEC]: Get nexthdr from caller in xfrm6_rcv_spi\n\nCurrently xfrm6_rcv_spi gets the nexthdr value itself from the packet.\nThis means that we need to fix up the value in case we have a 4-on-6\ntunnel.  Moving this logic into the caller simplifies things and allows\nus to merge the code with IPv4.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04663d0b8b3c8ce3804106279420cfe5bdfcce3c",
      "tree": "c799050b9371be8ee4229c536b73fcca93f1328c",
      "parents": [
        "aaf70ec7fde2321281b2a49c7c9f881c90d0d208"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:28:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:28:06 2007 -0700"
      },
      "message": "[IPSEC]: Fix pure tunnel modes involving IPv6\n\nI noticed that my recent patch broke 6-on-4 pure IPsec tunnels (the ones\nthat are only used for incompressible IPsec packets).  Subsequent reviews\nshow that I broke 6-on-6 pure tunnels more than three years ago and nobody\never noticed. I suppose every must be testing 6-on-6 IPComp with large\npings which are very compressible :)\n\nThis patch fixes both cases.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aaf70ec7fde2321281b2a49c7c9f881c90d0d208",
      "tree": "8d60e06a4b8eb498f35c0c3a3446fc00cdf8f61b",
      "parents": [
        "16910b9829797cda4032fbc84e5292ac7b4474f7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 21:25:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:25:32 2007 -0700"
      },
      "message": "[IPV6]: Cleanup snmp6_alloc_dev()\n\nThis functions is never called with NULL or not setup argument,\nso the checks inside are redundant.\n\nAlso, the return value is always -ENOMEM, so no need in \nadditional variable for this.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16910b9829797cda4032fbc84e5292ac7b4474f7",
      "tree": "ffd780277883169546b1b147614aeba45e3a2e12",
      "parents": [
        "47e958eac280c263397582d5581e868c3227a1bd"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 21:23:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:23:43 2007 -0700"
      },
      "message": "[IPV6]: Fix return type for snmp6_free_dev()\n\nThis call is essentially void.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c95477090a2ace6d241c184adc3fbfcab9c61ceb",
      "tree": "78c43a301f18f4ad4486a48227a9ca45239208f3",
      "parents": [
        "48d60056387c37a17a46feda48613587a90535e5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:48:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:48:26 2007 -0700"
      },
      "message": "[INET]: Consolidate frag queues freeing\n\nSince we now allocate the queues in inet_fragment.c, we\ncan safely free it in the same place. The -\u003edestructor\ncallback thus becomes optional for inet_frags.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "48d60056387c37a17a46feda48613587a90535e5",
      "tree": "8e7e481c6cf8b28c124c1e5902092d2bd53dbf7b",
      "parents": [
        "abd6523d15f40bfee14652619a31a7f65f77f581"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:47:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:47:56 2007 -0700"
      },
      "message": "[INET]: Remove no longer needed -\u003eequal callback\n\nSince this callback is used to check for conflicts in\nhashtable when inserting a newly created frag queue, we can\ndo the same by checking for matching the queue with the \nargument, used to create one.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abd6523d15f40bfee14652619a31a7f65f77f581",
      "tree": "ad5692b3c115c4859b99a5e87db8d4b2d991e5a8",
      "parents": [
        "c6fda282294da882f8d8cc4c513940277dd380f5"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:47:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:47:21 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_find() in fragment management\n\nHere we need another callback -\u003ematch to check whether the\nentry found in hash matches the key passed. The key used \nis the same as the creation argument for inet_frag_create.\n\nYet again, this -\u003ematch is the same for netfilter and ipv6.\nRunning a frew steps forward - this callback will later\nreplace the -\u003eequal one.\n\nSince the inet_frag_find() uses the already consolidated\ninet_frag_create() remove the xxx_frag_create from protocol\ncodes.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c6fda282294da882f8d8cc4c513940277dd380f5",
      "tree": "29ef5fbc59320851c8db28e7f2c0a8c3fd85c231",
      "parents": [
        "e521db9d790aaa60ae8920e21cb7faedc280fc36"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:46:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:46:47 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_frag_create()\n\nThis one uses the xxx_frag_intern() and xxx_frag_alloc()\nroutines, which are already consolidated, so remove them\nfrom protocol code (as promised).\n\nThe -\u003econstructor callback is used to init the rest of\nthe frag queue and it is the same for netfilter and ipv6.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e521db9d790aaa60ae8920e21cb7faedc280fc36",
      "tree": "c58a138e9729eb61edaf697b9e259001fb92feb2",
      "parents": [
        "2588fe1d782f1686847493ad643157d5d10bf602"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:45:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:45:23 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_frag_alloc()\n\nJust perform the kzalloc() allocation and setup common\nfields in the inet_frag_queue(). Then return the result\nto the caller to initialize the rest.\n\nThe inet_frag_alloc() may return NULL, so check the \nreturn value before doing the container_of(). This looks \nugly, but the xxx_frag_alloc() will be removed soon.\n\nThe xxx_expire() timer callbacks are patches, \nbecause the argument is now the inet_frag_queue, not \nthe protocol specific queue.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2588fe1d782f1686847493ad643157d5d10bf602",
      "tree": "7513851819330d4ff6aadc9f76b1b45bc03f8f82",
      "parents": [
        "fd9e63544cac30a34c951f0ec958038f0529e244"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:44:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:44:34 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_frag_intern\n\nThis routine checks for the existence of a given entry\nin the hash table and inserts the new one if needed.\n\nThe -\u003eequal callback is used to compare two frag_queue-s\ntogether, but this one is temporary and will be removed\nlater. The netfilter code and the ipv6 one use the same\nroutine to compare frags.\n\nThe inet_frag_intern() always returns non-NULL pointer,\nso convert the inet_frag_queue into protocol specific\none (with the container_of) without any checks.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd9e63544cac30a34c951f0ec958038f0529e244",
      "tree": "ab50911ec813780ee1e472089f4b02a3be6a69e6",
      "parents": [
        "be07664599fa94d0b85c3e0f525aee2432d15fbf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:43:37 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:43:37 2007 -0700"
      },
      "message": "[INET]: Omit double hash calculations in xxx_frag_intern\n\nSince the hash value is already calculated in xxx_find, we can \nsimply use it later. This is already done in netfilter code, \nso make the same in ipv4 and ipv6.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc8a82ad285dcd2831feb2fd8f7b41ce1f82e243",
      "tree": "fd5fa85ec9c799d179a747563031a2869664389b",
      "parents": [
        "0c2bef49764d0a5a404ae0bd65217f7dadbd1821"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Wed Oct 17 19:30:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 19:30:40 2007 -0700"
      },
      "message": "[IPV6]: Fix memory leak in cleanup_ipv6_mibs()\n\nThe icmpv6msg mib statistics is not freed.\n\nThis is almost not critical for current kernel, since ipv6\nmodule is unloadable, but this can happen on load error and \nwill happen every time we stop the network namespace (when \nwe have one, of course).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4acad72ded8e3f0211bd2a762e23c28229c61a51",
      "tree": "a5b75db4e9c9702a5299e56135beb4afc6b71d6e",
      "parents": [
        "f78a1b389288d8327db5a0f4526935b0da1d0967"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 13:02:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 15 13:02:51 2007 -0700"
      },
      "message": "[IPV6]: Consolidate the ip6_pol_route_(input|output) pair\n\nThe difference in both functions is in the \"id\" passed to\nthe rt6_select, so just pass it as an extra argument from\ntwo outer helpers.\n\nThis is minus 60 lines of code and 360 bytes of .text\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1673ca52c04f1b311abe03fd67cd4d650d19435",
      "tree": "1e84a0c5021dfb300ee667a123c229bcb2bcaab3",
      "parents": [
        "c749b01351d249a924d1dd061dd1431bd3ad0579"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Mon Oct 15 12:53:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 15 12:53:13 2007 -0700"
      },
      "message": "[INET]: kmalloc+memset -\u003e kzalloc in frag_alloc_queue\n\nkmalloc + memset -\u003e kzalloc in frag_alloc_queue\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5bbef20e017efcb10700398cc048c49b98628e0",
      "tree": "5139dfbfb416eaeb43cc75645e486fe6a103e39b",
      "parents": [
        "a224be766bf593f7bcd534ca0c48dbd3eaf7bfce"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 12:50:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 15 12:50:28 2007 -0700"
      },
      "message": "[IPV6]: Replace sk_buff ** with sk_buff * in input handlers\n\nWith all the users of the double pointers removed from the IPv6 input path,\nthis patch converts all occurances of sk_buff ** to sk_buff * in IPv6 input\nhandlers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "762cc40801ad757a34527d5e548816cf3b6fc606",
      "tree": "84bb263c67167db95120e44591f9ab8d11293f3f",
      "parents": [
        "4b6cb5d8e3f5707d7a2e55cf7b05f1ea8bfc7a6d"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:41:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:43 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_put\n\nThese ones use the generic data types too, so move\nthem in one place.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b6cb5d8e3f5707d7a2e55cf7b05f1ea8bfc7a6d",
      "tree": "9db94b2ba84ed823305cd45c52f652760ea7809a",
      "parents": [
        "8e7999c44ee95e1e90ac91c83557a04e2948f160"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:41:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:43 2007 -0700"
      },
      "message": "[INET]: Small cleanup for xxx_put after evictor consolidation\n\nAfter the evictor code is consolidated there is no need in\npassing the extra pointer to the xxx_put() functions.\n\nThe only place when it made sense was the evictor code itself.\n\nMaybe this change must got with the previous (or with the\nnext) patch, but I try to make them shorter as much as\npossible to simplify the review (but they are still large\nanyway), so this change goes in a separate patch.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8e7999c44ee95e1e90ac91c83557a04e2948f160",
      "tree": "4295add7b91114fd43eef37d70b664858776dd0d",
      "parents": [
        "1e4b82873af0f21002e37a81ef063d2e5410deb3"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:40:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:42 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_evictor\n\nThe evictors collect some statistics for ipv4 and ipv6,\nso make it return the number of evicted queues and account\nthem all at once in the caller.\n\nThe XXX_ADD_STATS_BH() macros are just for this case,\nbut maybe there are places in code, that can make use of\nthem as well.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e4b82873af0f21002e37a81ef063d2e5410deb3",
      "tree": "9c4054c8393f03bae9565f98a109cc5721cf490f",
      "parents": [
        "321a3a99e4717b960e21c62fc6a140d21453df7f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:39:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:42 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_frag_destroy\n\nTo make in possible we need to know the exact frag queue\nsize for inet_frags-\u003emem management and two callbacks:\n\n * to destoy the skb (optional, used in conntracks only)\n * to free the queue itself (mandatory, but later I plan to\n   move the allocation and the destruction of frag_queues\n   into the common place, so this callback will most likely\n   be optional too).\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "321a3a99e4717b960e21c62fc6a140d21453df7f",
      "tree": "118ae0f39bd2344b731670d601abf0bcbbf8faa7",
      "parents": [
        "277e650ddfc6944ef5f5466fd898b8da7f06cd82"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:38:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:41 2007 -0700"
      },
      "message": "[INET]: Consolidate xxx_the secret_rebuild\n\nThis code works with the generic data types as well, so\nmove this into inet_fragment.c\n\nThis move makes it possible to hide the secret_timer\nmanagement and the secret_rebuild routine completely in\nthe inet_fragment.c\n\nIntroduce the -\u003ehashfn() callback in inet_frags() to get\nthe hashfun for a given inet_frag_queue() object.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "277e650ddfc6944ef5f5466fd898b8da7f06cd82",
      "tree": "39afdd22384c402e08287a3911455a2bbce721b1",
      "parents": [
        "04128f233f2b344f3438cde09723e9946463a573"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:37:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:41 2007 -0700"
      },
      "message": "[INET]: Consolidate the xxx_frag_kill\n\nSince now all the xxx_frag_kill functions now work\nwith the generic inet_frag_queue data type, this can\nbe moved into a common place.\n\nThe xxx_unlink() code is moved as well.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04128f233f2b344f3438cde09723e9946463a573",
      "tree": "04f4518ef51c74de4d318d7ea908b3215a6aa9c8",
      "parents": [
        "7eb95156d9dce2f59794264db336ce007d71638b"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:33:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:40 2007 -0700"
      },
      "message": "[INET]: Collect common frag sysctl variables together\n\nSome sysctl variables are used to tune the frag queues\nmanagement and it will be useful to work with them in\na common way in the future, so move them into one\nstructure, moreover they are the same for all the frag\nmanagement codes.\n\nI don\u0027t place them in the existing inet_frags object,\nintroduced in the previous patch for two reasons:\n\n 1. to keep them in the __read_mostly section;\n 2. not to export the whole inet_frags objects outside.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7eb95156d9dce2f59794264db336ce007d71638b",
      "tree": "c283a095f1a9d530edb1a7058454ba30b4f7d028",
      "parents": [
        "5ab11c98d3a950faf6922b6166e5f8fc874590e7"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:31:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:39 2007 -0700"
      },
      "message": "[INET]: Collect frag queues management objects together\n\nThere are some objects that are common in all the places\nwhich are used to keep track of frag queues, they are:\n\n * hash table\n * LRU list\n * rw lock\n * rnd number for hash function\n * the number of queues\n * the amount of memory occupied by queues\n * secret timer\n\nMove all this stuff into one structure (struct inet_frags)\nto make it possible use them uniformly in the future. Like\nwith the previous patch this mostly consists of hunks like\n\n-    write_lock(\u0026ipfrag_lock);\n+    write_lock(\u0026ip4_frags.lock);\n\nTo address the issue with exporting the number of queues and\nthe amount of memory occupied by queues outside the .c file\nthey are declared in, I introduce a couple of helpers.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5ab11c98d3a950faf6922b6166e5f8fc874590e7",
      "tree": "ef9ab897361f106309df37b6d4f2e95fdecdb240",
      "parents": [
        "114342f2d38439cb1a54f1f724fa38729b093c48"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Mon Oct 15 02:24:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:38 2007 -0700"
      },
      "message": "[INET]: Move common fields from frag_queues in one place.\n\nIntroduce the struct inet_frag_queue in include/net/inet_frag.h\nfile and place there all the common fields from three structs:\n\n * struct ipq in ipv4/ip_fragment.c\n * struct nf_ct_frag6_queue in nf_conntrack_reasm.c\n * struct frag_queue in ipv6/reassembly.c\n\nAfter this, replace these fields on appropriate structures with\nthis structure instance and fix the users to use correct names\ni.e. hunks like\n\n-    atomic_dec(\u0026fq-\u003erefcnt);\n+    atomic_dec(\u0026fq-\u003eq.refcnt);\n\n(these occupy most of the patch)\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad643a793bfb933e1b9e37ad4a5edf389ae160ea",
      "tree": "24abe5d89069bcffaf4010b7ba39694ea8a80b9b",
      "parents": [
        "9c2842bd94dd72d77bddb498bdd76342a0089168"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Oct 15 01:51:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:36 2007 -0700"
      },
      "message": "[IPV6]: Uninline netfilter okfns\n\nUninline netfilter okfns for those cases where gcc can generate tail-calls.\n\nBefore:\n   text    data     bss     dec     hex filename\n8994153 1016524  524652 10535329         a0c1a1 vmlinux\n\nAfter:\n   text    data     bss     dec     hex filename\n8992761 1016524  524652 10533937         a0bc31 vmlinux\n-------------------------------------------------------\n  -1392\n\nAll cases have been verified to generate tail-calls with and without netfilter.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1dff92e09eb3adfcf3d3dffd0507b850f911f280",
      "tree": "87cce6ce11f242e5983f1ba41e438f1fd4df33d1",
      "parents": [
        "e6a5fdf56e3a5fc179cd8c8c19081a9a11882b0c"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Mon Oct 15 01:37:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:32 2007 -0700"
      },
      "message": "[IPV6] __inet6_csk_dst_store(): fix check-after-use\n\nThe Coverity checker spotted that we have already oops\u0027ed if \"dst\" was\nNULL.\n\nSince \"dst\" being NULL doesn\u0027t seem to be possible at this point this\npatch removes the NULL check.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nAcked-by: Noriaki TAKAMIYA \u003ctakamiya@po.ntts.co.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "65c88466602c61b639f75623e5ba72c1534df9bd",
      "tree": "423b5dc6391dfa05acc0d8ea214306e966ef23be",
      "parents": [
        "f61944efdf0d2569721ed6d7b0445e9f1214b295"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 01:29:10 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:31 2007 -0700"
      },
      "message": "[IPV6]: Avoid skb_copy/pskb_copy/skb_realloc_headroom on input\n\nThis patch replaces unnecessary uses of skb_copy by pskb_expand_head\non the IPv6 input path.\n\nThis allows us to remove the double pointers later.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f61944efdf0d2569721ed6d7b0445e9f1214b295",
      "tree": "f29293ab16b6fec87fc08ca5b42b4839e125b543",
      "parents": [
        "3db05fea51cdb162cfa8f69e9cfb9e228919d2a9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 01:28:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:30 2007 -0700"
      },
      "message": "[IPV6]: Make ipv6_frag_rcv return the same packet\n\nThis patch implements the same change taht was done to ip_defrag.  It\nmakes ipv6_frag_rcv return the last packet received of a train of fragments\nrather than the head of that sequence.\n\nThis allows us to get rid of the sk_buff ** argument later.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3db05fea51cdb162cfa8f69e9cfb9e228919d2a9",
      "tree": "0d0e4c18cdf2dcb7321035f6614628a2ddfb502d",
      "parents": [
        "2ca7b0ac022aa0158599178fe1056b1ba9ec8b97"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 15 00:53:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:29 2007 -0700"
      },
      "message": "[NETFILTER]: Replace sk_buff ** with sk_buff *\n\nWith all the users of the double pointers removed, this patch mops up by\nfinally replacing all occurances of sk_buff ** in the netfilter API by\nsk_buff *.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ca7b0ac022aa0158599178fe1056b1ba9ec8b97",
      "tree": "6eece25447f0ec3b5d5f5533e49e10fde4d59f35",
      "parents": [
        "af1e1cf073e3d038b7aac417a20585ecdcab7de6"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:39:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:28 2007 -0700"
      },
      "message": "[NETFILTER]: Avoid skb_copy/pskb_copy/skb_realloc_headroom\n\nThis patch replaces unnecessary uses of skb_copy, pskb_copy and\nskb_realloc_headroom by functions such as skb_make_writable and\npskb_expand_head.\n\nThis allows us to remove the double pointers later.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37d41879224108d6c24578ba6a3eeafce106ce84",
      "tree": "96eb40eb2be71feef1c675800662084be14b2e96",
      "parents": [
        "7b995651e373d6424f81db23f2ec503306dfd7f0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Oct 14 00:39:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 15 12:26:27 2007 -0700"
      },
      "message": "[NETFILTER]: Do not copy skb in skb_make_writable\n\nNow that all callers of netfilter can guarantee that the skb is not shared,\nwe no longer have to copy the skb in skb_make_writable.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4953f0fcc06a125f87874743d968c0e185c8b296",
      "tree": "f35705517e8f907e5c777c55d5a41c80d3f0e959",
      "parents": [
        "73aaf9355b71d295fd72dc0b93fcdd275c56648f"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Thu Oct 11 14:39:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 11 14:39:29 2007 -0700"
      },
      "message": "[IPv6]: Update setsockopt(IPV6_MULTICAST_IF) to support RFC 3493, try2\n\n From RFC 3493, Section 5.2:\n\n       IPV6_MULTICAST_IF\n\n          Set the interface to use for outgoing multicast packets.  The\n          argument is the index of the interface to use.  If the\n          interface index is specified as zero, the system selects the\n          interface (for example, by looking up the address in a routing\n          table and using the resulting interface).\n\nThis patch adds support for (index \u003d\u003d 0) to reset the value to it\u0027s \noriginal state, allowing the system to choose the best interface.  IPv4 \nalready behaves this way.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31910575a9de61e78065e93846e8e7a4894a18bf",
      "tree": "5dcc41957a62b8ec06575ebfe47c75828caf8bfb",
      "parents": [
        "092e9d93b3728d484a4e73df9852dc4002cf9923"
      ],
      "author": {
        "name": "Pierre Ynard",
        "email": "linkfanel@yahoo.fr",
        "time": "Wed Oct 10 21:22:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 21:22:05 2007 -0700"
      },
      "message": "[IPv6]: Export userland ND options through netlink (RDNSS support)\n\nAs discussed before, this patch provides userland with a way to access\nrelevant options in Router Advertisements, after they are processed\nand validated by the kernel. Extra options are processed in a generic\nway; this patch only exports RDNSS options described in RFC5006, but\nsupport to control which options are exported could be easily added.\n\nA new rtnetlink message type is defined, to transport Neighbor\nDiscovery options, along with optional context information. At the\nmoment only the address of the router sending an RDNSS option is\nincluded, but additional attributes may be later defined, if needed by\nnew use cases.\n\nSigned-off-by: Pierre Ynard \u003clinkfanel@yahoo.fr\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": "227b60f5102cda4e4ab792b526a59c8cb20cd9f8",
      "tree": "2c9e372601ba794894833b0618bc531a9f5d57c4",
      "parents": [
        "06393009000779b00a558fd2f280882cc7dc2008"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Oct 10 17:30:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 10 17:30:46 2007 -0700"
      },
      "message": "[INET]: local port range robustness\n\nExpansion of original idea from Denis V. Lunev \u003cden@openvz.org\u003e\n\nAdd robustness and locking to the local_port_range sysctl.\n1. Enforce that low \u003c high when setting.\n2. Use seqlock to ensure atomic update.\n\nThe locking might seem like overkill, but there are\ncases where sysadmin might want to change value in the\nmiddle of a DoS attack.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ceb1eec8291175686d0208e66595ff83bc0624e2",
      "tree": "83a7fdc7d292f1dbb80f32563d9573810bfe6e42",
      "parents": [
        "87bdc48d304191313203df9b98d783e1ab5a55ab"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:45:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:56 2007 -0700"
      },
      "message": "[IPSEC]: Move IP length/checksum setting out of transforms\n\nThis patch moves the setting of the IP length and checksum fields out of\nthe transforms and into the xfrmX_output functions.  This would help future\nefforts in merging the transforms themselves.\n\nIt also adds an optimisation to ipcomp due to the fact that the transport\noffset is guaranteed to be zero.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87bdc48d304191313203df9b98d783e1ab5a55ab",
      "tree": "32f7bfb3a5fa7fe373f11e0ddadd95b6bcd9bd4f",
      "parents": [
        "37fedd3aab6517daec628764c5d66dd8761fbe5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:45:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:55 2007 -0700"
      },
      "message": "[IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr\n\nThis patch removes the duplicate ipv6_{auth,esp,comp}_hdr structures since\nthey\u0027re identical to the IPv4 versions.  Duplicating them would only create\nproblems for ourselves later when we need to add things like extended\nsequence numbers.\n\nI\u0027ve also added transport header type conversion headers for these types\nwhich are now used by the transforms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37fedd3aab6517daec628764c5d66dd8761fbe5f",
      "tree": "12227aec3944168bff04173dccd580240f4496aa",
      "parents": [
        "7b277b1a5fb147cb828e5d8b9780cee60f31a9bf"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:44:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:54 2007 -0700"
      },
      "message": "[IPSEC]: Use IPv6 calling convention as the convention for x-\u003emode-\u003eoutput\n\nThe IPv6 calling convention for x-\u003emode-\u003eoutput is more general and could\nhelp an eventual protocol-generic x-\u003etype-\u003eoutput implementation.  This\npatch adopts it for IPv4 as well and modifies the IPv4 type output functions\naccordingly.\n\nIt also rewrites the IPv6 mac/transport header calculation to be based off\nthe network header where practical.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b277b1a5fb147cb828e5d8b9780cee60f31a9bf",
      "tree": "21af4818d7ba9d646a281517f476d81d4245cc30",
      "parents": [
        "bee0b40c0621396326d1c17b81833f59118a2d80"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:44:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:54 2007 -0700"
      },
      "message": "[IPSEC]: Set skb-\u003edata to payload in x-\u003emode-\u003eoutput\n\nThis patch changes the calling convention so that on entry from\nx-\u003emode-\u003eoutput and before entry into x-\u003etype-\u003eoutput skb-\u003edata\nwill point to the payload instead of the IP header.\n\nThis is essentially a redistribution of skb_push/skb_pull calls\nwith the aim of minimising them on the common path of tunnel +\nESP.\n\nIt\u0027ll also let us use the same calling convention between IPv4\nand IPv6 with the next patch.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bee0b40c0621396326d1c17b81833f59118a2d80",
      "tree": "94a79cef5ba189cda8e6cad2acd720da34c0463c",
      "parents": [
        "8bd170750400bfa5e14c3dd2e2d0f305e1ab0e57"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:42:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:53 2007 -0700"
      },
      "message": "[IPSEC] beet: Fix extension header support on output\n\nThe beet output function completely kills any extension headers by replacing\nthem with the IPv6 header.  This is because it essentially ignores the\nresult of ip6_find_1stfragopt by simply acting as if there aren\u0027t any\nextension headers.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f24e3d658cf382f11a7aa7887fa99147bdc6fe0b",
      "tree": "605da52f1261eaa847adc8d2d048085692355ace",
      "parents": [
        "9b7726523523472ead660b1d45df29dcaf6cc5c0"
      ],
      "author": {
        "name": "Mitsuru Chinen",
        "email": "mitch@linux.vnet.ibm.com",
        "time": "Wed Oct 10 02:53:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:52 2007 -0700"
      },
      "message": "[IPV6]: Defer IPv6 device initialization until a valid qdisc is specified\n\nTo judge the timing for DAD, netif_carrier_ok() is used. However,\nthere is a possibility that dev-\u003eqdisc stays noop_qdisc even if\nnetif_carrier_ok() returns true. In that case, DAD NS is not sent out.\nWe need to defer the IPv6 device initialization until a valid qdisc\nis specified.\n\nSigned-off-by: Mitsuru Chinen \u003cmitch@linux.vnet.ibm.com\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\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": "b7c6538cd84f8072fad43bfce530f5bf695edbba",
      "tree": "e0ba79ffe7b79355985a45de9961b17a0462764f",
      "parents": [
        "050f009e16f908932070313c1745d09dc69fd62b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 09 13:33:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:03 2007 -0700"
      },
      "message": "[IPSEC]: Move state lock into x-\u003etype-\u003eoutput\n\nThis patch releases the lock on the state before calling x-\u003etype-\u003eoutput.\nIt also adds the lock to the spots where they\u0027re currently needed.\n\nMost of those places (all except mip6) are expected to disappear with\nasync crypto.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "007f0211a8872f32381f5d44becf8eb2f27f3c30",
      "tree": "9f6879726b6f016379368ebbde6ce3ec13faaa39",
      "parents": [
        "1ecafede835321ebdc396531245adc37d22366f7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 09 13:25:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:00 2007 -0700"
      },
      "message": "[IPSEC]: Store IPv6 nh pointer in mac_header on output\n\nCurrent the x-\u003emode-\u003eoutput functions store the IPv6 nh pointer in the\nskb network header.  This is inconvenient because the network header then\nhas to be fixed up before the packet can leave the IPsec stack.  The mac\nheader field is unused on output so we can use that to store this instead.\n\nThis patch does that and removes the network header fix-up in xfrm_output.\n\nIt also uses ipv6_hdr where appropriate in the x-\u003etype-\u003eoutput functions.\n\nThere is also a minor clean-up in esp4 to make it use the same code as\nesp6 to help any subsequent effort to merge the two.\n\nLastly it kills two redundant skb_set_* statements in BEET that were\nsimply copied over from transport mode.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0a8891a0a419d43ea06c8ded0849f0820c6a873b",
      "tree": "c27533cfcb08840470ae082bc981a03d2fa57c22",
      "parents": [
        "4665079cbb2a3e17de82f2ab2940b9f97f37d65e"
      ],
      "author": {
        "name": "Benjamin Thery",
        "email": "benjamin.thery@bull.net",
        "time": "Mon Oct 08 20:39:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:58 2007 -0700"
      },
      "message": "[IPv6]: use container_of() macro in fib6_clean_node()\n\nIn ip6_fib.c, fib6_clean_node() casts a fib6_walker_t pointer to\na fib6_cleaner_t pointer assuming a struct fib6_walker_t (field \u0027w\u0027)\nis the first field in struct fib6_walker_t.\n\nTo prevent any future problems that may occur if one day a field\nis inadvertently inserted before the \u0027w\u0027 field in struct fib6_cleaner_t,\n(and to improve readability), this patch uses the container_of() macro.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "45b17f48eaf5e5ff4202454985557b3240141caa",
      "tree": "00b0b9dc375899b5d1f8ee11f78ef5dcc9b1c2e1",
      "parents": [
        "cdf7e668d4327a33e11be04c4cb9bcc604eaaa0f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:27:19 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:56 2007 -0700"
      },
      "message": "[IPSEC]: Move RO-specific output code into xfrm6_mode_ro.c\n\nThe lastused update check in xfrm_output can be done just as well in\nthe mode output function which is specific to RO.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "436a0a402203d5a47d2edf7e4dde6c08a7257983",
      "tree": "b47e73326a2ff7dbf8ac3fbcb6c4acea5c06619d",
      "parents": [
        "83815dea47cf3e98ccbb6aecda08cba1ba91208f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:25:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:54 2007 -0700"
      },
      "message": "[IPSEC]: Move output replay code into xfrm_output\n\nThe replay counter is one of only two remaining things in the output code\nthat requires a lock on the xfrm state (the other being the crypto).  This\npatch moves it into the generic xfrm_output so we can remove the lock from\nthe transforms themselves.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "406ef77c893ebd882209be4e393d64b01fe72054",
      "tree": "815d753889769b355fba7e648abef7ad1422559e",
      "parents": [
        "bc31d3b2c7d7f2a03721a05cb3c9a3ce8b1e2e5a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:16:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:53 2007 -0700"
      },
      "message": "[IPSEC]: Move common output code to xfrm_output\n\nMost of the code in xfrm4_output_one and xfrm6_output_one are identical so\nthis patch moves them into a common xfrm_output function which will live\nin net/xfrm.\n\nIn fact this would seem to fix a bug as on IPv4 we never reset the network\nheader after a transform which may upset netfilter later on.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc31d3b2c7d7f2a03721a05cb3c9a3ce8b1e2e5a",
      "tree": "4e72919c351590c8276534e797eae8260d20f28c",
      "parents": [
        "4b7137ff8fb49d7bf22dfa248baa0d02ace2c43d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:14:34 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:53 2007 -0700"
      },
      "message": "[IPSEC] ah: Remove keys from ah_data structure\n\nThe keys are only used during initialisation so we don\u0027t need to carry them\nin esp_data.  Since we don\u0027t have to allocate them again, there is no need\nto place a limit on the authentication key length anymore.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b7137ff8fb49d7bf22dfa248baa0d02ace2c43d",
      "tree": "6a9571d7d5a3d43ec9cd8c661900fe78f89db6b6",
      "parents": [
        "f0703c80e5156406ad947cb67fe277725b48080f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:13:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:52 2007 -0700"
      },
      "message": "[IPSEC] esp: Remove keys from esp_data structure\n\nThe keys are only used during initialisation so we don\u0027t need to carry them\nin esp_data.  Since we don\u0027t have to allocate them again, there is no need\nto place a limit on the authentication key length anymore.\n\nThis patch also kills the unused auth.icv member.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfcabdcc2d5a810208e5bb3974121b7ed60119aa",
      "tree": "1aed711eeecc5a303b57f1fc47e1b5746e8a72c2",
      "parents": [
        "de83c058af25aa97ed4864abab11e90e8dead6e2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:59:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:48 2007 -0700"
      },
      "message": "[NET]: sparse warning fixes\n\nFix a bunch of sparse warnings. Mostly about 0 used as\nNULL pointer, and shadowed variable declarations.\nOne notable case was that hash size should have been unsigned.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f73e924cdd166360e8cc9a1b193008fdc9b3e3e2",
      "tree": "48fbf4b0f9101359e05fb53eabe194495f8214d1",
      "parents": [
        "5bf758539388fa9383afd539d052ae93229544b9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:39:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:35 2007 -0700"
      },
      "message": "[NETFILTER]: ctnetlink: use netlink policy\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdf708322d4658daa6eb795d1a835b97efdb335e",
      "tree": "101258e5e2316c139106d7d69726b8370c1bc1a2",
      "parents": [
        "df6fb868d6118686805c2fa566e213a8f31c8e4f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:32 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: rename functions containing \u0027nfattr\u0027\n\nThere is no struct nfattr anymore, rename functions to \u0027nlattr\u0027.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df6fb868d6118686805c2fa566e213a8f31c8e4f",
      "tree": "3a0d7d7e9c7d2d8c2d7a06b32e02702eecbfddf6",
      "parents": [
        "7c8d4cb4198d199e65a6ced8c81f71e3ac3f4cfc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:31 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: convert to generic netlink attribute functions\n\nGet rid of the duplicated rtnetlink macros and use the generic netlink\nattribute functions. The old duplicated stuff is moved to a new header\nfile that exists just for userspace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe",
      "tree": "54da3f245ee145722623a8e0eaab5fc49ea78511",
      "parents": [
        "0c4e85813d0a94eeb8bf813397a4907bdd7bb610"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Sep 26 22:13:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:51 2007 -0700"
      },
      "message": "[NET]: Wrap hard_header_parse\n\nWrap the hard_header_parse function to simplify next step of\nheader_ops conversion.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c7aba6c97a2535be3309a2209770953780b3",
      "tree": "9327c795707f6d723c6395c31e1c060e70b5e0db",
      "parents": [
        "0cc217e16cb8ca8ef2544363571fce94259900e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Make the loopback device per network namespace.\n\nThis patch makes loopback_dev per network namespace.  Adding\ncode to create a different loopback device for each network\nnamespace and adding the code to free a loopback device\nwhen a network namespace exits.\n\nThis patch modifies all users the loopback_dev so they\naccess it as init_net.loopback_dev, keeping all of the\ncode compiling and working.  A later pass will be needed to\nupdate the users to use something other than the initial network\nnamespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14878f75abd5bf1d38becb405801cd491ee215dc",
      "tree": "872d70add65e1e58ccbbcc4534c7e826bd3fa9ed",
      "parents": [
        "8b14a536701b50559a0d69d5d593323f550db4e9"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Sun Sep 16 16:52:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:27 2007 -0700"
      },
      "message": "[IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2]\n\nBackground: RFC 4293 deprecates existing individual, named ICMP\ntype counters to be replaced with the ICMPMsgStatsTable. This table\nincludes entries for both IPv4 and IPv6, and requires counting of all\nICMP types, whether or not the machine implements the type.\n\nThese patches \"remove\" (but not really) the existing counters, and\nreplace them with the ICMPMsgStats tables for v4 and v6.\nIt includes the named counters in the /proc places they were, but gets the\nvalues for them from the new tables. It also counts packets generated\nfrom raw socket output (e.g., OutEchoes, MLD queries, RA\u0027s from\nradvd, etc).\n\nChanges:\n1) create icmpmsg_statistics mib\n2) create icmpv6msg_statistics mib\n3) modify existing counters to use these\n4) modify /proc/net/snmp to add \"IcmpMsg\" with all ICMP types\n        listed by number for easy SNMP parsing\n5) modify /proc/net/snmp printing for \"Icmp\" to get the named data\n        from new counters.\n[new to 2nd revision]\n6) support per-interface ICMP stats\n7) use common macro for per-device stat macros\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76c72d4f44ec5fb7f88eda8a0d3aa30922c891d1",
      "tree": "0c773487ff11d098a70fddbc631f153260614bdb",
      "parents": [
        "056925ab3145713e5e83cf8e05ae6fb2f4ace41e"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Sun Sep 16 15:44:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:22 2007 -0700"
      },
      "message": "[IPV4/IPV6/DECNET]: Small cleanup for fib rules.\n\nThis patch slightly cleanups FIB rules framework. rules_list as a pointer\non struct fib_rules_ops is useless. It is always assigned with a static\nper/subsystem list in IPv4, IPv6 and DecNet.\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": "0b69d4bd263c75b3e2ec94f1c72f338b84be817e",
      "tree": "7a7d4d3a18ac51307e75150008d596281d35a3d6",
      "parents": [
        "63d804eade298208037045ab6728c933f2b6c27d"
      ],
      "author": {
        "name": "Milan Kocian",
        "email": "milon@wq.cz",
        "time": "Sat Sep 15 21:48:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:18 2007 -0700"
      },
      "message": "[IPV6]: Remove redundant RTM_DELLINK message.\n\nRemove useless message. We get the right message from another\nsubsystem.\n\nSigned-off-by: Milan Kocian \u003cmilon@wq.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10d024c1b2fd58af8362670d7d6e5ae52fc33353",
      "tree": "dbfb03c539986e2c1270385eb0083aaf0dfca8ab",
      "parents": [
        "596c5c97431eab8465739c169401ea611127b9ad"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Sep 17 13:11:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:13 2007 -0700"
      },
      "message": "[NET]: Nuke SET_MODULE_OWNER macro.\n\nIt\u0027s been a useless no-op for long enough in 2.6 so I figured it\u0027s time to\nremove it.  The number of people that could object because they\u0027re\nmaintaining unified 2.4 and 2.6 drivers is probably rather small.\n\n[ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\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": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\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": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e730c15519d09ea528b4d2f1103681fa5937c0e6",
      "tree": "c117294523f4d004fb1d740610b6403e5744cdfc",
      "parents": [
        "6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:53:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:08 2007 -0700"
      },
      "message": "[NET]: Make packet reception network namespace safe\n\nThis patch modifies every packet receive function\nregistered with dev_add_pack() to drop packets if they\nare not from the initial network namespace.\n\nThis should ensure that the various network stacks do\nnot receive packets in a anything but the initial network\nnamespace until the code has been converted and is ready\nfor them.\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": "1dfcae776548f464bee793d06484be275ba8efe7",
      "tree": "5bb669990a2d93dd9e1cb42d5ee50e9d43e1736d",
      "parents": [
        "c9ee23dfac61a713de48b20999dcacb7ef3c5ed0"
      ],
      "author": {
        "name": "Micah Gruber",
        "email": "micah.gruber@gmail.com",
        "time": "Wed Sep 05 07:56:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:58 2007 -0700"
      },
      "message": "[IPV6]: Remove unneeded pointer iph from ipcomp6_input() in net/ipv6/ipcomp6.c\n\nThis trivial patch removes the unneeded pointer iph, which is never used.\n\nSigned-off-by: Micah Gruber \u003cmicah.gruber@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1e5dc146173251e7baad9a1f7586d5a009b6d9f9",
      "tree": "ed816741827aac7239e24187df09657ff6f0d21d",
      "parents": [
        "a47ed4cd8cb0709723392f5b841e9015f765d0a6"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Fri Aug 24 19:08:55 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:33 2007 -0700"
      },
      "message": "[IPV6] IPSEC: Omit redirect for tunnelled packet.\n\nIPv6 IPsec tunnel gateway incorrectly sends redirect to\nrouter or sender when network device the IPsec tunnelled packet\nis arrived is the same as the one the decapsulated packet\nis sent.\n\nWith this patch, it omits to send the redirect when the forwarding\nskbuff carries secpath, since such skbuff should be assumed as\na decapsulated packet from IPsec tunnel by own.\n\nIt may be a rare case for an IPsec security gateway, however\nit is not rare when the gateway is MIPv6 Home Agent since\nthe another tunnel end-point is Mobile Node and it changes\nthe attached network.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a47ed4cd8cb0709723392f5b841e9015f765d0a6",
      "tree": "6b79a4b94602bbc0e27df9a6a869253438833f74",
      "parents": [
        "e773e4faa19c54c2f32ddd16add2919588488bd9"
      ],
      "author": {
        "name": "Noriaki TAKAMIYA",
        "email": "takamiya@po.ntts.co.jp",
        "time": "Thu Sep 06 03:31:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:32 2007 -0700"
      },
      "message": "[IPV6] XFRM: Fix connected socket to use transformation.\n\nWhen XFRM policy and state are ready after TCP connection is started,\nthe traffic should be transformed immediately, however it does not\non IPv6 TCP.\n\nIt depends on a dst cache replacement policy with connected socket.\nIt seems that the replacement is always done for IPv4, however, on\nIPv6 case it is done only when routing cookie is changed.\n\nThis patch fix that non-transformation dst can be changed to\ntransformation one.\nThis behavior is required by MIPv6 and improves IPv6 IPsec.\n\nFixes by Masahide NAKAMURA.\n\nSigned-off-by: Noriaki TAKAMIYA \u003ctakamiya@po.ntts.co.jp\u003e\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e773e4faa19c54c2f32ddd16add2919588488bd9",
      "tree": "316395a9c687155362913ec1c588c0217233f67e",
      "parents": [
        "6f4fc423b96c8fdf6f5c8b8ad79b75b7fb5a5c59"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Fri Aug 24 23:16:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:32 2007 -0700"
      },
      "message": "[IPV6]: Add v4mapped address inline\n\nAdd v4mapped address inline to avoid calls to ipv6_addr_type().\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf0b48dfc368c07c42b5a3a5658c8ee81b4283ac",
      "tree": "7174e3ce995d6deaefb76027bc1a6265ccd25d11",
      "parents": [
        "bf1b803b01b00c3801e0aa373ba0305f8278e260"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Mon Oct 08 00:12:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 08 00:12:05 2007 -0700"
      },
      "message": "[IPv6]: Fix ICMPv6 redirect handling with target multicast address\n\nWhen the ICMPv6 Target address is multicast, Linux processes the \nredirect instead of dropping it.  The problem is in this code in \nndisc_redirect_rcv():\n\n         if (ipv6_addr_equal(dest, target)) {\n                 on_link \u003d 1;\n         } else if (!(ipv6_addr_type(target) \u0026 IPV6_ADDR_LINKLOCAL)) {\n                 ND_PRINTK2(KERN_WARNING\n                            \"ICMPv6 Redirect: target address is not \nlink-local.\\n\");\n                 return;\n         }\n\nThis second check will succeed if the Target address is, for example, \nFF02::1 because it has link-local scope.  Instead, it should be checking \nif it\u0027s a unicast link-local address, as stated in RFC 2461/4861 Section \n8.1:\n\n       - The ICMP Target Address is either a link-local address (when\n         redirected to a router) or the same as the ICMP Destination\n         Address (when redirected to the on-link destination).\n\nI know this doesn\u0027t explicitly say unicast link-local address, but it\u0027s \nimplied.\n\nThis bug is preventing Linux kernels from achieving IPv6 Logo Phase II \ncertification because of a recent error that was found in the TAHI test \nsuite - Neighbor Disovery suite test 206 (v6LC.2.3.6_G) had the \nmulticast address in the Destination field instead of Target field, so \nwe were passing the test.  This won\u0027t be the case anymore.\n\nThe patch below fixes this problem, and also fixes ndisc_send_redirect() \nto not send an invalid redirect with a multicast address in the Target \nfield.  I re-ran the TAHI Neighbor Discovery section to make sure Linux \npasses all 245 tests now.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nAcked-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8ab18d2d987a59ccbf0495032b2aef05b730037",
      "tree": "7a24c79632c91e22235888875813950c6c30d929",
      "parents": [
        "e79ad711a0108475c1b3a03815527e7237020b08"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 28 15:18:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 28 15:18:35 2007 -0700"
      },
      "message": "[TCP]: Fix MD5 signature handling on big-endian.\n\nBased upon a report and initial patch by Peter Lieven.\n\ntcp4_md5sig_key and tcp6_md5sig_key need to start with\nthe exact same members as tcp_md5sig_key.  Because they\nare both cast to that type by tcp_v{4,6}_md5_do_lookup().\n\nUnfortunately tcp{4,6}_md5sig_key use a u16 for the key\nlength instead of a u8, which is what tcp_md5sig_key\nuses.  This just so happens to work by accident on\nlittle-endian, but on big-endian it doesn\u0027t.\n\nInstead of casting, just place tcp_md5sig_key as the first member of\nthe address-family specific structures, adjust the access sites, and\nkill off the ugly casts.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ae5f983cf8de769214d2d9e8a783c881eccd4cd",
      "tree": "bfc249a8c92e1cbd73845b502eadb4516eb46c69",
      "parents": [
        "2a0c6c980d209827e5d69017fa736f107a744d1d"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Sun Sep 16 14:48:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 16 14:48:21 2007 -0700"
      },
      "message": "[IPV6]: Fix source address selection.\n\nThe commit 95c385 broke proper source address selection for cases in which \nthere is a address which is makred \u0027deprecated\u0027. The commit mistakenly \nchanged ifa-\u003eflags to ifa_result-\u003eflags (probably copy/paste error from a \nfew lines above) in the \u0027Rule 3\u0027 address selection code.\n\nThe patch restores the previous RFC-compliant behavior.\n\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cd562c9859f648d78224e9fc0dafa5a3d5000fdb",
      "tree": "845cd92b8d59598495427b1aeb32c6d7e2410911",
      "parents": [
        "3ef9d943d26dea764f4fecf3767001c90b778b0c"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Sep 14 17:15:01 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 14 17:15:01 2007 -0700"
      },
      "message": "[IPV6]: Just increment OutDatagrams once per a datagram.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ef9d943d26dea764f4fecf3767001c90b778b0c",
      "tree": "f1fab72a4de636b6019374380dfb3afc9b3f9888",
      "parents": [
        "e1e992e52faa588667e1378a2573b4b8e3fa6670"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Sep 14 16:45:40 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 14 16:45:40 2007 -0700"
      },
      "message": "[IPV6]: Fix unbalanced socket reference with MSG_CONFIRM.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1f52208bb968291f7d9142eff60b62984b4a511",
      "tree": "562076978b4a8f71f4cf49903496cf95ab02d3d2",
      "parents": [
        "16fcec35e7d7c4faaa4709f6434a4a25b06d25e3"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Sep 11 11:31:43 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:31:43 2007 +0200"
      },
      "message": "[IPv6]: Fix NULL pointer dereference in ip6_flush_pending_frames\n\nSome of skbs in sk-\u003ewrite_queue do not have skb-\u003edst because\nwe do not fill skb-\u003edst when we allocate new skb in append_data().\n\nBTW, I think we may not need to (or we should not) increment some stats\nwhen using corking; if 100 sendmsg() (with MSG_MORE) result in 2 packets,\nhow many should we increment?\n\nIf 100, we should set skb-\u003edst for every queued skbs.\n\nIf 1 (or 2 (*)), we increment the stats for the first queued skb and\nwe should just skip incrementing OutDiscards for the rest of queued skbs,\nadn we should also impelement this semantics in other places;\ne.g., we should increment other stats just once, not 100 times.\n\n*: depends on the place we are discarding the datagram.\n\nI guess should just increment by 1 (or 2).\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "16fcec35e7d7c4faaa4709f6434a4a25b06d25e3",
      "tree": "5febf4d688f2c32ed55e02bc20246388b74d85e4",
      "parents": [
        "0fb96701376874c9f1f80322f89a5bf4457c709f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "message": "[NETFILTER]: Fix/improve deadlock condition on module removal netfilter\n\nSo I\u0027ve had a deadlock reported to me.  I\u0027ve found that the sequence of\nevents goes like this:\n\n1) process A (modprobe) runs to remove ip_tables.ko\n\n2) process B (iptables-restore) runs and calls setsockopt on a netfilter socket,\nincreasing the ip_tables socket_ops use count\n\n3) process A acquires a file lock on the file ip_tables.ko, calls remove_module\nin the kernel, which in turn executes the ip_tables module cleanup routine,\nwhich calls nf_unregister_sockopt\n\n4) nf_unregister_sockopt, seeing that the use count is non-zero, puts the\ncalling process into uninterruptible sleep, expecting the process using the\nsocket option code to wake it up when it exits the kernel\n\n4) the user of the socket option code (process B) in do_ipt_get_ctl, calls\nipt_find_table_lock, which in this case calls request_module to load\nip_tables_nat.ko\n\n5) request_module forks a copy of modprobe (process C) to load the module and\nblocks until modprobe exits.\n\n6) Process C. forked by request_module process the dependencies of\nip_tables_nat.ko, of which ip_tables.ko is one.\n\n7) Process C attempts to lock the request module and all its dependencies, it\nblocks when it attempts to lock ip_tables.ko (which was previously locked in\nstep 3)\n\nTheres not really any great permanent solution to this that I can see, but I\u0027ve\ndeveloped a two part solution that corrects the problem\n\nPart 1) Modifies the nf_sockopt registration code so that, instead of using a\nuse counter internal to the nf_sockopt_ops structure, we instead use a pointer\nto the registering modules owner to do module reference counting when nf_sockopt\ncalls a modules set/get routine.  This prevents the deadlock by preventing set 4\nfrom happening.\n\nPart 2) Enhances the modprobe utilty so that by default it preforms non-blocking\nremove operations (the same way rmmod does), and add an option to explicity\nrequest blocking operation.  So if you select blocking operation in modprobe you\ncan still cause the above deadlock, but only if you explicity try (and since\nroot can do any old stupid thing it would like....  :)  ).\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9e3be4b34364a670bd6e57d2e8c3caabdd8d89f8",
      "tree": "2282e4480875948c6fff379a24ca027a324d6ecf",
      "parents": [
        "a2221f308dabb95abb914ad858d36c2462705558"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Sep 11 11:04:49 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:04:49 2007 +0200"
      },
      "message": "[IPV6]: Freeing alive inet6 address\n\nFrom: Denis V. Lunev \u003cden@openvz.org\u003e\n\naddrconf_dad_failure calls addrconf_dad_stop which takes referenced address\nand drops the count. So, in6_ifa_put perrformed at out: is extra. This\nresults in message: \"Freeing alive inet6 address\" and not released dst entries.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a96fb49be3dd2031f722bf32af6ed7db965b60f7",
      "tree": "3c02106c65a3013990007d9bdf2708616bc9ba6e",
      "parents": [
        "36d98d3edce12c8f9ffd33f8f5d23ce728380925"
      ],
      "author": {
        "name": "Flavio Leitner",
        "email": "fleitner@redhat.com",
        "time": "Fri Aug 24 22:16:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sun Aug 26 18:35:35 2007 -0700"
      },
      "message": "[NET]: Fix IP_ADD/DROP_MEMBERSHIP to handle only connectionless\n\nFix IP[V6]_ADD_MEMBERSHIP and IP[V6]_DROP_MEMBERSHIP to\nreturn -EPROTO for connection oriented sockets.\n\nSigned-off-by: Flavio Leitner \u003cfleitner@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8984e41d18a545320201950b8721e7ce3ac2a5e7",
      "tree": "086c209698a9d9e1bc60e3cf572c2593a02073c0",
      "parents": [
        "d92a7db710c32db826a00ba9bc7a22e741d5041e"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yjwei@cn.fujitsu.com",
        "time": "Tue Aug 21 20:59:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 21 20:59:08 2007 -0700"
      },
      "message": "[IPV6]: Fix kernel panic while send SCTP data with IP fragments\n\nIf ICMP6 message with \"Packet Too Big\" is received after send SCTP DATA,\nkernel panic will occur when SCTP DATA is send again.\n\nThis is because of a bad dest address when call to skb_copy_bits().\n\nThe messages sequence is like this:\n\nEndpoint A                             Endpoint B\n                               \u003c-------  SCTP DATA (size\u003d1432)\nICMP6 message -------\u003e\n(Packet Too Big pmtu\u003d1280)\n                               \u003c-------  Resend SCTP DATA (size\u003d1432)\n------------kernel panic---------------\n\n printing eip:\nc05be62a\n*pde \u003d 00000000\nOops: 0002 [#1]\nSMP\nModules linked in: scomm l2cap bluetooth ipv6 dm_mirror dm_mod video output sbs battery lp floppy sg i2c_piix4 i2c_core pcnet32 mii button ac parport_pc parport ide_cd cdrom serio_raw mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi_mod ext3 jbd ehci_hcd ohci_hcd uhci_hcd\nCPU:    0\nEIP:    0060:[\u003cc05be62a\u003e]    Not tainted VLI\nEFLAGS: 00010282   (2.6.23-rc2 #1)\nEIP is at skb_copy_bits+0x4f/0x1ef\neax: 000004d0   ebx: ce12a980   ecx: 00000134   edx: cfd5a880\nesi: c8246858   edi: 00000000   ebp: c0759b14   esp: c0759adc\nds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068\nProcess swapper (pid: 0, ti\u003dc0759000 task\u003dc06d0340 task.ti\u003dc0713000)\nStack: c0759b88 c0405867 ce12a980 c8bff838 c789c084 00000000 00000028 cfd5a880\n       d09f1890 000005dc 0000007b ce12a980 cfd5a880 c8bff838 c0759b88 d09bc521\n       000004d0 fffff96c 00000200 00000100 c0759b50 cfd5a880 00000246 c0759bd4\nCall Trace:\n [\u003cc0405e1d\u003e] show_trace_log_lvl+0x1a/0x2f\n [\u003cc0405ecd\u003e] show_stack_log_lvl+0x9b/0xa3\n [\u003cc040608d\u003e] show_registers+0x1b8/0x289\n [\u003cc0406271\u003e] die+0x113/0x246\n [\u003cc0625dbc\u003e] do_page_fault+0x4ad/0x57e\n [\u003cc0624642\u003e] error_code+0x72/0x78\n [\u003cd09bc521\u003e] ip6_output+0x8e5/0xab2 [ipv6]\n [\u003cd09bcec1\u003e] ip6_xmit+0x2ea/0x3a3 [ipv6]\n [\u003cd0a3f2ca\u003e] sctp_v6_xmit+0x248/0x253 [sctp]\n [\u003cd0a3c934\u003e] sctp_packet_transmit+0x53f/0x5ae [sctp]\n [\u003cd0a34bf8\u003e] sctp_outq_flush+0x555/0x587 [sctp]\n [\u003cd0a34d3c\u003e] sctp_retransmit+0xf8/0x10f [sctp]\n [\u003cd0a3d183\u003e] sctp_icmp_frag_needed+0x57/0x5b [sctp]\n [\u003cd0a3ece2\u003e] sctp_v6_err+0xcd/0x148 [sctp]\n [\u003cd09cf1ce\u003e] icmpv6_notify+0xe6/0x167 [ipv6]\n [\u003cd09d009a\u003e] icmpv6_rcv+0x7d7/0x849 [ipv6]\n [\u003cd09be240\u003e] ip6_input+0x1dc/0x310 [ipv6]\n [\u003cd09be965\u003e] ipv6_rcv+0x294/0x2df [ipv6]\n [\u003cc05c3789\u003e] netif_receive_skb+0x2d2/0x335\n [\u003cc05c5733\u003e] process_backlog+0x7f/0xd0\n [\u003cc05c58f6\u003e] net_rx_action+0x96/0x17e\n [\u003cc042e722\u003e] __do_softirq+0x64/0xcd\n [\u003cc0406f37\u003e] do_softirq+0x5c/0xac\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nCode: 00 00 29 ca 89 d0 2b 45 e0 89 55 ec 85 c0 7e 35 39 45 08 8b 55 e4 0f 4e 45 08 8b 75 e0 8b 7d dc 89 c1 c1 e9 02 03 b2 a0 00 00 00 \u003cf3\u003e a5 89 c1 83 e1 03 74 02 f3 a4 29 45 08 0f 84 7b 01 00 00 01\nEIP: [\u003cc05be62a\u003e] skb_copy_bits+0x4f/0x1ef SS:ESP 0068:c0759adc\nKernel panic - not syncing: Fatal exception in interrupt\n\nArnaldo says:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThanks! I\u0027m to blame for this one, problem was introduced in:\n\nb0e380b1d8a8e0aca215df97702f99815f05c094\n\n@@ -761,7 +762,7 @@ slow_path:\n                /*\n                 *      Copy a block of the IP datagram.\n                 */\n-               if (skb_copy_bits(skb, ptr, frag-\u003eh.raw, len))\n+               if (skb_copy_bits(skb, ptr, skb_transport_header(skb),\nlen))\n                        BUG();\n                left -\u003d len;\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nAcked-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "660adc6e60bc8882b16e466c09401cff017dcd94",
      "tree": "8274d6dd489b5ee7fd410f71ae10c1818041335e",
      "parents": [
        "3b1855255098e1f78fa74c0f3378c0391e9a7a2b"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Wed Aug 15 15:07:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 15 15:07:30 2007 -0700"
      },
      "message": "[IPv6]: Invalid semicolon after if statement\n\nA similar fix to netfilter from Eric Dumazet inspired me to\nlook around a bit by using some grep/sed stuff as looking for\nthis kind of bugs seemed easy to automate. This is one of them\nI found where it looks like this semicolon is not valid.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "703310e645c639a84e7f4b35d8a508acde9ef360",
      "tree": "b175463812432b9e6cd2c6e412d0d5d3601bc5ff",
      "parents": [
        "f49f9967b263cc88b48d912172afdc621bcb0a3c"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Aug 10 15:17:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:03 2007 -0700"
      },
      "message": "[IPV6]: Clean up duplicate includes in net/ipv6/\n\nThis patch cleans up duplicate includes in\n\tnet/ipv6/\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "3516ffb0fef710749daf288c0fe146503e0cf9d4"
}
