)]}'
{
  "log": [
    {
      "commit": "180e42503300629692b513daeb55a6bb0b51500c",
      "tree": "3d33734fd13f7017179bcc7ff49bc828a838807b",
      "parents": [
        "205902ecc7bcb2a007ed27bb3518e8f70e5d113e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 23 13:11:07 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 23 13:11:07 2005 -0700"
      },
      "message": "[IPV6]: Fix xfrm tunnel oops with large packets\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2fdba6b085eb7068e9594cfa55ffe40466184b4d",
      "tree": "2f7325f9f62cc643caf6d6c8dd7a24b1cb94ebd0",
      "parents": [
        "d48102007d068df7ba3055cdc1723e12db1ba30f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed May 18 22:52:33 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 18 22:52:33 2005 -0700"
      },
      "message": "[IPV4/IPV6] Ensure all frag_list members have NULL sk\n\nHaving frag_list members which holds wmem of an sk leads to nightmares\nwith partially cloned frag skb\u0027s.  The reason is that once you unleash\na skb with a frag_list that has individual sk ownerships into the stack\nyou can never undo those ownerships safely as they may have been cloned\nby things like netfilter.  Since we have to undo them in order to make\nskb_linearize happy this approach leads to a dead-end.\n\nSo let\u0027s go the other way and make this an invariant:\n\n\tFor any skb on a frag_list, skb-\u003esk must be NULL.\n\nThat is, the socket ownership always belongs to the head skb.\nIt turns out that the implementation is actually pretty simple.\n\nThe above invariant is actually violated in the following patch\nfor a short duration inside ip_fragment.  This is OK because the\noffending frag_list member is either destroyed at the end of the\nslow path without being sent anywhere, or it is detached from\nthe frag_list before being sent.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aabc9761b69f1bfa30a78f7005be95cc9cc06175",
      "tree": "50dc9f510011ac03656aeba0595b2b0b5c5f5e22",
      "parents": [
        "d5d75cd6b10ddad2f375b61092754474ad78aec7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 03 16:27:10 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 16:27:10 2005 -0700"
      },
      "message": "[IPSEC]: Store idev entries\n\nI found a bug that stopped IPsec/IPv6 from working.  About\na month ago IPv6 started using rt6i_idev-\u003edev on the cached socket dst\nentries.  If the cached socket dst entry is IPsec, then rt6i_idev will\nbe NULL.\n\nSince we want to look at the rt6i_idev of the original route in this\ncase, the easiest fix is to store rt6i_idev in the IPsec dst entry just\nas we do for a number of other IPv6 route attributes.  Unfortunately\nthis means that we need some new code to handle the references to\nrt6i_idev.  That\u0027s why this patch is bigger than it would otherwise be.\n\nI\u0027ve also done the same thing for IPv4 since it is conceivable that\nonce these idev attributes start getting used for accounting, we\nprobably need to dereference them for IPv4 IPsec entries too.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2a0a6ebee1d68552152ae8d4aeda91d806995dec",
      "tree": "a0b77861b3395b4728e75f2b2f92755e0a4777d3",
      "parents": [
        "96c36023434b7b6824b1da72a6b7b1ca61d7310c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 03 14:55:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:55:09 2005 -0700"
      },
      "message": "[NETLINK]: Synchronous message processing.\n\nLet\u0027s recap the problem.  The current asynchronous netlink kernel\nmessage processing is vulnerable to these attacks:\n\n1) Hit and run: Attacker sends one or more messages and then exits\nbefore they\u0027re processed.  This may confuse/disable the next netlink\nuser that gets the netlink address of the attacker since it may\nreceive the responses to the attacker\u0027s messages.\n\nProposed solutions:\n\na) Synchronous processing.\nb) Stream mode socket.\nc) Restrict/prohibit binding.\n\n2) Starvation: Because various netlink rcv functions were written\nto not return until all messages have been processed on a socket,\nit is possible for these functions to execute for an arbitrarily\nlong period of time.  If this is successfully exploited it could\nalso be used to hold rtnl forever.\n\nProposed solutions:\n\na) Synchronous processing.\nb) Stream mode socket.\n\nFirstly let\u0027s cross off solution c).  It only solves the first\nproblem and it has user-visible impacts.  In particular, it\u0027ll\nbreak user space applications that expect to bind or communicate\nwith specific netlink addresses (pid\u0027s).\n\nSo we\u0027re left with a choice of synchronous processing versus\nSOCK_STREAM for netlink.\n\nFor the moment I\u0027m sticking with the synchronous approach as\nsuggested by Alexey since it\u0027s simpler and I\u0027d rather spend\nmy time working on other things.\n\nHowever, it does have a number of deficiencies compared to the\nstream mode solution:\n\n1) User-space to user-space netlink communication is still vulnerable.\n\n2) Inefficient use of resources.  This is especially true for rtnetlink\nsince the lock is shared with other users such as networking drivers.\nThe latter could hold the rtnl while communicating with hardware which\ncauses the rtnetlink user to wait when it could be doing other things.\n\n3) It is still possible to DoS all netlink users by flooding the kernel\nnetlink receive queue.  The attacker simply fills the receive socket\nwith a single netlink message that fills up the entire queue.  The\nattacker then continues to call sendmsg with the same message in a loop.\n\nPoint 3) can be countered by retransmissions in user-space code, however\nit is pretty messy.\n\nIn light of these problems (in particular, point 3), we should implement\nstream mode netlink at some point.  In the mean time, here is a patch\nthat implements synchronous processing.  \n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c3924c70dd3bddc28b99ccd1688bd281bad1a9be",
      "tree": "958922075140cebd55028aa3c04ad2e1f2c0b5b3",
      "parents": [
        "0b2531bdc54e19717de5cb161d57e5ee0a7725ff"
      ],
      "author": {
        "name": "Folkert van Heusden",
        "email": "folkert@vanheusden.com",
        "time": "Tue May 03 14:36:45 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:36:45 2005 -0700"
      },
      "message": "[TCP]: Optimize check in port-allocation code, v6 version.\n\nSigned-off-by: Folkert van Heusden \u003cfolkert@vanheusden.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db46edc6d3b66bf708a8f23a9aa89f63a49ebe33",
      "tree": "7b3d9568a5561b5344e98dc8d881481420b8e581",
      "parents": [
        "f90a0a74b864fdc46737614f03b8868f4f31e3bf"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue May 03 14:29:39 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:29:39 2005 -0700"
      },
      "message": "[RTNETLINK] Cleanup rtnetlink_link tables\n\nConverts remaining rtnetlink_link tables to use c99 designated\ninitializers to make greping a little bit easier.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "679a87382433cf12a28f07a7d5c240f30f0daa08",
      "tree": "128787f500b3a5d260fc620450865ad8a0a8c761",
      "parents": [
        "31da185d8162ae0f30a13ed945f1f4d28d158133"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue May 03 14:24:36 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 14:24:36 2005 -0700"
      },
      "message": "[IPV6]: Fix raw socket checksums with IPsec\n\nI made a mistake in my last patch to the raw socket checksum code.\nI used the value of inet-\u003ecork.length as the length of the payload.\nWhile this works with normal packets, it breaks down when IPsec is\npresent since the cork length includes the extension header length.\n\nSo here is a patch to fix the length calculations.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89c8b3a11086a2a43ac4240116da77b707f37fbf",
      "tree": "6fa7c25204d4af62822ebb1e02694744d897b644",
      "parents": [
        "7e3e0360b711568fb8ba5973accf51d51e746abc"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Apr 28 12:11:49 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 12:11:49 2005 -0700"
      },
      "message": "[IPV6]: Incorrect permissions on route flush sysctl\n\nOn Mon, Apr 25, 2005 at 12:01:13PM -0400, Dave Jones wrote:\n \u003e This has been brought up before.. http://lkml.org/lkml/2000/1/21/116\n \u003e but didnt seem to get resolved.  This morning I got someone\n \u003e file a bugzilla about it breaking sysctl(8).\n\nAnd here\u0027s its ipv6 counterpart.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b453257f057b834fdf9f4a6ad6133598b79bd982",
      "tree": "fd1621a8c03331bd78abfe52c8c385977d0a9729",
      "parents": [
        "94f2f715771d0aa5554451d1e2a920f11b8be3fe"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Mon Apr 25 18:32:13 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Mon Apr 25 18:32:13 2005 -0700"
      },
      "message": "[PATCH] kill gratitious includes of major.h under net/*\n\nA lot of places in there are including major.h for no reason whatsoever.\nRemoved.  And yes, it still builds. \n\nThe history of that stuff is often amusing.  E.g.  for net/core/sock.c\nthe story looks so, as far as I\u0027ve been able to reconstruct it: we used\nto need major.h in net/socket.c circa 1.1.early.  In 1.1.13 that need\nhad disappeared, along with register_chrdev(SOCKET_MAJOR, \"socket\",\n\u0026net_fops) in sock_init().  Include had not.  When 1.2 -\u003e 1.3 reorg of\nnet/* had moved a lot of stuff from net/socket.c to net/core/sock.c,\nthis crap had followed... \n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "edec231a8a652384cb6d61e648338aa5155f2b72",
      "tree": "70652aa8f30bea3ea83594cc4a47a11f7a8db89d",
      "parents": [
        "c5c13fafd6548fe36b8fe9285c1912fcf96379f4"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Apr 24 20:22:28 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 24 20:22:28 2005 -0700"
      },
      "message": "[IPV6]: export inet6_sock_nr\n\nPlease apply, SCTP/DCCP needs this when INET_REFCNT_DEBUG\nis set.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d3d077cd4f1154e63a9858e47fe3fb1ad0c03e5",
      "tree": "63f376b3586412af712ffac7d500516c98f7bb2c",
      "parents": [
        "aa77d26961fa4ecb11fe4209578dcd62ad15819d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 24 20:16:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 24 20:16:19 2005 -0700"
      },
      "message": "[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.\n\nThe SELinux hooks invoke ipv6_skip_exthdr() with an incorrect\nlength final argument.  However, the length argument turns out\nto be superfluous.\n\nI was just reading ipv6_skip_exthdr and it occured to me that we can\nget rid of len altogether.  The only place where len is used is to\ncheck whether the skb has two bytes for ipv6_opt_hdr.  This check\nis done by skb_header_pointer/skb_copy_bits anyway.\n\nNow it might appear that we\u0027ve made the code slower by deferring\nthe check to skb_copy_bits.  However, this check should not trigger\nin the common case so this is OK.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3320da8906d8a7277ef54fd1b3646f85354cb66a",
      "tree": "97b9e465bc72ed95a0d3959cf0abb3786f9d7517",
      "parents": [
        "357b40a18b04c699da1d45608436e9b76b50e251"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 19 22:32:22 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:32:22 2005 -0700"
      },
      "message": "[IPV6]: Replace bogus instances of inet-\u003erecverr\n\nWhile looking at this problem I noticed that IPv6 was sometimes\nlooking at inet-\u003erecverr which is bogus.  Here is a patch to\ncorrect that and use np-\u003erecverr.\n \nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "357b40a18b04c699da1d45608436e9b76b50e251",
      "tree": "51c4480c9508a911d52a3f69bbe84ec1191fd202",
      "parents": [
        "fd92833a52b972aafacced959f4a3f7541936a9b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 19 22:30:14 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:30:14 2005 -0700"
      },
      "message": "[IPV6]: IPV6_CHECKSUM socket option can corrupt kernel memory\n\nSo here is a patch that introduces skb_store_bits -- the opposite of\nskb_copy_bits, and uses them to read/write the csum field in rawv6.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd92833a52b972aafacced959f4a3f7541936a9b",
      "tree": "78d8e11eca4d84b91f5be4a28ad81ba523f9dc65",
      "parents": [
        "c4d541106bc5d0a2134aaf9e8735eee3c70b0db2"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Apr 19 22:27:09 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:27:09 2005 -0700"
      },
      "message": "[IPV6]: Fix a branch prediction\n\nFrom: Tushar Gohad \u003ctgohad@mvista.com\u003e\n\nSigned-off-by: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
