)]}'
{
  "log": [
    {
      "commit": "2e42e4747ea72943c21551d8a206b51a9893b1e0",
      "tree": "a92473c485911b51e1d960c9c8fa34dfc9be0a46",
      "parents": [
        "39f1d94d300a58eb3e9b851d077cada4e2fa9d46"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 09 17:17:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:33:01 2012 -0400"
      },
      "message": "drivers/net: Convert compare_ether_addr to ether_addr_equal\n\nUse the new bool function ether_addr_equal to add\nsome clarity and reduce the likelihood for misuse\nof compare_ether_addr for sorting.\n\nDone via cocci script:\n\n$ cat compare_ether_addr.cocci\n@@\nexpression a,b;\n@@\n-\t!compare_ether_addr(a, b)\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tcompare_ether_addr(a, b)\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) \u003d\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!ether_addr_equal(a, b) !\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) \u003d\u003d 0\n+\t!ether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\tether_addr_equal(a, b) !\u003d 0\n+\tether_addr_equal(a, b)\n\n@@\nexpression a,b;\n@@\n-\t!!ether_addr_equal(a, b)\n+\tether_addr_equal(a, b)\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4da0bd736552e6377b407b3c3d3ae518ebbdd269",
      "tree": "f0da9f843b8033565c3ca4103fccb17a60688326",
      "parents": [
        "81a430ac1b88b0702c57d2513e247317e810e04d",
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "1ab5ecb90cb6a3df1476e052f76a6e8f6511cb3d",
      "tree": "f808476bf94d8f4191b1a753a38d7d168ddfec51",
      "parents": [
        "de5c37414af10ac9305d4a3e9c1468347ca3ccaa"
      ],
      "author": {
        "name": "Stanislav Kinsbursky",
        "email": "skinsbursky@parallels.com",
        "time": "Mon Mar 12 02:59:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 12 17:14:00 2012 -0700"
      },
      "message": "tun: don\u0027t hold network namespace by tun sockets\n\nv3: added previously removed sock_put() to the tun_release() callback, because\nsk_release_kernel() doesn\u0027t drop the socket reference.\n\nv2: sk_release_kernel() used for socket release. Dummy tun_release() is\nrequired for sk_release_kernel() ---\u003e sock_release() ---\u003e sock-\u003eops-\u003erelease()\ncall.\n\nTUN was designed to destroy it\u0027s socket on network namesapce shutdown. But this\nwill never happen for persistent device, because it\u0027s socket holds network\nnamespace.\nThis patch removes of holding network namespace by TUN socket and replaces it\nby creating socket in init_net and then changing it\u0027s net it to desired one. On\nshutdown socket is moved back to init_net prior to final put.\n\nSigned-off-by: Stanislav Kinsbursky \u003cskinsbursky@parallels.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2cedb63df14342ad40a8b5b324fc5d94a60b665",
      "tree": "bebdbe0f98c216e59849bc3adb85f8abf5aadc2b",
      "parents": [
        "a1e785e02bb53573443c7e58a444cef1a049f6ce"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Wed Feb 15 06:45:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 15:34:16 2012 -0500"
      },
      "message": "net: replace random_ether_addr() with eth_hw_addr_random()\n\nReplace usage of random_ether_addr() with eth_hw_addr_random()\nto set addr_assign_type correctly to NET_ADDR_RANDOM.\n\nChange the trivial cases.\n\nv2: adapt to renamed eth_hw_addr_random()\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84b405011166e663fe9ef56c29b1d76f59b35568",
      "tree": "7b8648d4da4919f990254d93d1bb8f340a38b230",
      "parents": [
        "4e3fd7a06dc20b2d8ec6892233ad2012968fe7b6"
      ],
      "author": {
        "name": "Rick Jones",
        "email": "rick.jones2@hp.com",
        "time": "Mon Nov 21 10:54:05 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 22 16:43:32 2011 -0500"
      },
      "message": "Sweep away N/A fw_version dustbunnies from the .get_drvinfo routine of a number of drivers\n\nPer discussion with Ben Hutchings and David Miller, go through and\nremove assignments of \"N/A\" to fw_version in various drivers\u0027\n.get_drvinfo routines.  While there clean-up some use of bare\nconstants and such.\n\nSigned-off-by: Rick Jones \u003crick.jones2@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8f44affb7244f2ac3e703cab13d55ede27621bb",
      "tree": "62e7aea2916a8d7cab825fe500670c5113854c0f",
      "parents": [
        "a59e2ecb859f2ab03bb2e230709f8039472ad2c3"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Nov 15 15:29:55 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 17:43:10 2011 -0500"
      },
      "message": "net: introduce and use netdev_features_t for device features sets\n\nv2:\tadd couple missing conversions in drivers\n\tsplit unexporting netdev_fix_features()\n\timplemented %pNF\n\tconvert sock::sk_route_(no?)caps\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33a5ba144e3e7ffc1cd4a1d205e99c16078885bf",
      "tree": "00bd6240afd42ef5a7daf422a8d4acd46118b873",
      "parents": [
        "588f033075d8c7efe28695402114eab3f9da47c4"
      ],
      "author": {
        "name": "Rick Jones",
        "email": "rick.jones2@hp.com",
        "time": "Tue Nov 15 14:59:53 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 16 17:38:55 2011 -0500"
      },
      "message": "net: sweep-up some straglers in strlcpy conversion of .get_drvinfo routines\n\nConvert some remaining straglers\u0027 .get_drvinfo routines to use strlcpy\nrather than strcpy/strncpy.\n\nSigned-off-by: Rick Jones \u003crick.jones2@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afc4b13df143122f99a0eb10bfefb216c2806de0",
      "tree": "5a90e0a8226ce4173d8d366f5bed0322c9623cdd",
      "parents": [
        "01789349ee52e4a3faf376f1485303d9723c4f1f"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Tue Aug 16 06:29:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 17 20:22:03 2011 -0700"
      },
      "message": "net: remove use of ndo_set_multicast_list in drivers\n\nreplace it by ndo_set_rx_mode\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "550fd08c2cebad61c548def135f67aba284c6162",
      "tree": "8aa7c4d20a9faeb42261b75cfa38d8fd27b574ff",
      "parents": [
        "d8873315065f1f527c7c380402cf59b1e1d0ae36"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jul 26 06:05:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n\nAfter the last patch, We are left in a state in which only drivers calling\nether_setup have IFF_TX_SKB_SHARING set (we assume that drivers touching real\nhardware call ether_setup for their net_devices and don\u0027t hold any state in\ntheir skbs.  There are a handful of drivers that violate this assumption of\ncourse, and need to be fixed up.  This patch identifies those drivers, and marks\nthem as not being able to support the safe transmission of skbs by clearning the\nIFF_TX_SKB_SHARING flag in priv_flags\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Karsten Keil \u003cisdn@linux-pingi.de\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nCC: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCC: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCC: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "bebd097a0af8bd6c51f50a65f3a435019b0e906a",
      "tree": "22215109ca9499577da0690f84c7b691ee8e6df7",
      "parents": [
        "ae6e86b7fb15520ac64513ad643de63e0b077aa5"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Wed Jun 15 05:25:01 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@conan.davemloft.net",
        "time": "Thu Jun 16 23:53:10 2011 -0400"
      },
      "message": "tun: teach the tun/tap driver to support netpoll\n\nCommit 8d8fc29d02a33e4bd5f4fa47823c1fd386346093 changed the behavior of slave\ndevices in regards to netpoll.  Specifically it created a mutually exclusive\nrelationship between being a slave and a netpoll-capable device.  This creates\nproblems for KVM because guests relied on needing netconsole active on a slave\ndevice to a bridge.  Ideally libvirtd could just attach netconsole to the bridge\ndevice instead, but thats currently infeasible, because while the bridge device\nsupports netpoll, it requires that all slave interface also support it, but the\ntun/tap driver currently does not.  The most direct solution is to teach tun/tap\nto support netpoll, which is implemented by the patch below.\n\nI\u0027ve not tested this yet, but its pretty straightforward.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nReported-by: Rik van Riel \u003criel@redhat.com\u003e\nCC: Rik van Riel \u003criel@redhat.com\u003e\nCC: Maxim Krasnyansky \u003cmaxk@qualcomm.com\u003e\nCC: Cong Wang \u003camwang@redhat.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nReviewed-by: Rik van Riel \u003criel@redhat.com\u003e\nTested-by: Rik van Riel \u003criel@redhat.com\u003e\nReviewed-by: WANG Cong \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@conan.davemloft.net\u003e\n"
    },
    {
      "commit": "10a8d94a95742bb15b4e617ee9884bb4381362be",
      "tree": "768f2d92be0e12bca791bcb901ad4bdedc7d8a76",
      "parents": [
        "40d15cd06e87722b1cc27d56c8274617580f2c56"
      ],
      "author": {
        "name": "Jason Wang",
        "email": "jasowang@redhat.com",
        "time": "Fri Jun 10 00:56:17 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jun 11 15:57:47 2011 -0700"
      },
      "message": "virtio_net: introduce VIRTIO_NET_HDR_F_DATA_VALID\n\nThere\u0027s no need for the guest to validate the checksum if it have been\nvalidated by host nics. So this patch introduces a new flag -\nVIRTIO_NET_HDR_F_DATA_VALID which is used to bypass the checksum\nexaming in guest. The backend (tap/macvtap) may set this flag when\nmet skbs with CHECKSUM_UNNECESSARY to save cpu utilization.\n\nNo feature negotiation is needed as old driver just ignore this flag.\n\nIperf shows 12%-30% performance improvement for UDP traffic. For TCP,\nwhen gro is on no difference as it produces skb with partial\nchecksum. But when gro is disabled, 20% or even higher improvement\ncould be measured by netperf.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61a5ff15ebdab87887861a6b128b108404e4706d",
      "tree": "e439d62aa7299ad6644b37b3e569ca3de8c0f60b",
      "parents": [
        "6f7c156c08d5eaa9fff2bd062f0a2b9d09a1e7a9"
      ],
      "author": {
        "name": "Amos Kong",
        "email": "akong@redhat.com",
        "time": "Thu Jun 09 00:27:10 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 09 00:27:10 2011 -0700"
      },
      "message": "tun: do not put self in waitq if doing a nonblock read\n\nPerf shows a relatively high rate (about 8%) race in\nspin_lock_irqsave() when doing netperf between external host and\nguest. It\u0027s mainly becuase the lock contention between the\ntun_do_read() and tun_xmit_skb(), so this patch do not put self into\nwaitqueue to reduce this kind of race. After this patch, it drops to\n4%.\n\nSigned-off-by: Jason Wang \u003cjasowang@redhat.com\u003e\nSigned-off-by: Amos Kong \u003cakong@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f7c156c08d5eaa9fff2bd062f0a2b9d09a1e7a9",
      "tree": "6132ae6aa5fadcb9566e5b50d4a4ad1a39323e79",
      "parents": [
        "a504b86e718a425ea4a34e2f95b5cf0545ddfd8d"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jun 08 14:33:08 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 09 00:08:39 2011 -0700"
      },
      "message": "tun: dont force inline of functions\n\nCurrent standard practice is to not mark most functions as inline\nand  let compiler decide instead.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a504b86e718a425ea4a34e2f95b5cf0545ddfd8d",
      "tree": "5feeeab10c80b49323477545513e70bae97dee84",
      "parents": [
        "7625eb2f2fff7bfae41d3119b472c20b48874895"
      ],
      "author": {
        "name": "stephen hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jun 08 14:33:07 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 09 00:08:38 2011 -0700"
      },
      "message": "tun: reserves space for network in skb\n\nThe tun driver allocates skb\u0027s to hold data from user and then passes\nthe data into the network stack as received data. Most network devices\nallocate the receive skb with routines like dev_alloc_skb() that reserves\nadditional space for use by network protocol stack but tun does not.\n\nBecause of the lack of padding, when the packet is passed through bridge\nnetfilter a new skb has to be allocated.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6403eab143205a45a5493166ff8bf7e3646f4a77",
      "tree": "7c35249aa9edf24ae0440eaae648bbf1bc831f55",
      "parents": [
        "f81c62242045fb7be0a124d8c2540af96d842fad"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Jun 03 11:51:20 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:33:40 2011 -0700"
      },
      "message": "drivers/net: Remove unnecessary semicolons\n\nSemicolons are not necessary after switch/while/for/if braces\nso remove them.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1c5cae815d19ffe02bdfda1260949ef2b1806171",
      "tree": "d47a73c05afacd21985abb8df9862136385c58f0",
      "parents": [
        "e8920674979705392abc4db4ebbe78feb68a4da1"
      ],
      "author": {
        "name": "Jiri Pirko",
        "email": "jpirko@redhat.com",
        "time": "Sat Apr 30 01:21:32 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 05 10:57:45 2011 -0700"
      },
      "message": "net: call dev_alloc_name from register_netdevice\n\nForce dev_alloc_name() to be called from register_netdevice() by\ndev_get_valid_name(). That allows to remove multiple explicit\ndev_alloc_name() calls.\n\nThe possibility to call dev_alloc_name in advance remains.\n\nThis also fixes veth creation regresion caused by\n84c49d8c3e4abefb0a41a77b25aa37ebe8d6b743\n\nSigned-off-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "707394972093e2056e1e8cc39be19cf9bcb3e7b3",
      "tree": "f6dc95219bca6895adf304b79241e9d60561f8f5",
      "parents": [
        "25db0338813a8915457636b1f6abe6a28fa73f8d"
      ],
      "author": {
        "name": "David Decotigny",
        "email": "decot@google.com",
        "time": "Wed Apr 27 18:32:40 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 29 14:03:01 2011 -0700"
      },
      "message": "ethtool: cosmetic: Use ethtool ethtool_cmd_speed API\n\nThis updates the network drivers so that they don\u0027t access the\nethtool_cmd::speed field directly, but use ethtool_cmd_speed()\ninstead.\n\nFor most of the drivers, these changes are purely cosmetic and don\u0027t\nfix any problem, such as for those 1GbE/10GbE drivers that indirectly\ncall their own ethtool get_settings()/mii_ethtool_gset(). The changes\nare meant to enforce code consistency and provide robustness with\nfuture larger throughputs, at the expense of a few CPU cycles for each\nethtool operation.\n\nAll drivers compiled with make allyesconfig ion x86_64 have been\nupdated.\n\nTested: make allyesconfig on x86_64 + e1000e/bnx2x work\nSigned-off-by: David Decotigny \u003cdecot@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "882553752196605bf27057e7adb298ecae8058c4",
      "tree": "b8c0cf62ff19b1982ecb42a8c5e877266453f405",
      "parents": [
        "47103041e91794acdbc6165da0ae288d844c820b"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Apr 19 06:13:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 20 01:30:45 2011 -0700"
      },
      "message": "net: tun: convert to hw_features\n\nThis changes offload setting behaviour to what I think is correct:\n - offloads set via ethtool mean what admin wants to use (by default\n   he wants \u0027em all)\n - offloads set via ioctl() mean what userspace is expecting to get\n   (this limits which admin wishes are granted)\n - TUN_NOCHECKSUM is ignored, as it might cause broken packets when\n   forwarded (ip_summed \u003d\u003d CHECKSUM_UNNECESSARY means that checksum\n   was verified, not that it can be ignored)\n\nIf TUN_NOCHECKSUM is implemented, it should set skb-\u003ecsum_* and\nskb-\u003eip_summed (\u003d CHECKSUM_PARTIAL) for known protocols and let others\nbe verified by kernel when necessary.\n\nTUN_NOCHECKSUM handling was introduced by commit\nf43798c27684ab925adde7d8acc34c78c6e50df8:\n\n    tun: Allow GSO using virtio_net_hdr\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b8a66ee919e40111e3d257b2c22b5773e34ead1",
      "tree": "d8cb1d278ae51402c2f509f1049239c8e05dcb3d",
      "parents": [
        "8d77c036b57cf813d838f859e11b6a188acdb1fb"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Mar 02 07:18:10 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 03 12:21:14 2011 -0800"
      },
      "message": "tun: Convert logging messages to pr_\u003clevel\u003e and tun_debug\n\nUse the current logging forms with pr_fmt.\nConvert DBG macro to tun_debug, use netdev_printk as well.\nAdd printf verification when TUN_DEBUG not defined.\nMiscellaneous comment typo fix.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04ed3e741d0f133e02bed7fa5c98edba128f90e7",
      "tree": "3dde4ca8306e98536faa69bccf0e47a2549c088f",
      "parents": [
        "57422dc530115e427dff464cc0a32bcd0efb5008"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 24 15:32:47 2011 -0800"
      },
      "message": "net: change netdev-\u003efeatures to u32\n\nQuoting Ben Hutchings: we presumably won\u0027t be defining features that\ncan only be enabled on 64-bit architectures.\n\nOccurences found by `grep -r` on net/, drivers/net, include/\n\n[ Move features and vlan_features next to each other in\n  struct netdev, as per Eric Dumazet\u0027s suggestion -DaveM ]\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "008d23e4852d78bb2618f2035f8b2110b6a6b968",
      "tree": "81c88f744f6f3fc84132527c1ddc0b4da410c5e2",
      "parents": [
        "8f685fbda43deccd130d192c9fcef1444649eaca",
        "bfc672dcf323877228682aff79dff8ecd9f30ff8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 13 10:05:56 2011 -0800"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)\n  Documentation/trace/events.txt: Remove obsolete sched_signal_send.\n  writeback: fix global_dirty_limits comment runtime -\u003e real-time\n  ppc: fix comment typo singal -\u003e signal\n  drivers: fix comment typo diable -\u003e disable.\n  m68k: fix comment typo diable -\u003e disable.\n  wireless: comment typo fix diable -\u003e disable.\n  media: comment typo fix diable -\u003e disable.\n  remove doc for obsolete dynamic-printk kernel-parameter\n  remove extraneous \u0027is\u0027 from Documentation/iostats.txt\n  Fix spelling milisec -\u003e ms in snd_ps3 module parameter description\n  Fix spelling mistakes in comments\n  Revert conflicting V4L changes\n  i7core_edac: fix typos in comments\n  mm/rmap.c: fix comment\n  sound, ca0106: Fix assignment to \u0027channel\u0027.\n  hrtimer: fix a typo in comment\n  init/Kconfig: fix typo\n  anon_inodes: fix wrong function name in comment\n  fix comment typos concerning \"consistent\"\n  poll: fix a typo in comment\n  ...\n\nFix up trivial conflicts in:\n - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c)\n - fs/ext4/ext4.h\n\nAlso fix missed \u0027diabled\u0027 typo in drivers/net/bnx2x/bnx2x.h while at it.\n"
    },
    {
      "commit": "55508d601dab7df5cbcc7a63f4be8620eface204",
      "tree": "346f30fae9c726d2e73aba2e37ce1e4a31dcea8c",
      "parents": [
        "04fb451eff978ca059399eab83d5594b073caf6f"
      ],
      "author": {
        "name": "Michał Mirosław",
        "email": "mirq-linux@rere.qmqm.pl",
        "time": "Tue Dec 14 15:24:08 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 16 14:43:14 2010 -0800"
      },
      "message": "net: Use skb_checksum_start_offset()\n\nReplace skb-\u003ecsum_start - skb_headroom(skb) with skb_checksum_start_offset().\n\nNote for usb/smsc95xx: skb-\u003edata - skb-\u003ehead \u003d\u003d skb_headroom(skb).\n\nSigned-off-by: Michał Mirosław \u003cmirq-linux@rere.qmqm.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b595076a180a56d1bb170e6eceda6eb9d76f4cd3",
      "tree": "bc01ec7283808013e0b8ce7713fd6fc40f810429",
      "parents": [
        "6aaccece1c483f189f76f1282b3984ff4c7ecb0a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Nov 01 15:38:34 2010 -0400"
      },
      "message": "tree-wide: fix comment/printk typos\n\n\"gadget\", \"through\", \"command\", \"maintain\", \"maintain\", \"controller\", \"address\",\n\"between\", \"initiali[zs]e\", \"instead\", \"function\", \"select\", \"already\",\n\"equal\", \"access\", \"management\", \"hierarchy\", \"registration\", \"interest\",\n\"relative\", \"memory\", \"offset\", \"already\",\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "bee31369ce16fc3898ec9a54161248c9eddb06bc",
      "tree": "5c5752c2263e7523941f663788ed406328b81b1b",
      "parents": [
        "ae3568adf42d5d3bb3cfa505b94351c5d1ce4924"
      ],
      "author": {
        "name": "Nolan Leake",
        "email": "nolan@cumulusnetworks.com",
        "time": "Tue Jul 27 13:53:43 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 30 22:06:41 2010 -0700"
      },
      "message": "tun: keep link (carrier) state up to date\n\nCurrently, only ethtool can get accurate link state of a tap device.\nWith this patch, IFF_RUNNING and IF_OPER_UP/DOWN are kept up to date as\nwell.\n\nSigned-off-by: Nolan Leake \u003cnolan@cumulusnetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ef3db4a5954281bc1ea49a4739c88eaea091dc71",
      "tree": "d440fc0cf90ce8ccdd525a85bdeb70c98b052e87",
      "parents": [
        "d8190dff018ffe932d17cae047c6b3d1c5fc7574"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Jul 21 04:32:45 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jul 24 20:47:20 2010 -0700"
      },
      "message": "tun: avoid BUG, dump packet on GSO errors\n\nThere are still some LRO cards that cause GSO errors in tun,\nand BUG on this is an unfriendly way to tell the admin\nto disable LRO.\n\nFurther, experience shows we might have more GSO bugs lurking.\nSee https://bugzilla.kernel.org/show_bug.cgi?id\u003d16413\nas a recent example.\ndumping a packet will make it easier to figure it out.\n\nReplace BUG with warning+dump+drop the packet to make\nGSO errors in tun less critical and easier to debug.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nTested-by: Alex Unigovsky \u003cunik@compot.ru\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1cdc4670b9508fcd47a15fbd12f70d269880b37",
      "tree": "fea9e2650170886d539488f8b1e064f6ca60ad36",
      "parents": [
        "ce7d0226198aac42ed311dd2783232adc16b296d",
        "f925b1303e0672effc78547353bd2ddfe11f5b5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 16:59:51 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 16:59:51 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (63 commits)\n  drivers/net/usb/asix.c: Fix pointer cast.\n  be2net: Bug fix to avoid disabling bottom half during firmware upgrade.\n  proc_dointvec: write a single value\n  hso: add support for new products\n  Phonet: fix potential use-after-free in pep_sock_close()\n  ath9k: remove VEOL support for ad-hoc\n  ath9k: change beacon allocation to prefer the first beacon slot\n  sock.h: fix kernel-doc warning\n  cls_cgroup: Fix build error when built-in\n  macvlan: do proper cleanup in macvlan_common_newlink() V2\n  be2net: Bug fix in init code in probe\n  net/dccp: expansion of error code size\n  ath9k: Fix rx of mcast/bcast frames in PS mode with auto sleep\n  wireless: fix sta_info.h kernel-doc warnings\n  wireless: fix mac80211.h kernel-doc warnings\n  iwlwifi: testing the wrong variable in iwl_add_bssid_station()\n  ath9k_htc: rare leak in ath9k_hif_usb_alloc_tx_urbs()\n  ath9k_htc: dereferencing before check in hif_usb_tx_cb()\n  rt2x00: Fix rt2800usb TX descriptor writing.\n  rt2x00: Fix failed SLEEP-\u003eAWAKE and AWAKE-\u003eSLEEP transitions.\n  ...\n"
    },
    {
      "commit": "578454ff7eab61d13a26b568f99a89a2c9edc881",
      "tree": "6abdaf9acdd797767c92cb53e04574d3c755779e",
      "parents": [
        "ec96e2fe954c23a54bfdf2673437a39e193a1822"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu May 20 18:07:20 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 25 15:08:26 2010 -0700"
      },
      "message": "driver core: add devname module aliases to allow module on-demand auto-loading\n\nThis adds:\n  alias: devname:\u003cname\u003e\nto some common kernel modules, which will allow the on-demand loading\nof the kernel module when the device node is accessed.\n\nIdeally all these modules would be compiled-in, but distros seems too\nmuch in love with their modularization that we need to cover the common\ncases with this new facility. It will allow us to remove a bunch of pretty\nuseless init scripts and modprobes from init scripts.\n\nThe static device node aliases will be carried in the module itself. The\nprogram depmod will extract this information to a file in the module directory:\n  $ cat /lib/modules/2.6.34-00650-g537b60d-dirty/modules.devname\n  # Device nodes to trigger on-demand module loading.\n  microcode cpu/microcode c10:184\n  fuse fuse c10:229\n  ppp_generic ppp c108:0\n  tun net/tun c10:200\n  dm_mod mapper/control c10:235\n\nUdev will pick up the depmod created file on startup and create all the\nstatic device nodes which the kernel modules specify, so that these modules\nget automatically loaded when the device node is accessed:\n  $ /sbin/udevd --debug\n  ...\n  static_dev_create_from_modules: mknod \u0027/dev/cpu/microcode\u0027 c10:184\n  static_dev_create_from_modules: mknod \u0027/dev/fuse\u0027 c10:229\n  static_dev_create_from_modules: mknod \u0027/dev/ppp\u0027 c108:0\n  static_dev_create_from_modules: mknod \u0027/dev/net/tun\u0027 c10:200\n  static_dev_create_from_modules: mknod \u0027/dev/mapper/control\u0027 c10:235\n  udev_rules_apply_static_dev_perms: chmod \u0027/dev/net/tun\u0027 0666\n  udev_rules_apply_static_dev_perms: chmod \u0027/dev/fuse\u0027 0666\n\nA few device nodes are switched to statically allocated numbers, to allow\nthe static nodes to work. This might also useful for systems which still run\na plain static /dev, which is completely unsafe to use with any dynamic minor\nnumbers.\n\nNote:\nThe devname aliases must be limited to the *common* and *single*instance*\ndevice nodes, like the misc devices, and never be used for conceptually limited\nsystems like the loop devices, which should rather get fixed properly and get a\ncontrol node for losetup to talk to, instead of creating a random number of\ndevice nodes in advance, regardless if they are ever used.\n\nThis facility is to hide the mess distros are creating with too modualized\nkernels, and just to hide that these modules are not compiled-in, and not to\npaper-over broken concepts. Thanks! :)\n\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Tigran Aivazian \u003ctigran@aivazian.fsnet.co.uk\u003e\nCc: Ian Kent \u003craven@themaw.net\u003e\nSigned-Off-By: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8286274284e15b11b0f531b6ceeef21fbe00a8dd",
      "tree": "1e63dabdbc60f3409710cf58ed351e2a1f262941",
      "parents": [
        "f845172531fb7410c7fb7780b1a6e51ee6df7d52"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon May 24 00:14:10 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 24 00:14:10 2010 -0700"
      },
      "message": "tun: Update classid on packet injection\n\nThis patch makes tun update its socket classid every time we\ninject a packet into the network stack.  This is so that any\nupdates made by the admin to the process writing packets to\ntun is effected.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ee289b6440c3b0ccb9459495783e8c299bec6604",
      "tree": "6c3eeae205789e50657fd93853d7f3ce5802810c",
      "parents": [
        "5113fec0984276836cb6f0677f7cb53586ec3451"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 17 22:47:34 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 17 22:47:34 2010 -0700"
      },
      "message": "drivers/net: remove useless semicolons\n\nswitch and while statements don\u0027t need semicolons at end of statement\n\n[ Fixup minor conflicts with recent wimax merge... -DaveM ]\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4b770972b8f819e408d7cc3ae9637e15bff62f6",
      "tree": "62e3c413b084c106d750cf6cc0701709cde30100",
      "parents": [
        "21ce849ba5cc178740c6532ba3dded852296ad91"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri May 14 00:19:28 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 14 00:19:28 2010 -0700"
      },
      "message": "drivers/net: Remove unnecessary returns from void function()s\n\nThis patch removes from drivers/net/ all the unnecessary\nreturn; statements that precede the last closing brace of\nvoid functions.\n\nIt does not remove the returns that are immediately\npreceded by a label as gcc doesn\u0027t like that.\n\nIt also does not remove null void functions with return.\n\nDone via:\n$ grep -rP --include\u003d*.[ch] -l \"return;\\n}\" net/ | \\\n  xargs perl -i -e \u0027local $/ ; while (\u003c\u003e) { s/\\n[ \\t\\n]+return;\\n}/\\n}/g; print; }\u0027\n\nwith some cleanups by hand.\n\nCompile tested x86 allmodconfig only.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ae5dc342ac78d7a42965fd1f323815f6f5ef2c1",
      "tree": "d1955a7639e99832590df26466a34d5786a880ae",
      "parents": [
        "2b0b05ddc04b6d45e71cd36405df512075786f1e"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon May 10 05:01:31 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 10 05:01:31 2010 -0700"
      },
      "message": "net: trans_start cleanups\n\nNow that core network takes care of trans_start updates, dont do it\nin drivers themselves, if possible. Drivers can avoid one cache miss\n(on dev-\u003etrans_start) in their start_xmit() handler.\n\nExceptions are NETIF_F_LLTX drivers\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d52b5178af586d679c1052fb161ee05ea2e83f",
      "tree": "6148fda40e5aa28f3e8ceb438ffc51c5bb08dd86",
      "parents": [
        "7ef527377b88ff05fb122a47619ea506c631c914"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Wed Mar 17 17:45:01 2010 +0200"
      },
      "committer": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon May 03 12:33:13 2010 +0300"
      },
      "message": "tun: add ioctl to modify vnet header size\n\nvirtio added mergeable buffers mode where 2 bytes of extra info is put\nafter vnet header but before actual data (tun does not need this data).\nIn hindsight, it would have been better to add the new info *before* the\npacket: as it is, users need a lot of tricky code to skip the extra 2\nbytes in the middle of the iovec, and in fact applications seem to get\nit wrong, and only work with specific iovec layout.  The fact we might\nneed to split iovec also means we might in theory overflow iovec max\nsize.\n\nThis patch adds a simpler way for applications to handle this,\nand future proofs the interface against further extensions,\nby making the size of the virtio net header configurable\nfrom userspace. As a result, tun driver will simply\nskip the extra 2 bytes on both input and output.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43815482370c510c569fd18edb57afcb0fa8cab6",
      "tree": "063efaae3758402b84f056438b704d1de68f7837",
      "parents": [
        "83d7eb2979cd3390c375470225dd2d8f2009bc70"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 29 11:01:49 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 01 15:00:15 2010 -0700"
      },
      "message": "net: sock_def_readable() and friends RCU conversion\n\nsk_callback_lock rwlock actually protects sk-\u003esk_sleep pointer, so we\nneed two atomic operations (and associated dirtying) per incoming\npacket.\n\nRCU conversion is pretty much needed :\n\n1) Add a new structure, called \"struct socket_wq\" to hold all fields\nthat will need rcu_read_lock() protection (currently: a\nwait_queue_head_t and a struct fasync_struct pointer).\n\n[Future patch will add a list anchor for wakeup coalescing]\n\n2) Attach one of such structure to each \"struct socket\" created in\nsock_alloc_inode().\n\n3) Respect RCU grace period when freeing a \"struct socket_wq\"\n\n4) Change sk_sleep pointer in \"struct sock\" by sk_wq, pointer to \"struct\nsocket_wq\"\n\n5) Change sk_sleep() function to use new sk-\u003esk_wq instead of\nsk-\u003esk_sleep\n\n6) Change sk_has_sleeper() to wq_has_sleeper() that must be used inside\na rcu_read_lock() section.\n\n7) Change all sk_has_sleeper() callers to :\n  - Use rcu_read_lock() instead of read_lock(\u0026sk-\u003esk_callback_lock)\n  - Use wq_has_sleeper() to eventually wakeup tasks.\n  - Use rcu_read_unlock() instead of read_unlock(\u0026sk-\u003esk_callback_lock)\n\n8) sock_wake_async() is modified to use rcu protection as well.\n\n9) Exceptions :\n  macvtap, drivers/net/tun.c, af_unix use integrated \"struct socket_wq\"\ninstead of dynamically allocated ones. They dont need rcu freeing.\n\nSome cleanups or followups are probably needed, (possible\nsk_callback_lock conversion to a spinlock for example...).\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa395145165cb06a0d0885221bbe0ce4a564391d",
      "tree": "118b0403621f10db8dc3dbf12079f9af5b19e05d",
      "parents": [
        "ab9304717f7624c41927f442e6b6d418b2d8b3e4"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Apr 20 13:03:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 20 16:37:13 2010 -0700"
      },
      "message": "net: sk_sleep() helper\n\nDefine a new function to return the waitqueue of a \"struct sock\".\n\nstatic inline wait_queue_head_t *sk_sleep(struct sock *sk)\n{\n\treturn sk-\u003esk_sleep;\n}\n\nChange all read occurrences of sk_sleep by a call to this function.\n\nNeeded for a future RCU conversion. sk_sleep wont be a field directly\navailable.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0110d6f22f392f976e84ab49da1b42f85b64a3c5",
      "tree": "6894f343f66337babdb5615c5a384c49396ade20",
      "parents": [
        "5c659322a904a7cc0265e7b183372b9bdebec6db"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Tue Apr 13 04:59:44 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 14 04:52:03 2010 -0700"
      },
      "message": "tun: orphan an skb on tx\n\nThe following situation was observed in the field:\ntap1 sends packets, tap2 does not consume them, as a result\ntap1 can not be closed. This happens because\ntun/tap devices can hang on to skbs undefinitely.\n\nAs noted by Herbert, possible solutions include a timeout followed by a\ncopy/change of ownership of the skb, or always copying/changing\nownership if we\u0027re going into a hostile device.\n\nThis patch implements the second approach.\n\nNote: one issue still remaining is that since skbs\nkeep reference to tun socket and tun socket has a\nreference to tun device, we won\u0027t flush backlog,\ninstead simply waiting for all skbs to get transmitted.\nAt least this is not user-triggerable, and\nthis was not reported in practice, my assumption is\nother devices besides tap complete an skb\nwithin finite time after it has been queued.\n\nA possible solution for the second issue\nwould not to have socket reference the device,\ninstead, implement dev-\u003edestructor for tun, and\nwait for all skbs to complete there, but this\nneeds some thought, probably too risky for 2.6.34.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nTested-by: Yan Vugenfirer \u003cyvugenfi@redhat.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "318ae2edc3b29216abd8a2510f3f80b764f06858",
      "tree": "ce595adde342f57f379d277b25e4dd206988a052",
      "parents": [
        "25cf84cf377c0aae5dbcf937ea89bc7893db5176",
        "3e58974027b04e84f68b964ef368a6cd758e2f84"
      ],
      "author": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Mar 08 16:55:37 2010 +0100"
      },
      "message": "Merge branch \u0027for-next\u0027 into for-linus\n\nConflicts:\n\tDocumentation/filesystems/proc.txt\n\tarch/arm/mach-u300/include/mach/debug-macro.S\n\tdrivers/net/qlge/qlge_ethtool.c\n\tdrivers/net/qlge/qlge_main.c\n\tdrivers/net/typhoon.c\n"
    },
    {
      "commit": "99405162598176e830d17ae6d4f3d9e070ad900c",
      "tree": "41a23acd64d3f18de729c2abadc98f7c4687aa45",
      "parents": [
        "5ff3f073670b544a9c0547cc6fef1f7eed5762ed"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Feb 14 01:01:10 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 17 16:35:17 2010 -0800"
      },
      "message": "tun: socket filter support\n\nThis patch adds Linux Socket Filter support to\ntun driver.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "05c2828c72c4eabf62376adfe27bd24797621f62",
      "tree": "4db94de98ef8e75d5038f6a889dd434f3747c9d3",
      "parents": [
        "ad72c347e56bf3a0231b9d686e17764157d2961c"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Thu Jan 14 06:17:09 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 15 01:43:28 2010 -0800"
      },
      "message": "tun: export underlying socket\n\nTun device looks similar to a packet socket\nin that both pass complete frames from/to userspace.\n\nThis patch fills in enough fields in the socket underlying tun driver\nto support sendmsg/recvmsg operations, and message flags\nMSG_TRUNC and MSG_DONTWAIT, and exports access to this socket\nto modules.  Regular read/write behaviour is unchanged.\n\nThis way, code using raw sockets to inject packets\ninto a physical device, can support injecting\npackets into host network stack almost without modification.\n\nFirst user of this interface will be vhost virtualization\naccelerator.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80924e5f7dbe00d964b7249160c7ca25fa3cd889",
      "tree": "8c1973dc42042703f2b50db5203efb30e9cf4a8f",
      "parents": [
        "08fafd8461c0ca8d1b389b7dc11d17e7b2331282"
      ],
      "author": {
        "name": "Vitaliy Gusev",
        "email": "vgusev@openvz.org",
        "time": "Fri Dec 25 07:17:43 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Dec 26 20:24:44 2009 -0800"
      },
      "message": "tun: use tun_sk instead container_of\n\nUsing macro tun_sk is more clear and shorter. However tun.c has tun_sk,\nbut doesn\u0027t use it.\n\nSigned-off-by: Vitaliy Gusev \u003cvgusev@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "50857e2a59d8beddc6bb76137df026d67f30d5ca",
      "tree": "7b6d244ad6fa07ff199c7d1436750d535b6b8dcd",
      "parents": [
        "2dceba14ef0e62738d58777a1bd4018130d47a74"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Nov 06 22:52:32 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 22:52:32 2009 -0800"
      },
      "message": "net/tun: handle compat_ioctl directly\n\nThe tun driver is the only code in the kernel that operates\non a character device with struct ifreq. Change the driver\nto handle the conversion itself so we can contain the\nremaining ifreq handling in the socket layer.\n\nThis also fixes a bug in the handling of invalid ioctl\nnumbers on an unbound tun device. The driver treats this\nas a TUNSETIFF in native mode, but there is no way for\nthe generic compat_ioctl() function to emulate this\nbehaviour. Possibly the driver was only doing this\naccidentally anyway, but if any code relies on this\nmisfeature, it now also works in compat mode.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "deed49fbb68d7d07ec6c3dfd06bffc74e9abc6fa",
      "tree": "e9cb9de1f67f7cdd47f57237b4fa6c1d51ab9941",
      "parents": [
        "421355de876b9f3fcc7e4cb6026e416fb12a5068"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Oct 14 01:19:46 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 14 01:19:46 2009 -0700"
      },
      "message": "net: Remove BKL from tun\n\nThe lock_kernel/unlock_kernel() in cycle_kernel_lock() which is called\nin tun_chr_open() is not serializing against anything and safe to\nremove.\n\ntun_chr_fasync() is serialized by get/put_tun() and fasync_helper()\nhas no dependency on BKL. The modification of tun-\u003eflags is racy with\nand without the BKL so removing it does not make it worse.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8b3f6af86378d0a10ca2f1ded1da124aef13b62c",
      "tree": "de6ca90295730343c495be8d98be8efa322140ef",
      "parents": [
        "139d6065c83071d5f66cd013a274a43699f8e2c1",
        "94e0fb086fc5663c38bbc0fe86d698be8314f82f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/staging/Kconfig\n\tdrivers/staging/Makefile\n\tdrivers/staging/cpc-usb/TODO\n\tdrivers/staging/cpc-usb/cpc-usb_drv.c\n\tdrivers/staging/cpc-usb/cpc.h\n\tdrivers/staging/cpc-usb/cpc_int.h\n\tdrivers/staging/cpc-usb/cpcusb.h\n"
    },
    {
      "commit": "36989b90879c785f95b877bdcf65a2527dadd893",
      "tree": "d9ee451eca172d28112e092bac53dca927f98044",
      "parents": [
        "9cc4085585a011179caf86a6408225626f6c2263"
      ],
      "author": {
        "name": "Kusanagi Kouichi",
        "email": "slash@ma.neweb.ne.jp",
        "time": "Wed Sep 16 21:36:13 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 14:00:16 2009 -0700"
      },
      "message": "tun: Return -EINVAL if neither IFF_TUN nor IFF_TAP is set.\n\nAfter commit 2b980dbd77d229eb60588802162c9659726b11f4\n(\"lsm: Add hooks to the TUN driver\") tun_set_iff doesn\u0027t\nreturn -EINVAL though neither IFF_TUN nor IFF_TAP is set.\n\nSigned-off-by: Kusanagi Kouichi \u003cslash@ma.neweb.ne.jp\u003e\nReviewed-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e454cea20bdcff10ee698d11b8882662a0153a47",
      "tree": "f44581fe57787aef0a4f4dc00993a90ea8e688f6",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Sep 18 23:01:12 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 12:50:38 2009 -0700"
      },
      "message": "Driver-Core: extend devnode callbacks to provide permissions\n\nThis allows subsytems to provide devtmpfs with non-default permissions\nfor the device node. Instead of the default mode of 0600, null, zero,\nrandom, urandom, full, tty, ptmx now have a mode of 0666, which allows\nnon-privileged processes to access standard device nodes in case no\nother userspace process applies the expected permissions.\n\nThis also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d7e9660ad9d5e0845f52848bce31bcf5cdcdea6b",
      "tree": "c6c67d145771187b194d79d603742b31090a59d6",
      "parents": [
        "b8cb48aae1b8c50b37dcb7710363aa69a7a0d9ca",
        "13af7a6ea502fcdd4c0e3d7de6e332b102309491"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 14 10:37:28 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits)\n  netxen: update copyright\n  netxen: fix tx timeout recovery\n  netxen: fix file firmware leak\n  netxen: improve pci memory access\n  netxen: change firmware write size\n  tg3: Fix return ring size breakage\n  netxen: build fix for INET\u003dn\n  cdc-phonet: autoconfigure Phonet address\n  Phonet: back-end for autoconfigured addresses\n  Phonet: fix netlink address dump error handling\n  ipv6: Add IFA_F_DADFAILED flag\n  net: Add DEVTYPE support for Ethernet based devices\n  mv643xx_eth.c: remove unused txq_set_wrr()\n  ucc_geth: Fix hangs after switching from full to half duplex\n  ucc_geth: Rearrange some code to avoid forward declarations\n  phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs\n  drivers/net/phy: introduce missing kfree\n  drivers/net/wan: introduce missing kfree\n  net: force bridge module(s) to be GPL\n  Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded\n  ...\n\nFixed up trivial conflicts:\n\n - arch/x86/include/asm/socket.h\n\n   converted to \u003casm-generic/socket.h\u003e in the x86 tree.  The generic\n   header has the same new #define\u0027s, so that works out fine.\n\n - drivers/net/tun.c\n\n   fix conflict between 89f56d1e9 (\"tun: reuse struct sock fields\") that\n   switched over to using \u0027tun-\u003esocket.sk\u0027 instead of the redundantly\n   available (and thus removed) \u0027tun-\u003esk\u0027, and 2b980dbd (\"lsm: Add hooks\n   to the TUN driver\") which added a new \u0027tun-\u003esk\u0027 use.\n\n   Noted in \u0027next\u0027 by Stephen Rothwell.\n"
    },
    {
      "commit": "89f56d1e91cfa535ccc6cc60e9e12e02682fd972",
      "tree": "21231979479b0e2e0c7b4666f709bd657a89849a",
      "parents": [
        "86393e52c3f1e2f6be18383f6ecdbcdc5727d545"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Sun Aug 30 07:04:42 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 17:40:33 2009 -0700"
      },
      "message": "tun: reuse struct sock fields\n\nAs tun always has an embeedded struct sock,\nuse sk and sk_receive_queue fields instead of\nduplicating them in tun_struct.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "424efe9caf6047ffbcd6b383ff4d2347254aabf1",
      "tree": "d0ed516baa5b452ed8bc3a88fbd061f6e415bfb9",
      "parents": [
        "6518bbb803fe02b15a3211c8db2afdff0ac4f808"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Aug 31 19:50:51 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 01 01:13:40 2009 -0700"
      },
      "message": "netdev: convert pseudo drivers to netdev_tx_t\n\nThese are all drivers that don\u0027t touch real hardware.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b980dbd77d229eb60588802162c9659726b11f4",
      "tree": "78a7f734d0721029e4b4c961ca61d35abe9e6dbc",
      "parents": [
        "d8e180dcd5bbbab9cd3ff2e779efcf70692ef541"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Fri Aug 28 18:12:43 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Tue Sep 01 08:29:48 2009 +1000"
      },
      "message": "lsm: Add hooks to the TUN driver\n\nThe TUN driver lacks any LSM hooks which makes it difficult for LSM modules,\nsuch as SELinux, to enforce access controls on network traffic generated by\nTUN users; this is particularly problematic for virtualization apps such as\nQEMU and KVM.  This patch adds three new LSM hooks designed to control the\ncreation and attachment of TUN devices, the hooks are:\n\n * security_tun_dev_create()\n   Provides access control for the creation of new TUN devices\n\n * security_tun_dev_post_create()\n   Provides the ability to create the necessary socket LSM state for newly\n   created TUN devices\n\n * security_tun_dev_attach()\n   Provides access control for attaching to existing, persistent TUN devices\n   and the ability to update the TUN device\u0027s socket LSM state as necessary\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: Eric Paris \u003ceparis@parisplace.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "aa11d958d1a6572eda08214d7c6a735804fe48a5",
      "tree": "d025b05270ad1e010660d17eeadc6ac3c1abbd7d",
      "parents": [
        "07f6642ee9418e962e54cbc07471cfe2e559c568",
        "9799218ae36910af50f002a5db1802d576fffb43"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 12 17:44:53 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 12 17:44:53 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tarch/microblaze/include/asm/socket.h\n"
    },
    {
      "commit": "876bfd4d0f18cd1f698249870c7e7fb944de1c26",
      "tree": "62959754494fb97f48d7c4f811d913321b046554",
      "parents": [
        "9555b31e8c29d2000e1e1f569f6f242ebd596e47"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Aug 06 14:22:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Aug 09 21:45:35 2009 -0700"
      },
      "message": "tun: Extend RTNL lock coverage over whole ioctl\n\nAs it is, parts of the ioctl runs under the RTNL and parts of\nit do not.  The unlocked section is still protected by the BKL,\nbut there can be subtle races.  For example, Eric Biederman and\nPaul Moore observed that if two threads tried to create two tun\ndevices on the same file descriptor, then unexpected results\nmay occur.\n\nAs there isn\u0027t anything in the ioctl that is expected to sleep\nindefinitely, we can prevent this from occurring by extending\nthe RTNL lock coverage.\n\nThis also allows to get rid of the BKL.\n\nFinally, I changed tun_get_iff to take a tun device in order to\navoid calling tun_put which would dead-lock as it also tries to\ntake the RTNL lock.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e36aa25a533962b08402530e8443ac804a454e27",
      "tree": "2b61eba6b8cac10487467d1dec8f1d9072a75621",
      "parents": [
        "5c5167515d80f78f6bb538492c423adcae31ad65"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Tue Jul 14 14:21:04 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jul 17 10:11:00 2009 -0700"
      },
      "message": "tun: Allow tap device to send/receive UFO packets.\n\n- Allow setting UFO on tap device and handle UFO packets.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\n\n---------------------------------------------------------\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e5a8a896f5180f2950695d2d0b79db348d200ca4",
      "tree": "04adc57ae51a6d30a89ffae970770b81ee81fc23",
      "parents": [
        "bff38771e1065c7fc3de87e47ba366151eea573c",
        "e594e96e8a14101a6decabf6746bd5186287debc"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 20:18:24 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jul 09 20:18:24 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "460deefae62db4472e8bd16b21c7d70f3c7fd785",
      "tree": "870d0b16f5ba309e57ce224112d1a965bc2d9153",
      "parents": [
        "50f238fdf38e37f0350be17c36e3ec0fd298cc40"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Tue Jul 07 08:11:33 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 07 19:22:11 2009 -0700"
      },
      "message": "tun: Remove a dead line of code\n\nRemove an unnecessary assignment.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3c8a9c63d5fd738c261bd0ceece04d9c8357ca13",
      "tree": "7c60ab7e391f73ffcbcb98613ee454f843d7b3d1",
      "parents": [
        "1ded3f59f35a2642852b3e2a1c0fa8a97777e9af"
      ],
      "author": {
        "name": "Mariusz Kozlowski",
        "email": "m.kozlowski@tuxland.pl",
        "time": "Sun Jul 05 19:48:35 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jul 06 12:47:07 2009 -0700"
      },
      "message": "tun/tap: Fix crashes if open() /dev/net/tun and then poll() it.\n\nFix NULL pointer dereference in tun_chr_pool() introduced by commit\n33dccbb050bbe35b88ca8cf1228dcf3e4d4b3554 (\"tun: Limit amount of queued\npackets per device\") and triggered by this code:\n\n\tint fd;\n\tstruct pollfd pfd;\n\tfd \u003d open(\"/dev/net/tun\", O_RDWR);\n\tpfd.fd \u003d fd;\n\tpfd.events \u003d POLLIN | POLLOUT;\n\tpoll(\u0026pfd, 1, 0);\n\nReported-by: Eugene Kapun \u003cabacabadabacaba@gmail.com\u003e\nSigned-off-by: Mariusz Kozlowski \u003cm.kozlowski@tuxland.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ed106549d17474ca17a16057f4c0ed4eba5a7ca",
      "tree": "b98c09081509b3a9757339b6b66779e4126dfa29",
      "parents": [
        "0e8635a8e1f2d4a9e1bfc6c3b21419a5921e674f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Jun 23 06:03:08 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 19:16:04 2009 -0700"
      },
      "message": "net: use NETDEV_TX_OK instead of 0 in ndo_start_xmit() functions\n\nThis patch is the result of an automatic spatch transformation to convert\nall ndo_start_xmit() return values of 0 to NETDEV_TX_OK.\n\nSome occurences are missed by the automatic conversion, those will be\nhandled in a seperate patch.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d23e43658aed286b885d398ff0810f04f6aae97f",
      "tree": "49449c308390dc319fc83378dbd357041c7f27ea",
      "parents": [
        "c001c213b109c8baeeb6d012b422bf059b18368f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 02 23:03:55 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jul 05 18:03:18 2009 -0700"
      },
      "message": "tun: Fix device unregister race\n\nIt is currently possible for an asynchronous device unregister\nto cause the same tun device to be unregistered twice.  This\nis because the unregister in tun_chr_close only checks whether\n__tun_get(tfile) !\u003d NULL.  This however has nothing to do with\nwhether the device has already been unregistered.  All it tells\nyou is whether __tun_detach has been called.\n\nThis patch fixes this by using the most obvious thing to test\nwhether the device has been unregistered.\n\nIt also moves __tun_detach outside of rtnl_unlock since nothing\nthat it does requires that lock.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d405640539555b601e52f7d18f1f0b1345d18bf5",
      "tree": "6a748c0acea0fa72c732d2f188e57153418395e0",
      "parents": [
        "6fcf53acccf85b4b0d0260e66c692a341760f464"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:25 2009 -0700"
      },
      "message": "Driver Core: misc: add nodename support for misc devices.\n\nThis adds support for misc devices to report their requested nodename to\nuserspace.  It also updates a number of misc drivers to provide the\nneeded subdirectory and device name to be used for them.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f0a4d0e5b5bfd271e6737f7c095994835b70d450",
      "tree": "a3ee9afad29dd6e01d7fe36c45ec1cca8d052ab9",
      "parents": [
        "ef681ce1e8b3e63317cd724c200b2fd39286c005"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Mon Jun 08 00:44:31 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 00:44:31 2009 -0700"
      },
      "message": "tun: Fix unregister race\n\nIt is possible for tun_chr_close to race with dellink on the\na tun device.  In which case if __tun_get runs before dellink\nbut dellink runs before tun_chr_close calls unregister_netdevice\nwe will attempt to unregister the netdevice after it is already\ngone.  \n\nThe two cases are already serialized on the rtnl_lock, so I have\ngone for the cheap simple fix of moving rtnl_lock to cover __tun_get\nin tun_chr_close.  Eliminating the possibility of the tun device\nbeing unregistered between __tun_get and unregister_netdevice in\ntun_chr_close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nTested-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f536f403979d37021508c5804509a379d853788",
      "tree": "d64d26d4e2c2c0bd2a487d9c5db77a4fe8b40969",
      "parents": [
        "2faef52b72958b8b1c08e927b9b0691c314cf6f4"
      ],
      "author": {
        "name": "Sridhar Samudrala",
        "email": "sri@us.ibm.com",
        "time": "Mon Jun 08 00:27:28 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 00:27:28 2009 -0700"
      },
      "message": "tun: Fix copy/paste error in tun_get_user\n\nUse the right structure while incrementing the offset in tun_get_user.\n\nSigned-off-by: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4909122fb8350e70c347f1201256908a92058044",
      "tree": "ce87843cec44a1671bacff61b2c4fd25960efa6a",
      "parents": [
        "b82f08ea162edeee6c2c70c6c4321bea4763fa35"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 08 00:20:01 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 08 00:20:01 2009 -0700"
      },
      "message": "tun: Optimise handling of bogus gso-\u003ehdr_len\n\nAs all current versions of virtio_net generate a value for the\nheader length that\u0027s too small, we should optimise this so that\nwe don\u0027t copy it twice.  This can be done by ensuring that it is\nat least as large as the place where we\u0027ll write the checksum.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c722c625dbe2758d53365c0ed7d401b0e286f2cf",
      "tree": "4b73bc0edf80e3b5652c35512fbdb19f472b557a",
      "parents": [
        "a8c617eae4dc2ea9f3d64472233f2d3dc3c9993c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jun 03 21:45:55 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 03 21:45:55 2009 -0700"
      },
      "message": "tun: Only wake up writers\n\nWhen I added socket accounting to tun I inadvertently introduced\nspurious wake-up events that kills qemu performance.  The problem\noccurs when qemu polls on the tun fd for read, and then transmits\npackets.  For each packet transmitted, we will wake up qemu even\nif it only cares about read events.\n\nNow this affects all sockets, but it is only a new problem for\ntun.  So this patch tries to fix it for tun first and we can then\nlook at the problem in general.\n \nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "980c9e8ceeb69ac4c921173d0d06323f5c678647",
      "tree": "6dc3a40501bf94177f40009cea3327dcb70462cb",
      "parents": [
        "ed9b58bc443a1210b5be1ded6421b17e015bf985"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat May 09 22:54:21 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat May 09 22:54:21 2009 -0700"
      },
      "message": "tun: add tun_flags, owner, group attributes in sysfs\n\nThis patch adds three attribute files in /sys/class/net/$dev/ for tun\ndevices; allowing userspace to obtain the information which TUNGETIFF\noffers, and more, but without having to attach to the device in question\n(which may not be possible if it\u0027s in use).\n\nIt also fixes a bug which has been present in the TUNGETIFF ioctl since\nits inception, where it would never set IFF_TUN or IFF_TAP according to\nthe device type. (Look carefully at the code which I remove from\ntun_get_iff() and how the new tun_flags() helper is subtly different).\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f85ba78068ac137fe9c1f50d25405d2783d75c77",
      "tree": "68325fa489b07db5cf7311b79e9e245ed02e5d9a",
      "parents": [
        "0456b4f8b742006c2b79fcbe6b0736aa1ad39180"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Apr 27 03:23:54 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 27 03:23:54 2009 -0700"
      },
      "message": "tun: add IFF_TUN_EXCL flag to avoid opening a persistent device.\n\nWhen creating a certain types of VPN, NetworkManager will first attempt\nto find an available tun device by iterating through \u0027vpn%d\u0027 until it\nfinds one that isn\u0027t already busy. Then it\u0027ll set that to be persistent\nand owned by the otherwise unprivileged user that the VPN dæmon itself\nruns as.\n\nThere\u0027s a race condition here -- during the period where the vpn%d\ndevice is created and we\u0027re waiting for the VPN dæmon to actually\nconnect and use it, if we try to create _another_ device we could end up\nre-using the same one -- because trying to open it again doesn\u0027t get\n-EBUSY as it would while it\u0027s _actually_ busy.\n\nSo solve this, we add an IFF_TUN_EXCL flag which causes tun_set_iff() to\nfail if it would be opening an existing persistent tundevice -- so that\nwe can make sure we\u0027re getting an entirely _new_ device.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f26c9a7555e5bcca3560919db9b852015077dae",
      "tree": "9ca7509cd0cbbdae158b752c234cb23add8370f0",
      "parents": [
        "43b39dcdbdf823a1c0ac1f2aa2d76bd2f210adc8"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Apr 20 01:26:11 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 05:42:46 2009 -0700"
      },
      "message": "tun: fix tun_chr_aio_write so that aio works\n\naio_write gets const struct iovec * but tun_chr_aio_write casts this to struct\niovec * and modifies the iovec. As a result, attempts to use io_submit\nto send packets to a tun device fail with weird errors such as EINVAL.\n\nSince tun is the only user of skb_copy_datagram_from_iovec, we can\nfix this simply by changing the later so that it does not\ntouch the iovec passed to it.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43b39dcdbdf823a1c0ac1f2aa2d76bd2f210adc8",
      "tree": "117c9b756380b59c8c29955f02c4d9ff504b047a",
      "parents": [
        "0a1ec07a67bd8b0033dace237249654d015efa21"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Apr 20 01:25:59 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 21 05:42:45 2009 -0700"
      },
      "message": "tun: fix tun_chr_aio_read so that aio works\n\naio_read gets const struct iovec * but tun_chr_aio_read casts this to struct\niovec * and modifies the iovec. As a result, attempts to use io_submit\nto get packets from a tun device fail with weird errors such as EINVAL.\n\nFix by using the new skb_copy_datagram_const_iovec.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c40af84a6726f63e35740d26f841992e8f31f92c",
      "tree": "dbb8271908d537817915814735cfc2a86130e2f6",
      "parents": [
        "9c3fea6ab04a7bd9298e635bf29b4a5379f6c476"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Apr 19 22:35:50 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 20 03:01:48 2009 -0700"
      },
      "message": "tun: Fix sk_sleep races when attaching/detaching\n\nAs the sk_sleep wait queue actually lives in tfile, which may be\ndetached from the tun device, bad things will happen when we use\nsk_sleep after detaching.\n\nSince the tun device is the persistent data structure here (when\nrequested by the user), it makes much more sense to have the wait\nqueue live there.  There is no reason to have it in tfile at all\nsince the only time we can wait is if we have a tun attached.\nIn fact we already have a wait queue in tun_struct, so we might\nas well use it.\n\nReported-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nTested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nTested-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c3fea6ab04a7bd9298e635bf29b4a5379f6c476",
      "tree": "2b9977d85dc5f4de230a2d556e692cb30a6d945a",
      "parents": [
        "5db8765a86a4cbaf45adaf8c231cf9a6ca2dcfaf"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Apr 18 14:15:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 20 03:01:47 2009 -0700"
      },
      "message": "tun: Only free a netdev when all tun descriptors are closed\n\nThe commit c70f182940f988448f3c12a209d18b1edc276e33 (\"tun: Fix\nraces between tun_net_close and free_netdev\") fixed a race where\nan asynchronous deletion of a tun device can hose a poll(2) on\na tun fd attached to that device.\n\nHowever, this came at the cost of moving the tun wait queue into\nthe tun file data structure.  The problem with this is that it\nimposes restrictions on when and where the tun device can access\nthe wait queue since the tun file may change at any time due to\ndetaching and reattaching.\n\nIn particular, now that we need to use the wait queue on the\nreceive path it becomes difficult to properly synchronise this\nwith the detachment of the tun device.\n\nThis patch solves the original race in a different way.  Since\nthe race is only because the underlying memory gets freed, we\ncan prevent it simply by ensuring that we don\u0027t do that until\nall tun descriptors ever attached to the device (even if they\nhave since be detached because they may still be sitting in poll)\nhave been closed.\n\nThis is done by using reference counting the attached tun file\ndescriptors.  The refcount in tun-\u003esk has been reappropriated\nfor this purpose since it was already being used for that, albeit\nfrom the opposite angle.\n\nNote that we no longer zero tfile-\u003etun since tun_get will return\nNULL anyway after the refcount on tfile hits zero.  Instead it\nrepresents whether this device has ever been attached to a device.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0eca93bcf73e5939053a94f7c48f8d6fe6199e00",
      "tree": "b4a95f8442b99cea946bfc8a4767489c0107feca",
      "parents": [
        "86bcebafc5e7f5163ccf828792fe694b112ed6fa"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Apr 14 02:09:43 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 14 02:09:43 2009 -0700"
      },
      "message": "tun: Fix crash with non-GSO users\n\nWhen I made the tun driver use non-linear packets as the preferred\noption, it broke non-GSO users because they would end up allocating\na completely non-linear packet, which triggers a crash when we call\neth_type_trans.\n\nThis patch reverts non-GSO users to using linear packets and adds\na check to ensure that GSO users can\u0027t cause crashes in the same\nway.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab46d779661d7a03b7aa00279eead5dc3f0b3901",
      "tree": "a236f027cec78999581e84b56eae0c27bce31e42",
      "parents": [
        "ce3dd39595d9d64f4ba6ee8dd24c6269a3b56b6a"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Feb 14 20:46:39 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 14 20:46:39 2009 -0800"
      },
      "message": "tun: Fix merge error\n\nWhen forward-porting the tun accounting patch I managed to break\nthe send path compltely by dropping the tun_get call.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ecc103aec454288cbaa5a33d8960ab3467e8a11",
      "tree": "d911ae41c303a575913b8aca2a49f4acaaf0fc93",
      "parents": [
        "0012985d184b7b9d4513eacd35771715471e06ef",
        "4906f9985e310fc01f956256b0d58ac28b0dcb19"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 09 23:22:21 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 09 23:22:21 2009 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/gianfar.c\n"
    },
    {
      "commit": "cfbf84fcbcda98bb91ada683a8dc8e6901a83ebd",
      "tree": "abc699128c7579183a7d493ca88807d9ba3d710a",
      "parents": [
        "23b904f35128f3c596831cc3320bab1f2db81f60"
      ],
      "author": {
        "name": "Alex Williamson",
        "email": "alex.williamson@hp.com",
        "time": "Sun Feb 08 17:49:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 08 17:49:17 2009 -0800"
      },
      "message": "tun: Fix unicast filter overflow\n\nTap devices can make use of a small MAC filter set via the\nTUNSETTXFILTER ioctl.  The filter has a set of exact matches\nplus a hash for imperfect filtering of additional multicast\naddresses.  The current code is unbalanced, adding unicast\naddresses to the multicast hash, but only checking the hash\nagainst multicast addresses.  This results in the filter\ndropping unicast addresses that overflow the exact filter.\nThe fix is simply to disable the filter by leaving count set\nto zero if we find non-multicast addresses after the exact\nmatch table is filled.\n\nSigned-off-by: Alex Williamson \u003calex.williamson@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33dccbb050bbe35b88ca8cf1228dcf3e4d4b3554",
      "tree": "19435e330ac81b77c59a56ceea6c66d7efc0bc97",
      "parents": [
        "4cc7f68d65558f683c702d4fe3a5aac4c5227b97"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 05 21:25:32 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Feb 05 21:25:32 2009 -0800"
      },
      "message": "tun: Limit amount of queued packets per device\n\nUnlike a normal socket path, the tuntap device send path does\nnot have any accounting.  This means that the user-space sender\nmay be able to pin down arbitrary amounts of kernel memory by\ncontinuing to send data to an end-point that is congested.\n\nEven when this isn\u0027t an issue because of limited queueing at\nmost end points, this can also be a problem because its only\nresponse to congestion is packet loss.  That is, when those\nlocal queues at the end-point fills up, the tuntap device will\nstart wasting system time because it will continue to send\ndata there which simply gets dropped straight away.\n\nOf course one could argue that everybody should do congestion\ncontrol end-to-end, unfortunately there are people in this world\nstill hooked on UDP, and they don\u0027t appear to be going away\nanywhere fast.  In fact, we\u0027ve always helped them by performing\naccounting in our UDP code, the sole purpose of which is to\nprovide congestion feedback other than through packet loss.\n\nThis patch attempts to apply the same bandaid to the tuntap device.\nIt creates a pseudo-socket object which is used to account our\npackets just as a normal socket does for UDP.  Of course things\nare a little complex because we\u0027re actually reinjecting traffic\nback into the stack rather than out of the stack.\n\nThe stack complexities however should have been resolved by preceding\npatches.  So this one can simply start using skb_set_owner_w.\n\nFor now the accounting is essentially disabled by default for\nbackwards compatibility.  In particular, we set the cap to INT_MAX.\nThis is so that existing applications don\u0027t get confused by the\nsudden arrival EAGAIN errors.\n\nIn future we may wish (or be forced to) do this by default.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1bded710a574f20d41bc9e7fb531301db282d623",
      "tree": "02153d39ee525edaee35953c663926cb57075757",
      "parents": [
        "1a5645bc901aea6f3f446888061b2b084bbf1ba6"
      ],
      "author": {
        "name": "Michael Tokarev",
        "email": "mjt@tls.msk.ru",
        "time": "Mon Feb 02 23:34:56 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 02 23:34:56 2009 -0800"
      },
      "message": "tun: Check supplemental groups in TUN/TAP driver.\n\nMichael Tokarev wrote:\n[]\n\u003e 2, and this is the main one: How about supplementary groups?\n\u003e\n\u003e Here I have a valid usage case: a group of testers running various\n\u003e versions of windows using KVM (kernel virtual machine), 1 at a time,\n\u003e to test some software.  kvm is set up to use bridge with a tap device\n\u003e (there should be a way to connect to the machine).  Anyone on that group\n\u003e has to be able to start/stop the virtual machines.\n\u003e\n\u003e My first attempt - pretty obvious when I saw -g option of tunctl - is\n\u003e to add group ownership for the tun device and add a supplementary group\n\u003e to each user (their primary group should be different).  But that fails,\n\u003e since kernel only checks for egid, not any other group ids.\n\u003e\n\u003e What\u0027s the reasoning to not allow supplementary groups and to only check\n\u003e for egid?\n\nSigned-off-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09640e6365c679b5642b1c41b6d7078f51689ddf",
      "tree": "a2b80c153bd23fe59db8c6994fda29923819fcea",
      "parents": [
        "ee437770c42088b9b653e8b3bf28a61fa647f84e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "message": "net: replace uses of __constant_{endian}\n\nBase versions handle constant folding now.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f019a7a594d951f085eb3878c3d825556d447efe",
      "tree": "9abbe6c51ef39a4b9ab3b06dbc71c415ca443b4e",
      "parents": [
        "aec191aa2a04b082238156dc9690fff8ce95dd6b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Wed Jan 21 16:02:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:02:16 2009 -0800"
      },
      "message": "tun: Implement ip link del tunXXX\n\nThis greatly simplifies testing to verify I have fixed the problems\nwith a tun device disappearing when the tun file descriptor is still\nheld open.\n\nFurther it allows removal network namespace operations for the tun\ndriver.  Reducing the network namespace handling in the driver to the\nminimum.  i.e. When we are creating a tun device.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aec191aa2a04b082238156dc9690fff8ce95dd6b",
      "tree": "c854088cd3c8308a4f83d836ec94cf89d8d9fcd0",
      "parents": [
        "c70f182940f988448f3c12a209d18b1edc276e33"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 11:08:46 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:47 2009 -0800"
      },
      "message": "tun: There is no longer any need to deny changing network namespaces\n\nWith the awkward case between free_netdev and dev_chr_close fixed\nthere is no longer any need to limit tun and tap devices to the\nnetwork namespace they were created in.  So remove the\nNETIF_F_NETNS_LOCAL flag on the network device.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c70f182940f988448f3c12a209d18b1edc276e33",
      "tree": "6469d90befb657f4ef37cc40c03b97de992dba80",
      "parents": [
        "b2430de37ef0bc0799ffba7b5219d38ca417eb76"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 11:07:17 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:46 2009 -0800"
      },
      "message": "tun: Fix races between tun_net_close and free_netdev.\n\nThe tun code does not cope gracefully if the network device goes away before\nthe tun file descriptor is closed.  It looks like we can trigger this with\nrmmod, and moving tun devices between network namespaces will allow this\nto be triggered when network namespaces exit.\n\nTo fix this I introduce an intermediate data structure tun_file which\nholds a count of users and a pointer to the struct tun_struct.  tun_get\nincrements that reference count if it is greater than 0.  tun_put decrements\nthat reference count and detaches from the network device if the count is 0.\n\nWhile we have a file attached to the network device I hold a reference\nto the network device keeping it from going away completely.\n\nWhen a network device is unregistered I decrement the count of the\nattached tun_file and if that was the last user I detach the tun_file,\nand all processes on read_wait are woken up to ensure they do not\nsleep indefinitely. As some of those sleeps happen with the count on\nthe tun device elevated waking up the read waiters ensures that\ntun_file will be detached in a timely manner.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b2430de37ef0bc0799ffba7b5219d38ca417eb76",
      "tree": "19a5a5103ed2227f230aa06f87dc7807e871d5b5",
      "parents": [
        "38231b7a8d1b74c920822640d1ce8eb8046377fb"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 11:03:21 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:46 2009 -0800"
      },
      "message": "tun: Move read_wait into tun_file\n\nThe poll interface requires that the waitqueue exist while the struct\nfile is open.  In the rare case when a tun device disappears before\nthe tun file closes we fail to provide this property, so move\nread_wait.\n\nThis is safe now that tun_net_xmit is atomic with tun_detach.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38231b7a8d1b74c920822640d1ce8eb8046377fb",
      "tree": "fc7f1c3cc8ef34a64a740a2938934dbd598f0d93",
      "parents": [
        "36b50bab53207daf34be63ca62fb8b0b08dc6e6b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 11:02:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:45 2009 -0800"
      },
      "message": "tun: Make tun_net_xmit atomic wrt tun_attach \u0026\u0026 tun_detach\n\nCurrently this small race allows for a packet to be received when we\ndetach from an tun device and still be enqueued.  Not especially\nimportant but not what the code is trying to do.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36b50bab53207daf34be63ca62fb8b0b08dc6e6b",
      "tree": "6363b239732a1ad8d9fd516993c8c6c093dc63a2",
      "parents": [
        "631ab46b79559d6fed784fd7883c0cda4d8cfcfa"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 11:01:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:45 2009 -0800"
      },
      "message": "tun: Grab the netns in open.\n\nGrabbing namespaces in open, and putting them in close always seems to\nbe the cleanest approach with the fewest surprises.\n\nSo now that we have tun_file so we have somepleace to put the network\nnamespace, let\u0027s grab the network namespace on file open and put on\nfile close.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "631ab46b79559d6fed784fd7883c0cda4d8cfcfa",
      "tree": "8f78e43c4b5adf223254da3315f4957ac629a38a",
      "parents": [
        "eac9e902658dab1e097b8ef064e9e3d16c152cc9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 11:00:40 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:44 2009 -0800"
      },
      "message": "tun: Introduce tun_file\n\nCurrently the tun code suffers from only having a single word of\ndata that exists for the entire life of the tun file descriptor.\n\nThis results in peculiar holding of references to the network namespace\nas well as races between free_netdevice and tun_chr_close.\n\nFix this by introducing tun_file which will hold the per file state.\nFor the moment it still holds just a single word so the differences\nare all logic changes with no changes in semantics.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eac9e902658dab1e097b8ef064e9e3d16c152cc9",
      "tree": "a4e9d99cd65a41be06e2740b2d86fdc67bb7bc7d",
      "parents": [
        "a7385ba21102a90f902055f9f185ca02bf62fa43"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 10:59:05 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:44 2009 -0800"
      },
      "message": "tun: Use POLLERR not EBADF in tun_chr_poll\n\nEBADF is meaningless in the context of a poll mask so use POLLERR\ninstead.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a7385ba21102a90f902055f9f185ca02bf62fa43",
      "tree": "93aa0f83a70f704e33ed378b2ad4636533bd7bde",
      "parents": [
        "74a3e5a71c9b54c63bff978e9cafbcef67600f0b"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 10:57:48 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:43 2009 -0800"
      },
      "message": "tun: Fix races in tun_set_iff\n\nIt is possible for two different tasks with access to the same file\ndescriptor to call tun_set_iff on it at the same time and race to\nattach to a tap device.  Prevent this by placing all of the logic to\nattach to a file descriptor in one function and testing the file\ndescriptor to be certain it is not already attached to another tun\ndevice.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74a3e5a71c9b54c63bff978e9cafbcef67600f0b",
      "tree": "b6c3c043a40e62e5ba0e922c90545ee2a986616f",
      "parents": [
        "f5882c30508c1e3c4fbbdaa9ca08d0922c5fb071"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue Jan 20 10:56:20 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 16:00:43 2009 -0800"
      },
      "message": "tun: Remove unnecessary tun_get_by_name\n\nCurrently the tun driver keeps a private list of tun devices for what\nappears to be a small gain in performance when reconnecting a file\ndescriptor to an existing tun or tap device.  So simplify the code by\nremoving it.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "745417e20684e4951afcabfe74583a3884e54980",
      "tree": "c9691a508557edd2a912207bb03b357ae24e957b",
      "parents": [
        "f26251eb68ea766a98fed922593c154d15127621"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Sun Jan 04 17:14:46 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 04 17:14:46 2009 -0800"
      },
      "message": "tun: Eliminate sparse signedness warning\n\nregister_pernet_gen_device() expects \u0027int*\u0027, found via sparse.\n\n CHECK   drivers/net/tun.c\n drivers/net/tun.c:1245:36: warning: incorrect type in argument 1 (different signedness)\n drivers/net/tun.c:1245:36:    expected int *id\n drivers/net/tun.c:1245:36:    got unsigned int static [toplevel] *\u003cnoident\u003e\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a0a9608e4459afdf2e4a7831c1cbeb41353adf6",
      "tree": "4f67fafa9ab6532dedbce1c7830a450a5e274bb0",
      "parents": [
        "36f8b9238373751b684650871fd161546b10116c"
      ],
      "author": {
        "name": "Kusanagi Kouichi",
        "email": "slash@ma.neweb.ne.jp",
        "time": "Mon Dec 29 18:23:28 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Dec 29 18:23:28 2008 -0800"
      },
      "message": "tun: Fix SIOCSIFHWADDR error.\n\nSet proper operations.\n\nSigned-off-by: Kusanagi Kouichi \u003cslash@ma.neweb.ne.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0191b625ca5a46206d2fb862bb08f36f2fcb3b31",
      "tree": "454d1842b1833d976da62abcbd5c47521ebe9bd7",
      "parents": [
        "54a696bd07c14d3b1192d03ce7269bc59b45209a",
        "eb56092fc168bf5af199d47af50c0d84a96db898"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Dec 28 12:49:40 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1429 commits)\n  net: Allow dependancies of FDDI \u0026 Tokenring to be modular.\n  igb: Fix build warning when DCA is disabled.\n  net: Fix warning fallout from recent NAPI interface changes.\n  gro: Fix potential use after free\n  sfc: If AN is enabled, always read speed/duplex from the AN advertising bits\n  sfc: When disabling the NIC, close the device rather than unregistering it\n  sfc: SFT9001: Add cable diagnostics\n  sfc: Add support for multiple PHY self-tests\n  sfc: Merge top-level functions for self-tests\n  sfc: Clean up PHY mode management in loopback self-test\n  sfc: Fix unreliable link detection in some loopback modes\n  sfc: Generate unique names for per-NIC workqueues\n  802.3ad: use standard ethhdr instead of ad_header\n  802.3ad: generalize out mac address initializer\n  802.3ad: initialize ports LACPDU from const initializer\n  802.3ad: remove typedef around ad_system\n  802.3ad: turn ports is_individual into a bool\n  802.3ad: turn ports is_enabled into a bool\n  802.3ad: make ntt bool\n  ixgbe: Fix set_ringparam in ixgbe to use the same memory pools.\n  ...\n\nFixed trivial IPv4/6 address printing conflicts in fs/cifs/connect.c due\nto the conversion to %pI (in this networking merge) and the addition of\ndoing IPv6 addresses (from the earlier merge of CIFS).\n"
    },
    {
      "commit": "008298231abbeb91bc7be9e8b078607b816d1a4a",
      "tree": "8cb0c17720086ef97c614b96241f06aa63ce8511",
      "parents": [
        "6ab33d51713d6d60c7677c0d020910a8cb37e513"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 20 20:14:53 2008 -0800"
      },
      "message": "netdev: add more functions to netdevice ops\n\nThis patch moves neigh_setup and hard_start_xmit into the network device ops\nstructure. For bisection, fix all the previously converted drivers as well.\nBonding driver took the biggest hit on this.\n\nAdded a prefetch of the hard_start_xmit in the fast path to try and reduce\nany impact this would have.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "758e43b74c903ad368ceced31601ba5d96f31238",
      "tree": "6942bc3aae54bd1d46067dc9462f8b0eb4dc9c77",
      "parents": [
        "48dfcde46ef23cfad1e0c0f13d4eae15c7f46efc"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Nov 19 22:10:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 19 22:42:47 2008 -0800"
      },
      "message": "tun: convert to net_device_ops\n\nConvert the TUN/TAP tunnel driver to net_device_ops.\nSplit the ops in two, and retain compatability.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86a264abe542cfececb4df129bc45a0338d8cdb9",
      "tree": "30152f04ba847f311028d5ca697f864c16c7ebb3",
      "parents": [
        "f1752eec6145c97163dbce62d17cf5d928e28a27"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:39:18 2008 +1100"
      },
      "message": "CRED: Wrap current-\u003ecred and a few other accessors\n\nWrap current-\u003ecred and a few other accessors to hide their actual\nimplementation.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "ee9785ada3573700efe77b78c03d4e26a4e1bf26",
      "tree": "8e7ed03fa61a04c3a35b99cab0835b99d41488ea",
      "parents": [
        "0e164b685cab357546a9a09ef234922b82ecbfaf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Nov 14 10:38:43 2008 +1100"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Fri Nov 14 10:38:43 2008 +1100"
      },
      "message": "CRED: Wrap task credential accesses in the network device drivers\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nCc: netdev@vger.kernel.org\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "9eeda9abd1faf489f3df9a1f557975f4c8650363",
      "tree": "3e0a58e25b776cfbee193195460324dccb1886c7",
      "parents": [
        "61c9eaf90081cbe6dc4f389e0056bff76eca19ec",
        "4bab0ea1d42dd1927af9df6fbf0003fc00617c50"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 06 22:43:03 2008 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/ath5k/base.c\n\tnet/8021q/vlan_core.c\n"
    },
    {
      "commit": "babcda74e9d96bb58fd9c6c5112dbdbff169e695",
      "tree": "fcbe5e70f1fff01ad49504171e964c387a5ad7f8",
      "parents": [
        "ab2910921064b657610a3b501358a305e13087ea"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 21:11:17 2008 -0800"
      },
      "message": "drivers/net: Kill now superfluous -\u003elast_rx stores.\n\nThe generic packet receive code takes care of setting\nnetdev-\u003elast_rx when necessary, for the sake of the\nbonding ARP monitor.\n\nDrivers need not do it any more.\n\nSome cases had to be skipped over because the drivers\nwere making use of the -\u003elast_rx value themselves.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "233e70f4228e78eb2f80dc6650f65d3ae3dbf17c",
      "tree": "4e18fbe1851e6d2161b7f18265cb21f8a61e3ce7",
      "parents": [
        "3318a386e4ca68c76e0294363d29bdc46fcad670"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Oct 31 23:28:30 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 09:49:46 2008 -0700"
      },
      "message": "saner FASYNC handling on file close\n\nAs it is, all instances of -\u003erelease() for files that have -\u003efasync()\nneed to remember to evict file from fasync lists; forgetting that\ncreates a hole and we actually have a bunch that *does* forget.\n\nSo let\u0027s keep our lives simple - let __fput() check FASYNC in\nfile-\u003ef_flags and call -\u003efasync() there if it\u0027s been set.  And lose that\ncrap in -\u003erelease() instances - leaving it there is still valid, but we\ndon\u0027t have to bother anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e174961ca1a0b28f7abf0be47973ad57cb74e5f0",
      "tree": "e8f74ecd420a0e380a71670e5aec5c2a0c15640a",
      "parents": [
        "0c68ae2605dbcf67414d8d1f19af93be44b355fb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Oct 27 15:59:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:18 2008 -0700"
      },
      "message": "net: convert print_mac to %pM\n\nThis converts pretty much everything to print_mac. There were\na few things that had conflicts which I have just dropped for\nnow, no harm done.\n\nI\u0027ve built an allyesconfig with this and looked at the files\nthat weren\u0027t built very carefully, but it\u0027s a huge patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f42157cb568c1eb02eca7df4da67553a9edae24a",
      "tree": "f8c104a73ae5558e104a07e254a9eafd7839269d",
      "parents": [
        "db543c1f973cd1d557cc32ceee76737c1e4d2898"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Aug 15 15:15:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:52:31 2008 -0700"
      },
      "message": "tun: fallback if skb_alloc() fails on big packets\n\nskb_alloc produces linear packets (using kmalloc()).  That can fail,\nso should we fall back to making paged skbs.\n\nMy original version of this patch always allocate paged skbs for big\npackets.  But that made performance drop from 8.4 seconds to 8.8\nseconds on 1G lguest-\u003eHost TCP xmit.  So now we only do that as a\nfallback.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3b99556975907530aeb9745e7b3945a0da48f17",
      "tree": "97f764e5c8587efcba64ad8d0edce9fee094e143",
      "parents": [
        "04a0551c87363f100b04d28d7a15a632b70e18e7"
      ],
      "author": {
        "name": "Mark McLoughlin",
        "email": "markmc@redhat.com",
        "time": "Fri Aug 15 15:09:56 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Aug 15 19:52:19 2008 -0700"
      },
      "message": "tun: TUNGETIFF interface to query name and flags\n\nAdd a TUNGETIFF interface so that userspace can query a\ntun/tap descriptor for its name and flags.\n\nThis is needed because it is common for one app to create\na tap interface, exec another app and pass it the file\ndescriptor for the interface. Without TUNGETIFF the spawned\napp has no way of detecting wheter the interface has e.g.\nIFF_VNET_HDR set.\n\nSigned-off-by: Mark McLoughlin \u003cmarkmc@redhat.com\u003e\nAcked-by: Max Krasnyansky \u003cmaxk@qualcomm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ],
  "next": "c0e5a8c21bb9bb222917c36eba503ae88af52c34"
}
