)]}'
{
  "log": [
    {
      "commit": "ff1dcadb1b55dbf471c5ed109dbbdf06bd19ef3b",
      "tree": "cbcd17d33ecc52c90d218b43c5aec430be448058",
      "parents": [
        "5b14027bf2132c0631ea9f3be11ced89a5057220"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Nov 20 18:07:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:27:18 2006 -0800"
      },
      "message": "[NET]: Split skb-\u003ecsum\n\n... into anonymous union of __wsum and __u32 (csum and csum_offset resp.)\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1f61ab5ca5cca939a6509892d84b34849e155036",
      "tree": "0a2f131065712c0526690ca0ac72970d62b9001d",
      "parents": [
        "5a5a852e45b651c71dfeb3972b30d58742f8941e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:44:08 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:44 2006 -0800"
      },
      "message": "[NET]: Preliminaty annotation of skb-\u003ecsum.\n\nIt\u0027s still not completely right; we need to split it into anon unions\nof __wsum and unsigned - for cases when we use it for partial checksum\nand for offset of checksum in skb\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b51655b958dfb1176bfcf99466231fdbef8751ff",
      "tree": "a53d0ec00d8db4169ba8c1c487fffbd34d6dde03",
      "parents": [
        "b1550f221255f7dd06048d832bf0f3d166840e1c"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:40:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:38 2006 -0800"
      },
      "message": "[NET]: Annotate __skb_checksum_complete() and friends.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "81d77662763ae527ba3a9b9275467901aaab7dfd",
      "tree": "c0280981515d052535f24ac89cbb135dc68abe55",
      "parents": [
        "2bbbc86890ac4c911c5057f69af93853e52a42a8"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:37:33 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:36 2006 -0800"
      },
      "message": "[NET]: Annotate skb_copy_and_csum_bits() and callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bbbc86890ac4c911c5057f69af93853e52a42a8",
      "tree": "f05aa0eea53312afa5829a80da35d4500d7a1b52",
      "parents": [
        "5f92a7388a29594d6c365b23a48d4bb8299a3ea7"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:37:14 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:35 2006 -0800"
      },
      "message": "[NET]: Annotate skb_checksum() and callers.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5084205faf45384fff25c4cf77dd5c96279283ad",
      "tree": "9a5a3cb74bf64a6ec4c1b77d7805b256978943ca",
      "parents": [
        "44bb93633f57a55979f3c2589b10fd6a2bfc7c08"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Nov 14 21:36:34 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:33 2006 -0800"
      },
      "message": "[NET]: Annotate callers of csum_partial_copy_...() and csum_and_copy...() in net/*\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "82e91ffef60e6eba9848fe149ce1eecd2b5aef12",
      "tree": "9ccc6a518a1f678ae15cfb3a59c05127286cff96",
      "parents": [
        "0afc46c4683df512eef34a71a85065dc555c2af2"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Nov 09 15:19:14 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:38 2006 -0800"
      },
      "message": "[NET]: Turn nfmark into generic mark\n\nnfmark is being used in various subsystems and has become\nthe defacto mark field for all kinds of packets. Therefore\nit makes sense to rename it to `mark\u0027 and remove the\ndependency on CONFIG_NETFILTER.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae08e1f092210619fe49551aa3ed0dc0003d5880",
      "tree": "80e0ef51a052f811394b29bb19422feba80795bb",
      "parents": [
        "98a4a86128d7179b22365e16bf880e849e20bc7d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:27:11 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:26 2006 -0800"
      },
      "message": "[IPV6]: ip6_output annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84fa7933a33f806bbbaae6775e87459b1ec584c0",
      "tree": "5be404225d90f640997b12f631e9b496b3fd0d61",
      "parents": [
        "8584d6df39db5601965f9bc5e3bf2fea833ad7bb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 29 16:44:56 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 14:53:53 2006 -0700"
      },
      "message": "[NET]: Replace CHECKSUM_HW by CHECKSUM_PARTIAL/CHECKSUM_COMPLETE\n\nReplace CHECKSUM_HW by CHECKSUM_PARTIAL (for outgoing packets, whose\nchecksum still needs to be completed) and CHECKSUM_COMPLETE (for\nincoming packets, device supplied full checksum).\n\nPatch originally from Herbert Xu, updated by myself for 2.6.18-rc3.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9fa4f7bd291c29a785666e2fa5a9cf3241ee6c3",
      "tree": "7313e7994ed8dbeb47ca454ee7c53d45e040738d",
      "parents": [
        "dcb7cd97f133f7cfbd181149a1e60215a869f895"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 13 20:12:58 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 13 20:12:58 2006 -0700"
      },
      "message": "[INET]: Use pskb_trim_unique when trimming paged unique skbs\n\nThe IPv4/IPv6 datagram output path was using skb_trim to trim paged\npackets because they know that the packet has not been cloned yet\n(since the packet hasn\u0027t been given to anything else in the system).\n\nThis broke because skb_trim no longer allows paged packets to be\ntrimmed.  Paged packets must be given to one of the pskb_trim functions\ninstead.\n\nThis patch adds a new pskb_trim_unique function to cover the IPv4/IPv6\ndatagram output path scenario and replaces the corresponding skb_trim\ncalls with it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "766ea8cce007e699679109df4fa469b870ba4860",
      "tree": "07b343a0be217f1cc2b1b06c65dc371ac45fadae",
      "parents": [
        "9f737633e6ee54fc174282d49b2559bd2208391d"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Aug 07 15:49:53 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Aug 07 15:49:53 2006 -0700"
      },
      "message": "[NET]: Fix alloc_skb comment typo\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b7e24b66d31d677d76b49918e711eb360c978b6",
      "tree": "53706b77ae3392064fbe2d8486804bf4d8714d90",
      "parents": [
        "76f10ad0e67cbc6ded2ee143e5188e0b7ff9fb15"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Wed Aug 02 14:07:58 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 02 14:07:58 2006 -0700"
      },
      "message": "[NET]: skb_queue_lock_key() is no longer used.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "76f10ad0e67cbc6ded2ee143e5188e0b7ff9fb15",
      "tree": "d7afe6a19eaa80587736a447a240faefde6bd4fc",
      "parents": [
        "dafee490858f79e144c5e6cdd84ceb9efa20a3f1"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Wed Aug 02 14:06:55 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 02 14:06:55 2006 -0700"
      },
      "message": "[NET]: Remove lockdep_set_class() call from skb_queue_head_init().\n\nThe skb_queue_head_init() function is used both in drivers for private use\nand in the core networking code.  The usage models are vastly set of\nfunctions that is only softirq safe; while the driver usage tends to be\nmore limited to a few hardirq safe accessor functions.  Rather than\nannotating all 133+ driver usages, for now just split this lock into a per\nqueue class.  This change is obviously safe and probably should make\n2.6.18.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8af2745645243b5e5b031504a643bf2158571dc7",
      "tree": "32bf05d47473c2b586daee33f343e0eea1bbf943",
      "parents": [
        "52499afe40387524e9f46ef9ce4695efccdd2ed9"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jul 31 22:35:23 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Aug 02 13:38:25 2006 -0700"
      },
      "message": "[NET]: Add netdev_alloc_skb().\n\nAdd a dev_alloc_skb variant that takes a struct net_device * paramater.\nFor now that paramater is unused, but I\u0027ll use it to allocate the skb\nfrom node-local memory in a follow-up patch.  Also there have been some\nother plans mentioned on the list that can use it.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4e54de8d34afe7fcf08bfe91070d9dfeae6ed27",
      "tree": "46b2088d28b1dc75df5ab8a8d277c243543fcb38",
      "parents": [
        "37182d1bd3264cf9c0dce3408bee48af0755de7e"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jul 24 15:31:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 24 15:31:14 2006 -0700"
      },
      "message": "[NET]: Correct dev_alloc_skb kerneldoc\n\ndev_alloc_skb is designated for RX descriptors, not TX.  (Some drivers\nuse it for the latter anyway, but that\u0027s a different story)\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37182d1bd3264cf9c0dce3408bee48af0755de7e",
      "tree": "80d83a04deb7e4da9b733d49d7a6e6422c5b166c",
      "parents": [
        "6c753c3d3be0f8d1b570ec5720ad1bb4caf8232b"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Mon Jul 24 15:30:28 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 24 15:30:28 2006 -0700"
      },
      "message": "[NET]: Remove CONFIG_HAVE_ARCH_DEV_ALLOC_SKB\n\nskbuff.h has an #ifndef CONFIG_HAVE_ARCH_DEV_ALLOC_SKB to allow\narchitectures to reimplement __dev_alloc_skb.  It\u0027s not set on any\narchitecture and now that we have an architecture-overrideable\nNET_SKB_PAD there is not point at all to have one either.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89114afd435a486deb8583e89f490fc274444d18",
      "tree": "800e784ba59755f9f3c9926a6992e1d0f5b8eec7",
      "parents": [
        "9c6c6795eda34e4dc38ecac912a16b6314082beb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 08 13:34:32 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 08 13:34:32 2006 -0700"
      },
      "message": "[NET] gso: Add skb_is_gso\n\nThis patch adds the wrapper function skb_is_gso which can be used instead\nof directly testing skb_shinfo(skb)-\u003egso_size.  This makes things a little\nnicer and allows us to change the primary key for indicating whether an skb\nis GSO (if we ever want to do that).\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06825ba3553151eea24206bc53d4fc3de49e0ab1",
      "tree": "9fb7a35ebd98b57a8be1f5e992256da1c15e82b1",
      "parents": [
        "3aceafc1e2596f1c2c4e053126561f00b68e3a1a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jul 03 00:25:09 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 03 15:27:07 2006 -0700"
      },
      "message": "[PATCH] lockdep: annotate skb_queue_head_init\n\nTeach special (multi-initialized) locking code to the lock validator.  Has no\neffect on non-lockdep kernels.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f83ef8c0b58dac17211a4c0b6df0e2b1bd6637b1",
      "tree": "61661a587df97cb2a9f73b5d0d1cf30f09644051",
      "parents": [
        "bcd76111178ebccedd46a9b3eaff65c78e5a70af"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 30 13:37:03 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 30 14:12:10 2006 -0700"
      },
      "message": "[IPV6]: Added GSO support for TCPv6\n\nThis patch adds GSO support for IPv6 and TCPv6.  This is based on a patch\nby Ananda Raju \u003cAnanda.Raju@neterion.com\u003e.  His original description is:\n\n\tThis patch enables TSO over IPv6. Currently Linux network stacks\n\trestricts TSO over IPv6 by clearing of the NETIF_F_TSO bit from\n\t\"dev-\u003efeatures\". This patch will remove this restriction.\n\n\tThis patch will introduce a new flag NETIF_F_TSO6 which will be used\n\tto check whether device supports TSO over IPv6. If device support TSO\n\tover IPv6 then we don\u0027t clear of NETIF_F_TSO and which will make the\n\tTCP layer to create TSO packets. Any device supporting TSO over IPv6\n\twill set NETIF_F_TSO6 flag in \"dev-\u003efeatures\" along with NETIF_F_TSO.\n\n\tIn case when user disables TSO using ethtool, NETIF_F_TSO will get\n\tcleared from \"dev-\u003efeatures\". So even if we have NETIF_F_TSO6 we don\u0027t\n\tget TSO packets created by TCP layer.\n\n\tSKB_GSO_TCPV4 renamed to SKB_GSO_TCP to make it generic GSO packet.\n\tSKB_GSO_UDPV4 renamed to SKB_GSO_UDP as UFO is not a IPv4 feature.\n\tUFO is supported over IPv6 also\n\n\tThe following table shows there is significant improvement in\n\tthroughput with normal frames and CPU usage for both normal and jumbo.\n\n\t--------------------------------------------------\n\t|          |     1500        |      9600         |\n\t|          ------------------|-------------------|\n\t|          | thru     CPU    |  thru     CPU     |\n\t--------------------------------------------------\n\t| TSO OFF  | 2.00   5.5% id  |  5.66   20.0% id  |\n\t--------------------------------------------------\n\t| TSO ON   | 2.63   78.0 id  |  5.67   39.0% id  |\n\t--------------------------------------------------\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5bba17127e7c78e819560519449db237e1b0f99b",
      "tree": "e2a0700004fd8a0ae56cfbe54ed952c73bfef3bf",
      "parents": [
        "c22751b73a3770b3046102bb97b139218ff1875b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 29 13:02:35 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:58:30 2006 -0700"
      },
      "message": "[NET]: make skb_release_data() static\n\nskb_release_data() no longer has any users in other files.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b0da8537037f337103348f239ad901477e907aa8",
      "tree": "498a5dceb0d536fa54dcf4acc26ae1d1b43dfaf1",
      "parents": [
        "877ce7c1b3afd69a9b1caeb1b9964c992641f52a"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mchan@broadcom.com",
        "time": "Thu Jun 29 12:30:00 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:58:08 2006 -0700"
      },
      "message": "[NET]: Add ECN support for TSO\n\nIn the current TSO implementation, NETIF_F_TSO and ECN cannot be\nturned on together in a TCP connection.  The problem is that most\nhardware that supports TSO does not handle CWR correctly if it is set\nin the TSO packet.  Correct handling requires CWR to be set in the\nfirst packet only if it is set in the TSO header.\n\nThis patch adds the ability to turn on NETIF_F_TSO and ECN using\nGSO if necessary to handle TSO packets with CWR set.  Hardware\nthat handles CWR correctly can turn on NETIF_F_TSO_ECN in the dev-\u003e\nfeatures flag.\n\nAll TSO packets with CWR set will have the SKB_GSO_TCPV4_ECN set.  If\nthe output device does not have the NETIF_F_TSO_ECN feature set, GSO\nwill split the packet up correctly with CWR only set in the first\nsegment.\n\nWith help from Herbert Xu \u003cherbert@gondor.apana.org.au\u003e.\n\nSince ECN can always be enabled with TSO, the SOCK_NO_LARGESEND sock\nflag is completely removed.\n\nSigned-off-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "576a30eb6453439b3c37ba24455ac7090c247b5a",
      "tree": "e0c427a61e3de5c93e797c09903d910f6f060e64",
      "parents": [
        "68c1692e3ea5d79f24cb5cc566c4a73939d13d25"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 27 13:22:38 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Jun 29 16:57:53 2006 -0700"
      },
      "message": "[NET]: Added GSO header verification\n\nWhen GSO packets come from an untrusted source (e.g., a Xen guest domain),\nwe need to verify the header integrity before passing it to the hardware.\n\nSince the first step in GSO is to verify the header, we can reuse that\ncode by adding a new bit to gso_type: SKB_GSO_DODGY.  Packets with this\nbit set can only be fed directly to devices with the corresponding bit\nNETIF_F_GSO_ROBUST.  If the device doesn\u0027t have that bit, then the skb\nis fed to the GSO engine which will allow the packet to be sent to the\nhardware if it passes the header check.\n\nThis patch changes the sg flag to a full features flag.  The same method\ncan be used to implement TSO ECN support.  We simply have to mark packets\nwith CWR set with SKB_GSO_ECN so that only hardware with a corresponding\nNETIF_F_TSO_ECN can accept them.  The GSO engine can either fully segment\nthe packet, or segment the first MTU and pass the rest to the hardware for\nfurther segmentation.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4b8ea7849544114e9d3d682df4d400180854677",
      "tree": "502e33a7c2edaf9ffe899da39d0e7036128ccc12",
      "parents": [
        "c8a553ad7f0bf943047943a758cf07017819cb3c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Thu Jun 22 16:00:11 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:42 2006 -0700"
      },
      "message": "[NET]: fix net-core kernel-doc\n\nWarning(/var/linsrc/linux-2617-g4//include/linux/skbuff.h:304): No description found for parameter \u0027dma_cookie\u0027\nWarning(/var/linsrc/linux-2617-g4//include/net/sock.h:1274): No description found for parameter \u0027copied_early\u0027\nWarning(/var/linsrc/linux-2617-g4//net/core/dev.c:3309): No description found for parameter \u0027chan\u0027\nWarning(/var/linsrc/linux-2617-g4//net/core/dev.c:3309): No description found for parameter \u0027event\u0027\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f4c50d990dcf11a296679dc05de3873783236711",
      "tree": "f4daf1c80fe591d45631e998b0b5d31d6fe76d85",
      "parents": [
        "f6a78bfcb141f963187464bac838d46a81c3882a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 03:02:40 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:33 2006 -0700"
      },
      "message": "[NET]: Add software TSOv4\n\nThis patch adds the GSO implementation for IPv4 TCP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7967168cefdbc63bf332d6b1548eca7cd65ebbcc",
      "tree": "c45759149ae0acdc89d746e556a0ae278d11776d",
      "parents": [
        "d4828d85d188dc70ed172802e798d3978bb6e29e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jun 22 02:40:14 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Jun 23 02:07:29 2006 -0700"
      },
      "message": "[NET]: Merge TSO/UFO fields in sk_buff\n\nHaving separate fields in sk_buff for TSO/UFO (tso_size/ufo_size) is not\ngoing to scale if we add any more segmentation methods (e.g., DCCP).  So\nlet\u0027s merge them.\n\nThey were used to tell the protocol of a packet.  This function has been\nsubsumed by the new gso_type field.  This is essentially a set of netdev\nfeature bits (shifted by 16 bits) that are required to process a specific\nskb.  As such it\u0027s easy to tell whether a given device can process a GSO\nskb: you just have to and the gso_type field and the netdev\u0027s features\nfield.\n\nI\u0027ve made gso_type a conjunction.  The idea is that you have a base type\n(e.g., SKB_GSO_TCPV4) that can be modified further to support new features.\nFor example, if we add a hardware TSO type that supports ECN, they would\ndeclare NETIF_F_TSO | NETIF_F_TSO_ECN.  All TSO packets with CWR set would\nhave a gso_type of SKB_GSO_TCPV4 | SKB_GSO_TCPV4_ECN while all other TSO\npackets would be SKB_GSO_TCPV4.  This means that only the CWR packets need\nto be emulated in software.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b057c6b1a25d57edf2b4d1e956e50936480a9ff",
      "tree": "e641febd6f562e0ed1198c160ff353ab513f0612",
      "parents": [
        "5fa21d821f6972e70942f2c555ec29dde962bdb2"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 23 02:06:41 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 23 02:06:41 2006 -0700"
      },
      "message": "[NET]: Avoid allocating skb in skb_pad\n\nFirst of all it is unnecessary to allocate a new skb in skb_pad since\nthe existing one is not shared.  More importantly, our hard_start_xmit\ninterface does not allow a new skb to be allocated since that breaks\nrequeueing.\n\nThis patch uses pskb_expand_head to expand the existing skb and linearize\nit if needed.  Actually, someone should sift through every instance of\nskb_pad on a non-linear skb as they do not fit the reasons why this was\noriginally created.\n\nIncidentally, this fixes a minor bug when the skb is cloned (tcpdump,\nTCP, etc.).  As it is skb_pad will simply write over a cloned skb.  Because\nof the position of the write it is unlikely to cause problems but still\nit\u0027s best if we don\u0027t do it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cee4cca740d209bcb4b9857baa2253d5ba4e3fbe",
      "tree": "88a23004393ea4a32cad79839479c8e653e401d6",
      "parents": [
        "2edc322d420a4cec8dbc184a1220ecd7fa9f8ae6",
        "9348f0de2d2b541b4ba64fb1f4efee9710a3d731"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jun 20 15:10:08 2006 -0700"
      },
      "message": "Merge git://git.infradead.org/hdrcleanup-2.6\n\n* git://git.infradead.org/hdrcleanup-2.6: (63 commits)\n  [S390] __FD_foo definitions.\n  Switch to __s32 types in joystick.h instead of C99 types for consistency.\n  Add \u003csys/types.h\u003e to headers included for userspace in \u003clinux/input.h\u003e\n  Move inclusion of \u003clinux/compat.h\u003e out of user scope in asm-x86_64/mtrr.h\n  Remove struct fddi_statistics from user view in \u003clinux/if_fddi.h\u003e\n  Move user-visible parts of drivers/s390/crypto/z90crypt.h to include/asm-s390\n  Revert include/media changes: Mauro says those ioctls are only used in-kernel(!)\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/cramfs_fs.h\u003e\n  Use __uXX types in \u003clinux/i2o_dev.h\u003e, include \u003clinux/ioctl.h\u003e too\n  Remove private struct dx_hash_info from public view in \u003clinux/ext3_fs.h\u003e\n  Include \u003clinux/types.h\u003e and use __uXX types in \u003clinux/affs_hardblocks.h\u003e\n  Use __uXX types in \u003clinux/divert.h\u003e for struct divert_blk et al.\n  Use __u32 for elf_addr_t in \u003casm-powerpc/elf.h\u003e, not u32. It\u0027s user-visible.\n  Remove PPP_FCS from user view in \u003clinux/ppp_defs.h\u003e, remove __P mess entirely\n  Use __uXX types in user-visible structures in \u003clinux/nbd.h\u003e\n  Don\u0027t use \u0027u32\u0027 in user-visible struct ip_conntrack_old_tuple.\n  Use __uXX types for S390 DASD volume label definitions which are user-visible\n  S390 BIODASDREADCMB ioctl should use __u64 not u64 type.\n  Remove unneeded inclusion of \u003clinux/time.h\u003e from \u003clinux/ufs_fs.h\u003e\n  Fix private integer types used in V4L2 ioctls.\n  ...\n\nManually resolve conflict in include/linux/mtd/physmap.h\n"
    },
    {
      "commit": "3cc0e873986fe594d0e96d07259b11f755325cb2",
      "tree": "5d3e9a57333a2d7088a6a63c09bc97db98f480af",
      "parents": [
        "b38dfee3d616ffadb58d4215e3ff9d1d7921031e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 09 16:13:38 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:30:22 2006 -0700"
      },
      "message": "[NET]: Warn in __skb_trim if skb is paged\n\nIt\u0027s better to warn and fail rather than rarely triggering BUG on paths\nthat incorrectly call skb_trim/__skb_trim on a non-linear skb.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "364c6badde0dd62a0a38e5ed67f85d87d6665780",
      "tree": "56c8ad3e3f45fafec010da4f5858825db5dbc86c",
      "parents": [
        "932ff279a43ab7257942cddff2595acd541cc49b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jun 09 16:10:40 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:30:16 2006 -0700"
      },
      "message": "[NET]: Clean up skb_linearize\n\nThe linearisation operation doesn\u0027t need to be super-optimised.  So we can\nreplace __skb_linearize with __pskb_pull_tail which does the same thing but\nis more general.\n\nAlso, most users of skb_linearize end up testing whether the skb is linear\nor not so it helps to make skb_linearize do just that.\n\nSome callers of skb_linearize also use it to copy cloned data, so it\u0027s\nuseful to have a new function skb_linearize_cow to copy the data if it\u0027s\neither non-linear or cloned.\n\nLast but not least, I\u0027ve removed the gfp argument since nobody uses it\nanymore.  If it\u0027s ever needed we can easily add it back.\n\nMisc bugs fixed by this patch:\n\n* via-velocity error handling (also, no SG \u003d\u003e no frags)\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "984bc16cc92ea3c247bf34ad667cfb95331b9d3c",
      "tree": "2342638457f43980501179056f4ba1e4e3c2c1aa",
      "parents": [
        "c749b29fae74ed59c507d84025b3298202b42609"
      ],
      "author": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Jun 09 00:29:17 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:29:57 2006 -0700"
      },
      "message": "[SECMARK]: Add secmark support to core networking.\n\nAdd a secmark field to the skbuff structure, to allow security subsystems to\nplace security markings on network packets.  This is similar to the nfmark\nfield, except is intended for implementing security policy, rather than than\nnetworking policy.\n\nThis patch was already acked in principle by Dave Miller.\n\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "97fc2f0848c928c63c2ae619deee61a0b1107b69",
      "tree": "651f5ec78128605736d6c777a13697d5e58a1b62",
      "parents": [
        "de5506e155276d385712c2aa1c2d9a27cd4ed947"
      ],
      "author": {
        "name": "Chris Leech",
        "email": "christopher.leech@intel.com",
        "time": "Tue May 23 17:55:33 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:25:48 2006 -0700"
      },
      "message": "[I/OAT]: Structure changes for TCP recv offload to I/OAT\n\nAdds an async_wait_queue and some additional fields to tcp_sock, and a\ndma_cookie_t to sk_buff.\n\nSigned-off-by: Chris Leech \u003cchristopher.leech@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "dc6de33674608f978ec29f5c2f7e3af458c06f78",
      "tree": "1b314717cdb27cf75478c13f85249f85f6997f48",
      "parents": [
        "b60b49ea6a3e1f8dcaf4148dad0daab61ab766d2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 20 00:10:50 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Apr 20 00:10:50 2006 -0700"
      },
      "message": "[NET]: Add skb-\u003etruesize assertion checking.\n\nAdd some sanity checking.  truesize should be at least sizeof(struct\nsk_buff) plus the current packet length.  If not, then truesize is\nseriously mangled and deserves a kernel log message.\n\nCurrently we\u0027ll do the check for release of stream socket buffers.\n\nBut we can add checks to more spots over time.\n\nIncorporating ideas from Herbert Xu.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "025be81e83043f20538dcced1e12c5f8d152fbdb",
      "tree": "b5789ee2931739c7066f5369ce699ef4f3fa758e",
      "parents": [
        "0803dbed7a23721d091639c9e173c0389dcd524a"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 31 02:27:06 2006 -0800"
      },
      "message": "[NET]: Allow skb headroom to be overridden\n\nPreviously we added NET_IP_ALIGN so an architecture can override the\npadding done to align headers. The next step is to allow the skb\nheadroom to be overridden.\n\nWe currently always reserve 16 bytes to grow into, meaning all DMAs\nstart 16 bytes into a cacheline. On ppc64 we really want DMA writes to\nstart on a cacheline boundary, so we increase that headroom to one\ncacheline.\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbb042f9e1292434e3cacb90e67d8d381aeac5a9",
      "tree": "cc42f42232e56b68111cfebdc175197d8607bdd7",
      "parents": [
        "ecba320f2e95c9a0c35011d1ecb1db4419980536"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 20 22:43:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:43:56 2006 -0800"
      },
      "message": "[NET]: Replace skb_pull/skb_postpull_rcsum with skb_pull_rcsum\n\nWe\u0027re now starting to have quite a number of places that do skb_pull\nfollowed immediately by an skb_postpull_rcsum.  We can merge these two\noperations into one function with skb_pull_rcsum.  This makes sense\nsince most pull operations on receive skb\u0027s need to update the\nchecksum.\n\nI\u0027ve decided to make this out-of-line since it is fairly big and the\nfast path where hardware checksums are enabled need to call\ncsum_partial anyway.\n\nSince this is a brand new function we get to add an extra check on the\nlen argument.  As it is most callers of skb_pull ignore its return\nvalue which essentially means that there is no check on the len\nargument.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "231d06ae826664b83369166449144304859a62fa",
      "tree": "1c761b91405573f4e787454b454ead8354c3ba23",
      "parents": [
        "2e1f47c74c26a591fc490eb339f1b3167361158b"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Mon Mar 20 21:28:35 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 21:28:35 2006 -0800"
      },
      "message": "[NET]: Uninline kfree_skb and allow NULL argument\n\no Uninline kfree_skb, which saves some 15k of object code on my notebook.\n\no Allow kfree_skb to be called with a NULL argument.\n\n  Subsequent patches can remove conditional from drivers and further\n  reduce source and object size.\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a193a4abdd1f742a57f3f70b6a83c3e536876e97",
      "tree": "1b77f9f388ae153815248e8ef30b0297943c7016",
      "parents": [
        "6ffd30fbbb1b4a01a9f56049521693375a864d3e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Mar 20 19:23:05 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:23:05 2006 -0800"
      },
      "message": "[NETFILTER]: Fix skb-\u003enf_bridge lifetime issues\n\nThe bridge netfilter code simulates the NF_IP_PRE_ROUTING hook and skips\nthe real hook by registering with high priority and returning NF_STOP if\nskb-\u003enf_bridge is present and the BRNF_NF_BRIDGE_PREROUTING flag is not\nset. The flag is only set during the simulated hook.\n\nBecause skb-\u003enf_bridge is only freed when the packet is destroyed, the\npacket will not only skip the first invocation of NF_IP_PRE_ROUTING, but\nin the case of tunnel devices on top of the bridge also all further ones.\nForwarded packets from a bridge encapsulated by a tunnel device and sent\nas locally outgoing packet will also still have the incorrect bridge\ninformation from the input path attached.\n\nWe already have nf_reset calls on all RX/TX paths of tunnel devices,\nso simply reset the nf_bridge field there too. As an added bonus,\nthe bridge information for locally delivered packets is now also freed\nwhen the packet is queued to a socket.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77d2ca350018c507815f5d38a40ffb597eb9ae25",
      "tree": "b4c9ec7f0cc4accc2f9361d36d9a318fb1d9da50",
      "parents": [
        "ddd7bf9fe4e59afc0a041378f82b6e1aa88f714b"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Mar 20 17:12:12 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:12:12 2006 -0800"
      },
      "message": "[NET]: Reduce size of struct sk_buff on 64 bit architectures\n\nMove skb-\u003enf_mark next to skb-\u003etc_index to remove a 4 byte hole between\nskb-\u003enfmark and skb-\u003enfct and another one between skb-\u003eusers and skb-\u003ehead\nwhen CONFIG_NETFILTER, CONFIG_NET_SCHED and CONFIG_NET_CLS_ACT are enabled.\nFor all other combinations the size stays the same.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8243126c5e29030bf1a3fb75187a513966dcba62",
      "tree": "39750d44770efcdac150f041f71b7272c8da20f9",
      "parents": [
        "f09484ff87f677056ce631aa3d8e486861501b51"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 17 02:54:21 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 17 02:54:21 2006 -0800"
      },
      "message": "[NET]: Make second arg to skb_reserved() signed.\n\nSome subsystems, such as PPP, can send negative values\nhere.  It just happened to work correctly on 32-bit with\nan unsigned value, but on 64-bit this explodes.\n\nFigured out by Paul Mackerras based upon several PPP crash\nreports.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3e3850e989c5d2eb1aab6f0fd9257759f0f4cbc6",
      "tree": "fa05d1de4767bc30e77442ffbacfe8bd8dd2213d",
      "parents": [
        "8cdfab8a43bb4b3da686ea503a702cb6f9f6a803"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Jan 06 23:04:54 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jan 07 12:57:33 2006 -0800"
      },
      "message": "[NETFILTER]: Fix xfrm lookup in ip_route_me_harder/ip6_route_me_harder\n\nip_route_me_harder doesn\u0027t use the port numbers of the xfrm lookup and\nuses ip_route_input for non-local addresses which doesn\u0027t do a xfrm\nlookup, ip6_route_me_harder doesn\u0027t do a xfrm lookup at all.\n\nUse xfrm_decode_session and do the lookup manually, make sure both\nonly do the lookup if the packet hasn\u0027t been transformed already.\n\nMakeing sure the lookup only happens once needs a new field in the\nIP6CB, which exceeds the size of skb-\u003ecb. The size of skb-\u003ecb is\nincreased to 48b. Apparently the IPv6 mobile extensions need some\nmore room anyway.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4947d3ef8de7b4f42aed6ea9ba689dc8fb45b5a5",
      "tree": "a4e77f0271702e4ff34a7a9e0c9598a3807204ee",
      "parents": [
        "17ba15fb6264f27374bc87f4c3f8519b80289d85"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Jan 03 14:06:50 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 03 14:06:50 2006 -0800"
      },
      "message": "[NET]: Speed up __alloc_skb()\n\nFrom: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\n\nIn __alloc_skb(), the use of skb_shinfo() which casts a u8 * to the \nshared info structure results in gcc being forced to do a reload of the \npointer since it has no information on possible aliasing.  Fix this by \nusing a pointer to refer to skb_shared_info.\n\nBy initializing skb_shared_info sequentially, the write combining buffers \ncan reduce the number of memory transactions to a single write.  Reorder \nthe initialization in __alloc_skb() to match the structure definition.  \nThere is also an alignment issue on 64 bit systems with skb_shared_info \nby converting nr_frags to a short everything packs up nicely.\n\nAlso, pass the slab cache pointer according to the fclone flag instead \nof using two almost identical function calls.\n\nThis raises bw_unix performance up to a peak of 707KB/s when combined \nwith the spinlock patch.  It should help other networking protocols, too.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "77d76ea310b50a9c8ff15bd290fcb4ed4961adf2",
      "tree": "7d6e8b2426d4b3debe5ddf838ab2a2ef13f1b106",
      "parents": [
        "7708610b1bff4a0ba8a73733d3c7c4bda9f94b21"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "ak@suse.de",
        "time": "Thu Dec 22 12:43:42 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:14 2006 -0800"
      },
      "message": "[NET]: Small cleanup to socket initialization\n\nsock_init can be done as a core_initcall instead of calling\nit directly in init/main.c\n\nAlso I removed an out of date #ifdef.\n\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3305b80c214c642b89cd5c21af83bc91ec13f8bd",
      "tree": "909ed75c500d0ac422738781f84a819c933703c5",
      "parents": [
        "57cca05af1e20fdc65b55be52c042c234f86c866"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Dec 13 23:16:37 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:41 2006 -0800"
      },
      "message": "[IP]: Simplify and consolidate MSG_PEEK error handling\n\nWhen a packet is obtained from skb_recv_datagram with MSG_PEEK enabled\nit is left on the socket receive queue.  This means that when we detect\na checksum error we have to be careful when trying to free the packet\nas someone could have dequeued it in the time being.\n\nCurrently this delicate logic is duplicated three times between UDPv4,\nUDPv6 and RAWv6.  This patch moves them into a one place and simplifies\nthe code somewhat.\n\nThis is based on a suggestion by Eric Dumazet.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "461ddf3b90bb149b99c3f675959c1bd6b11ed936",
      "tree": "12c7848560128e4344387eecdfc401369d46bb1c",
      "parents": [
        "b84f4cc977ec4a1260dc8d9165efc9319a93c2a2"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Sun Nov 20 21:25:15 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 20 21:25:15 2005 -0800"
      },
      "message": "[NET]: kernel-doc fixes\n\nFix kernel-doc warnings in network files.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b84f4cc977ec4a1260dc8d9165efc9319a93c2a2",
      "tree": "03e60bfcc51dfcb288fb2efe62e9ec805704c3d0",
      "parents": [
        "a516b04950f62d36b33db00c0d3c69d09dae99a9"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Nov 20 21:19:21 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 20 21:19:21 2005 -0800"
      },
      "message": "[NET]: Use unused bit for ipvs_property field in struct sk_buff\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fb286bb2990a107009dbf25f6ffebeb7df77f9be",
      "tree": "0eede2c37f1b3831e59601933eebf6b82be75ffc",
      "parents": [
        "1064e944d03eb7a72c0fa11236d5e69cfd877a71"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 10 13:01:24 2005 -0800"
      },
      "message": "[NET]: Detect hardware rx checksum faults correctly\n\nHere is the patch that introduces the generic skb_checksum_complete\nwhich also checks for hardware RX checksum faults.  If that happens,\nit\u0027ll call netdev_rx_csum_fault which currently prints out a stack\ntrace with the device name.  In future it can turn off RX checksum.\n\nI\u0027ve converted every spot under net/ that does RX checksum checks to\nuse skb_checksum_complete or __skb_checksum_complete with the\nexceptions of:\n\n* Those places where checksums are done bit by bit.  These will call\nnetdev_rx_csum_fault directly.\n\n* The following have not been completely checked/converted:\n\nipmr\nip_vs\nnetfilter\ndccp\n\nThis patch is based on patches and suggestions from Stephen Hemminger\nand David S. Miller.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9fb9cbb1082d6b31fb45aa1a14432449a0df6cf1",
      "tree": "c964a62bdd766eca436c30f51a9e33e2b798b0a6",
      "parents": [
        "6730c3c14421b7c924d06e31bb66e0adad225547"
      ],
      "author": {
        "name": "Yasuyuki Kozakai",
        "email": "yasuyuki.kozakai@toshiba.co.jp",
        "time": "Wed Nov 09 16:38:16 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 09 16:38:16 2005 -0800"
      },
      "message": "[NETFILTER]: Add nf_conntrack subsystem.\n\nThe existing connection tracking subsystem in netfilter can only\nhandle ipv4.  There were basically two choices present to add\nconnection tracking support for ipv6.  We could either duplicate all\nof the ipv4 connection tracking code into an ipv6 counterpart, or (the\nchoice taken by these patches) we could design a generic layer that\ncould handle both ipv4 and ipv6 and thus requiring only one sub-protocol\n(TCP, UDP, etc.) connection tracking helper module to be written.\n\nIn fact nf_conntrack is capable of working with any layer 3\nprotocol.\n\nThe existing ipv4 specific conntrack code could also not deal\nwith the pecularities of doing connection tracking on ipv6,\nwhich is also cured here.  For example, these issues include:\n\n1) ICMPv6 handling, which is used for neighbour discovery in\n   ipv6 thus some messages such as these should not participate\n   in connection tracking since effectively they are like ARP\n   messages\n\n2) fragmentation must be handled differently in ipv6, because\n   the simplistic \"defrag, connection track and NAT, refrag\"\n   (which the existing ipv4 connection tracking does) approach simply\n   isn\u0027t feasible in ipv6\n\n3) ipv6 extension header parsing must occur at the correct spots\n   before and after connection tracking decisions, and there were\n   no provisions for this in the existing connection tracking\n   design\n\n4) ipv6 has no need for stateful NAT\n\nThe ipv4 specific conntrack layer is kept around, until all of\nthe ipv4 specific conntrack helpers are ported over to nf_conntrack\nand it is feature complete.  Once that occurs, the old conntrack\nstuff will get placed into the feature-removal-schedule and we will\nfully kill it off 6 months later.\n\nSigned-off-by: Yasuyuki Kozakai \u003cyasuyuki.kozakai@toshiba.co.jp\u003e\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "300ce174ebc2fcf2b5111a50fa42f79d891927dd",
      "tree": "ea7ac40eac2de90be9e5575759bab18029ae2fdf",
      "parents": [
        "07aaa11540828f4482c09e1a936a1f63cdb9fc9d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Sun Oct 30 13:47:34 2005 -0800"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Nov 05 20:56:41 2005 -0200"
      },
      "message": "[NETEM]: Support time based reordering\n\nChange netem to support packets getting reordered because of variations in\ndelay. Introduce a special case version of FIFO that queues packets in order\nbased on the netem delay.\n\nSince netem is classful, those users that don\u0027t want jitter based reordering\ncan just insert a pfifo instead of the default.\n\nThis required changes to generic skbuff code to allow finer grain manipulation\nof sk_buff_head.  Insertion into the middle and reverse walk.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "e89e9cf539a28df7d0eb1d0a545368e9920b34ac",
      "tree": "aae6a825f351ce931fcd30f1a865ebe65227c4b8",
      "parents": [
        "de5144164f6242ccfa8c9b64eec570564f5eaf14"
      ],
      "author": {
        "name": "Ananda Raju",
        "email": "ananda.raju@neterion.com",
        "time": "Tue Oct 18 15:46:41 2005 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Oct 28 16:30:00 2005 -0200"
      },
      "message": "[IPv4/IPv6]: UFO Scatter-gather approach\n\nAttached is kernel patch for UDP Fragmentation Offload (UFO) feature.\n\n1. This patch incorporate the review comments by Jeff Garzik.\n2. Renamed USO as UFO (UDP Fragmentation Offload)\n3. udp sendfile support with UFO\n\nThis patches uses scatter-gather feature of skb to generate large UDP\ndatagram. Below is a \"how-to\" on changes required in network device\ndriver to use the UFO interface.\n\nUDP Fragmentation Offload (UFO) Interface:\n-------------------------------------------\nUFO is a feature wherein the Linux kernel network stack will offload the\nIP fragmentation functionality of large UDP datagram to hardware. This\nwill reduce the overhead of stack in fragmenting the large UDP datagram to\nMTU sized packets\n\n1) Drivers indicate their capability of UFO using\ndev-\u003efeatures |\u003d NETIF_F_UFO | NETIF_F_HW_CSUM | NETIF_F_SG\n\nNETIF_F_HW_CSUM is required for UFO over ipv6.\n\n2) UFO packet will be submitted for transmission using driver xmit routine.\nUFO packet will have a non-zero value for\n\n\"skb_shinfo(skb)-\u003eufo_size\"\n\nskb_shinfo(skb)-\u003eufo_size will indicate the length of data part in each IP\nfragment going out of the adapter after IP fragmentation by hardware.\n\nskb-\u003edata will contain MAC/IP/UDP header and skb_shinfo(skb)-\u003efrags[]\ncontains the data payload. The skb-\u003eip_summed will be set to CHECKSUM_HW\nindicating that hardware has to do checksum calculation. Hardware should\ncompute the UDP checksum of complete datagram and also ip header checksum of\neach fragmented IP packet.\n\nFor IPV6 the UFO provides the fragment identification-id in\nskb_shinfo(skb)-\u003eip6_frag_id. The adapter should use this ID for generating\nIPv6 fragments.\n\nSigned-off-by: Ananda Raju \u003cananda.raju@neterion.com\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e (forwarded)\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "c83c24861882758b9731e8550225cd1e52a4cd1c",
      "tree": "a6161031466786ec726532a822fdb63104613b5f",
      "parents": [
        "0d0d2bba97cb091218ea0bcb3d8debcc7bf48397"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Tue Oct 18 22:07:41 2005 -0700"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Wed Oct 26 01:10:18 2005 -0200"
      },
      "message": "[SK_BUFF] kernel-doc: fix skbuff warnings\n\nAdd kernel-doc to skbuff.h, skbuff.c to eliminate kernel-doc warnings.\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "dd0fc66fb33cd610bc1a5db8a5e232d34879b4d7",
      "tree": "51f96a9db96293b352e358f66032e1f4ff79fafb",
      "parents": [
        "3b0e77bd144203a507eb191f7117d2c5004ea1de"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Fri Oct 07 07:46:04 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Oct 08 15:00:57 2005 -0700"
      },
      "message": "[PATCH] gfp flags annotations - part 1\n\n - added typedef unsigned int __nocast gfp_t;\n\n - replaced __nocast uses for gfp flags with gfp_t - it gives exactly\n   the same warnings as far as sparse is concerned, doesn\u0027t change\n   generated code (from gcc point of view we replaced unsigned int with\n   typedef) and documents what\u0027s going on far better.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "325ed8239309cb29f10ea58c5a668058ead11479",
      "tree": "77386825b72ac44f4f42a942ef78bd1ff924b351",
      "parents": [
        "ddea7be0ec8d1374f0b483a81566ed56ec9f3905"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 03 13:57:23 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 03 13:57:23 2005 -0700"
      },
      "message": "[NET]: Fix packet timestamping.\n\nI\u0027ve found the problem in general.  It affects any 64-bit\narchitecture.  The problem occurs when you change the system time.\n\nSuppose that when you boot your system clock is forward by a day.\nThis gets recorded down in skb_tv_base.  You then wind the clock back\nby a day.  From that point onwards the offset will be negative which\nessentially overflows the 32-bit variables they\u0027re stored in.\n\nIn fact, why don\u0027t we just store the real time stamp in those 32-bit\nvariables? After all, we\u0027re not going to overflow for quite a while\nyet.\n\nWhen we do overflow, we\u0027ll need a better solution of course.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e4e4220f10bf8f58a8606f0cb28538088c64b1a",
      "tree": "5700dfd0ceab3b435a7fc91cc25e56bb911ce2a9",
      "parents": [
        "1b11d78cf87a7014f96e5b7fa2e1233cc8081a00"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Thu Sep 08 12:32:03 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 08 12:32:03 2005 -0700"
      },
      "message": "[NET]: Optimize pskb_trim_rcsum()\n\nSince packets almost never contain extra garbage at the end, it is\nworthwhile to optimize for that case.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "f2c383988d68c91a7d474b7cf26c0a2df49bbafe",
      "tree": "77981ee635498d88417ccb7742214cbbd3b1a466",
      "parents": [
        "513c25000005257e5474f261bf27d4a3c1dff1e3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Sep 06 15:48:03 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 06 15:48:03 2005 -0700"
      },
      "message": "[NET]: skb_get/set_timestamp use const\n\nThe new timestamp get/set routines should have const attribute\non parameters (helps to indicate direction).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d179cd12928443f3ec29cfbc3567439644bd0afc",
      "tree": "0bfc57e73f0bf9f7bb9d5c8ce7d3d5afe550f94e",
      "parents": [
        "e92ae93a8aa66aea12935420cb22d4df1c18d023"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 14:57:30 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:54 2005 -0700"
      },
      "message": "[NET]: Implement SKB fast cloning.\n\nProtocols that make extensive use of SKB cloning,\nfor example TCP, eat at least 2 allocations per\npacket sent as a result.\n\nTo cut the kmalloc() count in half, we implement\na pre-allocation scheme wherein we allocate\n2 sk_buff objects in advance, then use a simple\nreference count to free up the memory at the\ncorrect time.\n\nBased upon an initial patch by Thomas Graf and\nsuggestions from Herbert Xu.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "20380731bc2897f2952ae055420972ded4cd786e",
      "tree": "abd31e5ebfadcf4f9024634eec8b11855029e512",
      "parents": [
        "9deff7f2365958c5c5aa8cb5a0dd651c4dd83f8f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 16 02:18:02 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:01:32 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nOf this type, mostly:\n\nCHECK   net/ipv6/netfilter.c\nnet/ipv6/netfilter.c:96:12: warning: symbol \u0027ipv6_netfilter_init\u0027 was not declared. Should it be static?\nnet/ipv6/netfilter.c:101:6: warning: symbol \u0027ipv6_netfilter_fini\u0027 was not declared. Should it be static?\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a61bbcf28a8cb0ba56f8193d512f7222e711a294",
      "tree": "33ae1976ab3b08aac516debb2742d2c6696d5436",
      "parents": [
        "25ed891019b84498c83903ecf53df7ce35e9cff6"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Aug 14 17:24:31 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:58:24 2005 -0700"
      },
      "message": "[NET]: Store skb-\u003etimestamp as offset to a base timestamp\n\nReduces skb size by 8 bytes on 64-bit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2ccd8fa06c8e302116e71df372f5c1f83432e03",
      "tree": "6e933f4bdc8899009edb33642b908779f123fb4a",
      "parents": [
        "b6b99eb5409d75ae35390057cd28f3aedfbd4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:34:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:25 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003ereal_dev\n\nBonding just wants the device before the skb_bond()\ndecapsulation occurs, so simply pass that original\ndevice into packet_type-\u003efunc() as an argument.\n\nIt remains to be seen whether we can use this same\nexact thing to get rid of skb-\u003einput_dev as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6b99eb5409d75ae35390057cd28f3aedfbd4cf4",
      "tree": "d9bdbd412bec6474e6845480a806edd74c3a2808",
      "parents": [
        "83e3609eba3818f6e18b8bf9442195169ac306b7"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 19:33:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:20 2005 -0700"
      },
      "message": "[NET]: Reduce tc_index/tc_verd to u16\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f1cf16582160c4839f05007c978743911aa022b",
      "tree": "78c87b929e9c0469869db1c91a6691fe6ca689c6",
      "parents": [
        "b0573dea1fb32ebc72ffa05980fd840df1d80860"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Aug 09 19:31:17 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:42 2005 -0700"
      },
      "message": "[NET]: Remove HIPPI private from skbuff.h\n\nThis removes the private element from skbuff, that is only used by\nHIPPI. Instead it uses skb-\u003ecb[] to hold the additional data that is\nneeded in the output path from hard_header to device driver.\n\nPS: The only qdisc that might potentially corrupt this cb[] is if\nnetem was used over HIPPI. I will take care of that by fixing netem\nto use skb-\u003estamp. I don\u0027t expect many users of netem over HIPPI\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abc3bc58047efa72ee9c2e208cbeb73d261ad703",
      "tree": "05701d5210afd76fded4bd4268a0e7e8c90a06bf",
      "parents": [
        "8728b834b226ffcf2c94a58530090e292af2a7bf"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 19:25:56 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:18 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003etc_classid\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8728b834b226ffcf2c94a58530090e292af2a7bf",
      "tree": "2fd51ff3b7097eb3ffc41ea3a1d8b3ba04715b4c",
      "parents": [
        "6869c4d8e066e21623c812c448a05f1ed931c9c6"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:25:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:14 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003elist\n\nRemove the \"list\" member of struct sk_buff, as it is entirely\nredundant.  All SKB list removal callers know which list the\nSKB is on, so storing this in sk_buff does nothing other than\ntaking up some space.\n\nTwo tricky bits were SCTP, which I took care of, and two ATM\ndrivers which Francois Romieu \u003cromieu@fr.zoreil.com\u003e fixed\nup.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Francois Romieu \u003cromieu@fr.zoreil.com\u003e\n"
    },
    {
      "commit": "6869c4d8e066e21623c812c448a05f1ed931c9c6",
      "tree": "ce18efc459e121e3a0b1bf5f85615567cdb30f68",
      "parents": [
        "bf3a46aa9b96f6eb3a49a568f72a2801c3e830c0"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:24:19 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:31:04 2005 -0700"
      },
      "message": "[NETFILTER]: reduce netfilter sk_buff enlargement\n\nAs discussed at netconf\u002705, we\u0027re trying to save every bit in sk_buff.\nThe patch below makes sk_buff 8 bytes smaller.  I did some basic\ntesting on my notebook and it seems to work.\n\nThe only real in-tree user of nfcache was IPVS, who only needs a\nsingle bit.  Unfortunately I couldn\u0027t find some other free bit in\nsk_buff to stuff that bit into, so I introduced a separate field for\nthem.  Maybe the IPVS guys can resolve that to further save space.\n\nInitially I wanted to shrink pkt_type to three bits (PACKET_HOST and\nalike are only 6 values defined), but unfortunately the bluetooth code\noverloads pkt_type :(\n\nThe conntrack-event-api (out-of-tree) uses nfcache, but Rusty just\ncame up with a way how to do it without any skb fields, so it\u0027s safe\nto remove it.\n\n- remove all never-implemented \u0027nfcache\u0027 code\n- don\u0027t have ipvs code abuse \u0027nfcache\u0027 field. currently get\u0027s their own\n  compile-conditional skb-\u003eipvs_property field.  IPVS maintainers can\n  decide to move this bit elswhere, but nfcache needs to die.\n- remove skb-\u003enfcache field to save 4 bytes\n- move skb-\u003enfctinfo into three unused bits to save further 4 bytes\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bf3a46aa9b96f6eb3a49a568f72a2801c3e830c0",
      "tree": "4387ee7d8ef83348338a9d433c93139a4747dcb5",
      "parents": [
        "8f3d17fb7bcb7c255197d11469fb5e9695c9d2f4"
      ],
      "author": {
        "name": "Harald Welte",
        "email": "laforge@netfilter.org",
        "time": "Tue Aug 09 19:22:01 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:29:31 2005 -0700"
      },
      "message": "[NETFILTER]: convert nfmark and conntrack mark to 32bit\n\nAs discussed at netconf\u002705, we convert nfmark and conntrack-mark to be\n32bits even on 64bit architectures.\n\nSigned-off-by: Harald Welte \u003claforge@netfilter.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a0d3bea3cf6c7c1b53a46432bd490b5dc784ca42",
      "tree": "2c0f1d9e4c94f6b4052ca7f51442a3f5922124e3",
      "parents": [
        "7d69fa6266770eeb6317eddd46b64456e8a515bf"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Aug 11 16:05:50 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 11 16:05:50 2005 -0700"
      },
      "message": "[NET]: Make skb-\u003eprotocol __be16\n\nThere are many instances of\n\n\tskb-\u003eprotocol \u003d htons(ETH_P_*);\n\tskb-\u003eprotocol \u003d __constant_htons(ETH_P_*);\nand\n\tskb-\u003eprotocol \u003d *_type_trans(...);\n\nMost of *_type_trans() are already endian-annotated, so, let\u0027s shift\nattention on other warnings.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2bf521d9728bfae9b6c3d484614e5962d0b5afd",
      "tree": "74a126835dc9e26fbca5080214f3cc1bb4f7c5ea",
      "parents": [
        "37da647d994cdac7e0bc8d2a365fbda403939a2b"
      ],
      "author": {
        "name": "Victor Fusco",
        "email": "victor@cetuc.puc-rio.br",
        "time": "Mon Jul 18 13:36:38 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 18 13:36:38 2005 -0700"
      },
      "message": "[NET]: Fix \"nocast type\" warnings in skbuff.h\n\nFrom: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\n\nFix the sparse warning \"implicit cast to nocast type\"\n\nSigned-off-by: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86a76caf8705e3524e15f343f3c4806939a06dc8",
      "tree": "ac2022a6073b5af228e009178048bdab070d2230",
      "parents": [
        "b03efcfb2180289718991bb984044ce6c5b7d1b0"
      ],
      "author": {
        "name": "Victor Fusco",
        "email": "victor@cetuc.puc-rio.br",
        "time": "Fri Jul 08 14:57:47 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 08 14:57:47 2005 -0700"
      },
      "message": "[NET]: Fix sparse warnings\n\nFrom: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\n\nFix the sparse warning \"implicit cast to nocast type\"\n\nSigned-off-by: Victor Fusco \u003cvictor@cetuc.puc-rio.br\u003e\nSigned-off-by: Domen Puncer \u003cdomen@coderock.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1cbb3380ef683f742876f48e3739b3df4ea9e168",
      "tree": "f1c65a6325068ea7baeec716adea5176cdbe6f20",
      "parents": [
        "e176fe8954a5239c24afe79b1001ba3c29511963"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 05 14:13:41 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:13:41 2005 -0700"
      },
      "message": "[NET]: Reduce size of sk_buff by 4 bytes\n\nReduce local_df to a bit field and ip_summed to a 2 bits\nfield thus saving 13 bits. Move bit fields, packet type,\nand protocol into the spare area between the priority\nand the destructor. Saves 4 bytes on both, 32bit and\n64bit architectures.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e176fe8954a5239c24afe79b1001ba3c29511963",
      "tree": "418038ddda59950ac83decb708f25cd612d0ffe0",
      "parents": [
        "3154e540e374bbfd62693d95bc8ed51da95efe75"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Tue Jul 05 14:12:44 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:12:44 2005 -0700"
      },
      "message": "[NET]: Remove unused security member in sk_buff\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "55820ee2f8c767a2833b21bd365e5753f50bd8ce",
      "tree": "fbf89b8f1365c18c5c2ee0fad15f61f6f3127af8",
      "parents": [
        "17af691cd19765b782d891fc50c1568d0f1276b3"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jul 05 14:08:10 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 05 14:08:10 2005 -0700"
      },
      "message": "[NET]: Fix signedness issues in net/core/filter.c\n\nThis is the code to load packet data into a register:\n\n                        k \u003d fentry-\u003ek;\n                        if (k \u003c 0) {\n...\n                        } else {\n                                u32 _tmp, *p;\n                                p \u003d skb_header_pointer(skb, k, 4, \u0026_tmp);\n                                if (p !\u003d NULL) {\n                                        A \u003d ntohl(*p);\n                                        continue;\n                                }\n                        }\n\nskb_header_pointer checks if the requested data is within the\nlinear area:\n\n        int hlen \u003d skb_headlen(skb);\n\n        if (offset + len \u003c\u003d hlen)\n                return skb-\u003edata + offset;\n\nWhen offset is within [INT_MAX-len+1..INT_MAX] the addition will\nresult in a negative number which is \u003c\u003d hlen.\n\nI couldn\u0027t trigger a crash on my AMD64 with 2GB of memory, but a\ncoworker tried on his x86 machine and it crashed immediately.\n\nThis patch fixes the check in skb_header_pointer to handle large\npositive offsets similar to skb_copy_bits. Invalid data can still\nbe accessed using negative offsets (also similar to skb_copy_bits),\nanyone using negative offsets needs to verify them himself.\n\nThanks to Thomas Vögtle \u003cthomas.voegtle@coreworks.de\u003e for verifying the\nproblem by crashing his machine and providing me with an Oops.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3fc7e8a6d842f72d16d2623b1022814a635ab961",
      "tree": "93f60c9af99b790c1d79bef1d3414fea3d7b9c5c",
      "parents": [
        "677e90eda3bd8cfde0b748daaa46476162a03950"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 21:00:17 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 21:00:17 2005 -0700"
      },
      "message": "[NET]: skb_find_text() - Find a text pattern in skb data\n\nFinds a pattern in the skb data according to the specified\ntextsearch configuration. Use textsearch_next() to retrieve\nsubsequent occurrences of the pattern. Returns the offset\nto the first occurrence or UINT_MAX if no match was found.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "677e90eda3bd8cfde0b748daaa46476162a03950",
      "tree": "4b40614cf9cd125883d0430467be9172997ca184",
      "parents": [
        "6408f79cce401e1bfecf923e7156f84f96e021e3"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 23 20:59:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 23 20:59:51 2005 -0700"
      },
      "message": "[NET]: Zerocopy sequential reading of skb data\n\nImplements sequential reading for both linear and non-linear\nskb data at zerocopy cost. The data is returned in chunks of\narbitary length, therefore random access is not possible.\n\nUsage:\n\tfrom\t :\u003d 0\n\tto\t :\u003d 128\n\tstate\t :\u003d undef\n\tdata\t :\u003d undef\n\tlen\t :\u003d undef\n\tconsumed :\u003d 0\n\n\tskb_prepare_seq_read(skb, from, to, \u0026state)\n\twhile (len \u003d skb_seq_read(consumed, \u0026data, \u0026state)) !\u003d 0 do\n\t\t/* do something with \u0027data\u0027 of length \u0027len\u0027 */\n\t\tif abort then\n\t\t\t/* abort read if we don\u0027t wait for\n\t\t\t * skb_seq_read() to return 0 */\n\t\t\tskb_abort_seq_read(\u0026state)\n\t\t\treturn\n\t\tendif\n\t\t/* not necessary to consume all of \u0027len\u0027 */\n\t\tconsumed +\u003d len\n\tdone\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18b8afc771102b1b6af97962808291a7d27f52af",
      "tree": "4d278a45ab07b5ba81dfa0b737f5174ad9ee7f79",
      "parents": [
        "e45b1be8bcb3643808975a426fa3e201a2588e87"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 21 14:01:57 2005 -0700"
      },
      "message": "[NETFILTER]: Kill nf_debug\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67be2dd1bace0ec7ce2dbc1bba3f8df3d7be597e",
      "tree": "317d114a0288d3b19ef9902f94b536a5a8731dbd",
      "parents": [
        "6013d5445f9a6d0b28090027868f455c5012d1cc"
      ],
      "author": {
        "name": "Martin Waitz",
        "email": "tali@admingilde.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:26 2005 -0700"
      },
      "message": "[PATCH] DocBook: fix some descriptions\n\nSome KernelDoc descriptions are updated to match the current code.\nNo code changes.\n\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4dc3b16ba18c0f967ad100c52fa65b01a4f76ff0",
      "tree": "fa038ad8969980eec6cef5b737872fda9feb4c6a",
      "parents": [
        "333f981720d619e2038b980a55ad01b10580eb9f"
      ],
      "author": {
        "name": "Pavel Pisa",
        "email": "pisa@cmp.felk.cvut.cz",
        "time": "Sun May 01 08:59:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:25 2005 -0700"
      },
      "message": "[PATCH] DocBook: changes and extensions to the kernel documentation\n\nI have recompiled Linux kernel 2.6.11.5 documentation for me and our\nuniversity students again.  The documentation could be extended for more\nsources which are equipped by structured comments for recent 2.6 kernels.  I\nhave tried to proceed with that task.  I have done that more times from 2.6.0\ntime and it gets boring to do same changes again and again.  Linux kernel\ncompiles after changes for i386 and ARM targets.  I have added references to\nsome more files into kernel-api book, I have added some section names as well.\n So please, check that changes do not break something and that categories are\nnot too much skewed.\n\nI have changed kernel-doc to accept \"fastcall\" and \"asmlinkage\" words reserved\nby kernel convention.  Most of the other changes are modifications in the\ncomments to make kernel-doc happy, accept some parameters description and do\nnot bail out on errors.  Changed \u003cpid\u003e to @pid in the description, moved some\n#ifdef before comments to correct function to comments bindings, etc.\n\nYou can see result of the modified documentation build at\n  http://cmp.felk.cvut.cz/~pisa/linux/lkdb-2.6.11.tar.gz\n\nSome more sources are ready to be included into kernel-doc generated\ndocumentation.  Sources has been added into kernel-api for now.  Some more\nsection names added and probably some more chaos introduced as result of quick\ncleanup work.\n\nSigned-off-by: Pavel Pisa \u003cpisa@cmp.felk.cvut.cz\u003e\nSigned-off-by: Martin Waitz \u003ctali@admingilde.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9c2b3328f74800bb370d08bb3a4255d5fe833e94",
      "tree": "9d3092a44b592a091c4818a20bd678d1191f7a88",
      "parents": [
        "98f245e797a01611d6734c7d192240f1361439d3"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@osdl.org",
        "time": "Tue Apr 19 22:39:42 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 19 22:39:42 2005 -0700"
      },
      "message": "[NET]: skbuff: remove old NET_CALLER macro\n\nHere is a revised alternative that uses BUG_ON/WARN_ON\n(as suggested by Herbert Xu) to eliminate NET_CALLER.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@osdl.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": "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"
    }
  ]
}
