)]}'
{
  "log": [
    {
      "commit": "e2ec4581adf7e288c193e981c39ca01cdb20a272",
      "tree": "354c0afb64104457d2690e656f2d7ae883ff5722",
      "parents": [
        "976de6a8c304dcc43e38efcb8a0bace7866b6242"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Mon Oct 01 14:20:56 2007 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:03 2007 -0700"
      },
      "message": "Generic bitbanged MDIO library\n\nPreviously, bitbanged MDIO was only supported in individual\nhardware-specific drivers.  This code factors out the higher level\nprotocol implementation, reducing the hardware-specific portion to\nfunctions setting direction, data, and clock.\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "976de6a8c304dcc43e38efcb8a0bace7866b6242",
      "tree": "bae132693bbcfa65c03cf44c7db924fdebf13158",
      "parents": [
        "0d0d9c150c046cbd3e507adcfa2d78db82f1f452"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Tue Oct 02 10:55:58 2007 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:03 2007 -0700"
      },
      "message": "fs_enet: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set.\n\nThe existing OF glue code was crufty and broken.  Rather than fix it, it\nwill be removed, and the ethernet driver now talks to the device tree\ndirectly.\n\nThe old, non-CONFIG_PPC_CPM_NEW_BINDING code can go away once CPM\nplatforms are dropped from arch/ppc (which will hopefully be soon), and\nexisting arch/powerpc boards that I wasn\u0027t able to test on for this\npatchset get converted (which should be even sooner).\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "b7336d3d886aaab6971773864c477210ef9b995a",
      "tree": "863288ba8bab1c4f3d35b2328bdeecd6b0c6bdd7",
      "parents": [
        "0fb300fa9d54118c6dce772a29362d896775eff2"
      ],
      "author": {
        "name": "Scott Wood",
        "email": "scottwood@freescale.com",
        "time": "Mon Oct 01 14:20:49 2007 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:01 2007 -0700"
      },
      "message": "fs_enet: Include linux/string.h from linux/fs_enet_pd.h\n\nIt is needed for strstr().\n\nSigned-off-by: Scott Wood \u003cscottwood@freescale.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "8336793baf962163c9fab5a3f39614295fdbab27",
      "tree": "6940426f8880928444e227d43085ca3d2fbfba80",
      "parents": [
        "b3448b0bde5f1a858397fe791f76632e978a1dc8"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Sun Sep 30 17:56:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:57 2007 -0700"
      },
      "message": "[ZLIB]: Move bnx2 driver gzip unpacker into zlib.\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nAcked-by: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "89e536a190f90d038bae7905a0c582cb7089b739",
      "tree": "3d9f7dc5c750c8adcadf568e98f12395bd7c5b68",
      "parents": [
        "6daf65310374d24d888201b7a6eba90b44008b7b"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Fri Sep 28 22:42:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:56 2007 -0700"
      },
      "message": "ax88796: add 93cx6 eeprom support\n\nHook up the 93cx6 eeprom code to the ax88796 driver and modify the ax88796\ndriver to read out the mac address from the eeprom.  We need this for the\nax88796 on certain SuperH boards.  The pin configuration used to connect\nthe eeprom to the ax88796 on these boards is the same as pointed out by the\nax88796 datasheet, so we can probably reuse this code for multiple\nplatforms in the future.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nCc: Ben Dooks \u003cben-linux@fluff.org\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0ac49527318bc388a881152d60f49d7951606024",
      "tree": "64b99a7543c913ff17344259b3938d6a5702ef69",
      "parents": [
        "f7ab697d328b0a417d9e3cb891d45693ea89e83d"
      ],
      "author": {
        "name": "Maciej W. Rozycki",
        "email": "macro@linux-mips.org",
        "time": "Fri Sep 28 22:42:14 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:55 2007 -0700"
      },
      "message": "PHYLIB: IRQ event workqueue handling fixes\n\nKeep track of disable_irq_nosync() invocations and call enable_irq() the\nright number of times if work has been cancelled that would include them.\n\nNow that the call to flush_work_keventd() (problematic because of\nrtnl_mutex being held) has been replaced by cancel_work_sync() another\nissue has arisen and been left unresolved.  As the MDIO bus cannot be\naccessed from the interrupt context the PHY interrupt handler uses\ndisable_irq_nosync() to prevent from looping and schedules some work to be\ndone as a softirq, which, apart from handling the state change of the\noriginating PHY, is responsible for reenabling the interrupt.  Now if the\ninterrupt line is shared by another device and a call to the softirq\nhandler has been cancelled, that call to enable_irq() never happens and the\nother device cannot use its interrupt anymore as its stuck disabled.\n\nI decided to use a counter rather than a flag because there may be more\nthan one call to phy_change() cancelled in the queue -- a real one and a\nfake one triggered by free_irq() if DEBUG_SHIRQ is used, if nothing else.\nTherefore because of its nesting property enable_irq() has to be called the\nright number of times to match the number disable_irq_nosync() was called\nand restore the original state.  This DEBUG_SHIRQ feature is also the\nreason why free_irq() has to be called before cancel_work_sync().\n\nWhile at it I updated the comment about phy_stop_interrupts() being called\nfrom `keventd\u0027 -- this is no longer relevant as the use of\ncancel_work_sync() makes such an approach unnecessary.  OTOH a similar\ncomment referring to flush_scheduled_work() in phy_stop() still applies as\nusing cancel_work_sync() there would be dangerous.\n\nChecked with checkpatch.pl and at the run time (with and without\nDEBUG_SHIRQ).\n\nSigned-off-by: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Andy Fleming \u003cafleming@freescale.com\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "7c32f470f4f6a0fdc6944cefcd22f288e59a0ae2",
      "tree": "747a4c855e6b6287421eb854496d23073315ba49",
      "parents": [
        "cdcc520d7b73445c3552a70786afed9a2b22c010"
      ],
      "author": {
        "name": "Vitaly Bordug",
        "email": "vitb@kernel.crashing.org",
        "time": "Fri Aug 10 14:05:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:50 2007 -0700"
      },
      "message": "PHY fixed driver: rework release path and update phy_id notation\n\ndevice_bind_driver() error code returning has been fixed.  release()\nfunction has been written, so that to free resources in correct way; the\nrelease path is now clean.\n\nBefore the rework, it used to cause\n Device \u0027fixed@100:1\u0027 does not have a release() function, it is broken\n and must be fixed.\n BUG: at drivers/base/core.c:104 device_release()\n\n Call Trace:\n  [\u003cffffffff802ec380\u003e] kobject_cleanup+0x53/0x7e\n  [\u003cffffffff802ec3ab\u003e] kobject_release+0x0/0x9\n  [\u003cffffffff802ecf3f\u003e] kref_put+0x74/0x81\n  [\u003cffffffff8035493b\u003e] fixed_mdio_register_device+0x230/0x265\n  [\u003cffffffff80564d31\u003e] fixed_init+0x1f/0x35\n  [\u003cffffffff802071a4\u003e] init+0x147/0x2fb\n  [\u003cffffffff80223b6e\u003e] schedule_tail+0x36/0x92\n  [\u003cffffffff8020a678\u003e] child_rip+0xa/0x12\n  [\u003cffffffff80311714\u003e] acpi_ds_init_one_object+0x0/0x83\n  [\u003cffffffff8020705d\u003e] init+0x0/0x2fb\n  [\u003cffffffff8020a66e\u003e] child_rip+0x0/0x12\n\nAlso changed the notation of the fixed phy definition on\nmdio bus to the form of \u003cspeed\u003e+\u003cduplex\u003e to make it able to be used by\ngianfar and ucc_geth that define phy_id strictly as \"%d:%d\" and cleaned up\nthe whitespace issues.\n\nSigned-off-by: Vitaly Bordug \u003cvitb@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "ee4411a1b1e0b679c99686629b5eab5a072ce49f",
      "tree": "3d8e317c2207da074af5d3c57367d95ebb537efc",
      "parents": [
        "6b6ec99a03601aba0419f34e17630f7aa8d68e5f"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Fri Sep 28 14:46:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:40 2007 -0700"
      },
      "message": "[NETFILTER]: x_tables: add xt_time match\n\nThis is ipt_time from POM-ng enhanced by the following:\n\n * xtables/ipv6 support\n * second granularity for daytime\n * day-of-month support (for example \"match on the 15th of each month\")\n * match against UTC or local timezone\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5faa1f4cb5a1f124f76172d775467f4a9db5b452",
      "tree": "99b83bd823dd5676cf68d4010a663cbbc529dea6",
      "parents": [
        "3583240249ef354760e04ae49bd7b462a638f40c"
      ],
      "author": {
        "name": "Pablo Neira Ayuso",
        "email": "pablo@netfilter.org",
        "time": "Fri Sep 28 14:43:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:37 2007 -0700"
      },
      "message": "[NETFILTER]: nf_conntrack_netlink: add support to related connections\n\nThis patch adds support to relate a connection to an existing master\nconnection. This patch is used by conntrackd to correctly replicate\nrelated connections.\n\nSigned-off-by: Pablo Neira Ayuso \u003cpablo@netfilter.org\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2b5c841f2c41c023809e3b6b95a8320246cf7f5a",
      "tree": "a98cea59cbc0048ad2e4485d178cb33a16eb06e9",
      "parents": [
        "f73e924cdd166360e8cc9a1b193008fdc9b3e3e2"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:40:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:35 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: kill nlattr_bad_size\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3730578285fcf0c628f08b0dc89425cfeafd4ba",
      "tree": "7ba377a0c5ac7070f3293f2297f2e9ab910d6865",
      "parents": [
        "dd82185f2c55e9dc2247c83d78517ef14e71d30e"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:38:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:33 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: support attribute policies\n\nAdd support for automatic checking of per-callback attribute policies.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdf708322d4658daa6eb795d1a835b97efdb335e",
      "tree": "101258e5e2316c139106d7d69726b8370c1bc1a2",
      "parents": [
        "df6fb868d6118686805c2fa566e213a8f31c8e4f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:32 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: rename functions containing \u0027nfattr\u0027\n\nThere is no struct nfattr anymore, rename functions to \u0027nlattr\u0027.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "df6fb868d6118686805c2fa566e213a8f31c8e4f",
      "tree": "3a0d7d7e9c7d2d8c2d7a06b32e02702eecbfddf6",
      "parents": [
        "7c8d4cb4198d199e65a6ced8c81f71e3ac3f4cfc"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:37:03 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:31 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: convert to generic netlink attribute functions\n\nGet rid of the duplicated rtnetlink macros and use the generic netlink\nattribute functions. The old duplicated stuff is moved to a new header\nfile that exists just for userspace.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c8d4cb4198d199e65a6ced8c81f71e3ac3f4cfc",
      "tree": "f931048ba1e765b8a6189cd8d16d20e514f1fc44",
      "parents": [
        "169e36742572934f5d846cfa5f9d76e72d505db4"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Fri Sep 28 14:15:45 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:30 2007 -0700"
      },
      "message": "[NETFILTER]: nfnetlink: make subsystem and callbacks const\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "169e36742572934f5d846cfa5f9d76e72d505db4",
      "tree": "933e2d74af1185da4a5910c5877a0ce3a26d9550",
      "parents": [
        "9e0db4b12c7deda532ad13d37a84ee41dd691066"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 27 17:10:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:30 2007 -0700"
      },
      "message": "[NETNS]: CLONE_NEWNET don\u0027t use the same clone flag as the pid namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe242cfd3390b1c7d54d60f7ebb6a4054804cd41",
      "tree": "0a2ad56479c5a48a57c9635139b3b85de2ae5c3d",
      "parents": [
        "a50e2e3f3e6303e893c4c438c0692d459d7093a5"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Thu Sep 27 14:57:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:29 2007 -0700"
      },
      "message": "[RFKILL]: Move rfkill_switch_all out of global header\n\nrfkill_switch_all shouldn\u0027t be called by drivers directly,\ninstead they should send a signal over the input device.\n\nTo prevent confusion for driver developers, move the\nfunction into a rfkill private header.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "279632be3f546f4d88bdb086fa71479bcde9d641",
      "tree": "b5b636369306e068d714ce466b20e002e2cb793f",
      "parents": [
        "30ccb08847c2d89e1cf893bf5f3155c023a9d142"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Thu Sep 27 14:42:42 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:18 2007 -0700"
      },
      "message": "[PATCH] rfkill: Fix documentation typos\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "b4219952356baa162368f2f5dab6421a5dbc5e15",
      "tree": "4d99027b3453853c79a32793c4ebda76c6386169",
      "parents": [
        "ce1234d299f3823ea07019c0f7b7b0bcb81ee7a0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 27 12:48:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:53:11 2007 -0700"
      },
      "message": "[PKT_SCHED]: Add stateless NAT\n\nStateless NAT is useful in controlled environments where restrictions are\nplaced on through traffic such that we don\u0027t need connection tracking to\ncorrectly NAT protocol-specific data.\n\nIn particular, this is of interest when the number of flows or the number\nof addresses being NATed is large, or if connection tracking information\nhas to be replicated and where it is not practical to do so.\n\nPreviously we had stateless NAT functionality which was integrated into\nthe IPv4 routing subsystem.  This was a great solution as long as the NAT\nworked on a subnet to subnet basis such that the number of NAT rules was\nrelatively small.  The reason is that for SNAT the routing based system\nhad to perform a linear scan through the rules.\n\nIf the number of rules is large then major renovations would have take\nplace in the routing subsystem to make this practical.\n\nFor the time being, the least intrusive way of achieving this is to use\nthe u32 classifier written by Alexey Kuznetsov along with the actions\ninfrastructure implemented by Jamal Hadi Salim.\n\nThe following patch is an attempt at this problem by creating a new nat\naction that can be invoked from u32 hash tables which would allow large\nnumber of stateless NAT rules that can be used/updated in constant time.\n\nThe actual NAT code is mostly based on the previous stateless NAT code\nwritten by Alexey.  In future we might be able to utilise the protocol\nNAT code from netfilter to improve support for other protocols.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f97df02e23269c7650869f6192e809f8ac1a4b39",
      "tree": "ec94bcf660ff34c51562ac285d2b6fac38cc9059",
      "parents": [
        "75a5f0ccfdbc0151ee40bb742f7b5c8eba493c0e"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue Sep 18 17:29:20 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:59 2007 -0700"
      },
      "message": "[PATCH] wireless networking: move frame inline functions to generic header\n\nThese inlines are generally useful, not just with mac80211.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Michael Wu \u003cflamingice@sourmilk.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "3b04ddde02cf1b6f14f2697da5c20eca5715017f",
      "tree": "9da1341a5a399a507b5ea6bf5a3047506b8d8f8f",
      "parents": [
        "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:40:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:52 2007 -0700"
      },
      "message": "[NET]: Move hardware header operations out of netdevice.\n\nSince hardware header operations are part of the protocol class\nnot the device instance, make them into a separate object and\nsave memory.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b95cce3576813ac3f86bafa6b5daaaaf7574b0fe",
      "tree": "54da3f245ee145722623a8e0eaab5fc49ea78511",
      "parents": [
        "0c4e85813d0a94eeb8bf813397a4907bdd7bb610"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Sep 26 22:13:38 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:51 2007 -0700"
      },
      "message": "[NET]: Wrap hard_header_parse\n\nWrap the hard_header_parse function to simplify next step of\nheader_ops conversion.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c4e85813d0a94eeb8bf813397a4907bdd7bb610",
      "tree": "53ee948abc930bb1c5cd270c490f87fda5eb45b3",
      "parents": [
        "4c94f8c0c9a82fad84bc5df453aff755cfed70b7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Oct 09 01:36:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:50 2007 -0700"
      },
      "message": "[NET]: Wrap netdevice hardware header creation.\n\nAdd inline for common usage of hardware header creation, and\nfix bug in IPV6 mcast where the assumption about negative return is\nan errno. Negative return from hard_header means not enough space\nwas available,(ie -N bytes).\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2774c7aba6c97a2535be3309a2209770953780b3",
      "tree": "9327c795707f6d723c6395c31e1c060e70b5e0db",
      "parents": [
        "0cc217e16cb8ca8ef2544363571fce94259900e0"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:10:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:49 2007 -0700"
      },
      "message": "[NET]: Make the loopback device per network namespace.\n\nThis patch makes loopback_dev per network namespace.  Adding\ncode to create a different loopback device for each network\nnamespace and adding the code to free a loopback device\nwhen a network namespace exits.\n\nThis patch modifies all users the loopback_dev so they\naccess it as init_net.loopback_dev, keeping all of the\ncode compiling and working.  A later pass will be needed to\nupdate the users to use something other than the initial network\nnamespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9dd776b6d7b0b85966b6ddd03e2b2aae59012ab1",
      "tree": "ed92aee1f242bb31a0965a4156063eac916ae15e",
      "parents": [
        "8b41d1887db718be9a2cd9e18c58ce25a4c7fd93"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 26 22:04:26 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:46 2007 -0700"
      },
      "message": "[NET]: Add network namespace clone \u0026 unshare support.\n\nThis patch allows you to create a new network namespace\nusing sys_clone, or sys_unshare.\n\nAs the network namespace is still experimental and under development\nclone and unshare support is only made available when CONFIG_NET_NS is\nselected at compile time.\n\nAs this patch introduces network namespace support into code paths\nthat exist when the CONFIG_NET is not selected there are a few\nadditions made to net_namespace.h to allow a few more functions\nto be used when the networking stack is not compiled in.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a94f0f970549e63e54c80c4509db299c514d8c11",
      "tree": "3b9421fc70e00c16ed57ef4330b24504b04ae309",
      "parents": [
        "ee1a15922d356aff0e31bf9bb9088ab346b8033a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 11:31:49 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:43 2007 -0700"
      },
      "message": "[DCCP]: Rate-limit DCCP-Syncs\n\nThis implements a SHOULD from RFC 4340, 7.5.4:\n \"To protect against denial-of-service attacks, DCCP implementations SHOULD\n  impose a rate limit on DCCP-Syncs sent in response to sequence-invalid packets,\n  such as not more than eight DCCP-Syncs per second.\"\n\nThe rate-limit is maintained on a per-socket basis. This is a more stringent\npolicy than enforcing the rate-limit on a per-source-address basis and\nprotects against attacks with forged source addresses.\n\nMoreover, the mechanism is deliberately kept simple. In contrast to\nxrlim_allow(), bursts of Sync packets in reply to sequence-invalid packets\nare not supported.  This foils such attacks where the receipt of a Sync\ntriggers further sequence-invalid packets. (I have tested this mechanism against\nxrlim_allow algorithm for Syncs, permitting bursts just increases the problems.)\n\nIn order to keep flexibility, the timeout parameter can be set via sysctl; and\nthe whole mechanism can even be disabled (which is however not recommended).\n\nThe algorithm in this patch has been improved with regard to wrapping issues\nthanks to a suggestion by Arnaldo.\n\nCommiter note: Rate limited the step 6 DCCP_WARN too, as it says we\u0027re\n               sending a sync.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "0430ee3451f4589b68f522552b1896825f2043b3",
      "tree": "f96e46fa079d90a51a4fc5b912d271470b489668",
      "parents": [
        "727ecc5faaf6e976fc841649821c865ebd1e822d"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Sep 26 11:27:56 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:42 2007 -0700"
      },
      "message": "[DCCP]: Add Support for Data 1 .. 3 fields of Reset packets\n\nThis adds fields to support the informational Data 1..3 fields of the\nDCCP-Reset packets (RFC 4340, 5.6), and makes minor cosmetic changes\nto documentation.\nCode which fills in these fields follows in subsequent patches, it is\nprimarily used for reporting option-processing and feature-negotiation\nerrors.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\n"
    },
    {
      "commit": "912d8f0b1f17b7e851ebbfeb17a16de9f9c7cb88",
      "tree": "176cf4f23aaae9790d947579473da1f8d349a942",
      "parents": [
        "93e680202929802558f783fbd96c41697ae65472"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Tue Sep 25 22:47:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:39 2007 -0700"
      },
      "message": "[TCP] MIB: Count FRTO\u0027s successfully detected spurious RTOs\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e24eb521fbf2a350ce879dfc1d8e56d4ffa2aa22",
      "tree": "6495c4bd8e2bdd6a376dea5252d36bc61f40c8a6",
      "parents": [
        "1156b2c689bf509cdc254394598d410787a02aec"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Tue Sep 25 19:42:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:17 2007 -0700"
      },
      "message": "[NET]: note that NETIF_F_LLTX is deprecated\n\nAm Freitag, 21. September 2007 schrieb Herbert Xu:\n\u003e Please don\u0027t use LLTX in new drivers.  We\u0027re trying to get rid\n\u003e of it since it\u0027s\n\u003e\n\u003e 1) unnecessary;\n\u003e 2) causes problems with AF_PACKET seeing things twice.\n\nI suggest to document that LLTX is deprecated.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3cb747ffac5f2a4a6bb156e7e2fd5229e688e5",
      "tree": "fe79764b8093843934c9b9f82f573e7a92cef406",
      "parents": [
        "556829657397b9b05baec6691ead4e22ee8d1567"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Tue Sep 25 19:16:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NET]: Dynamically allocate the loopback device, part 1.\n\nThis patch replaces all occurences to the static variable\nloopback_dev to a pointer loopback_dev. That provides the\nmindless, trivial, uninteressting change part for the dynamic\nallocation for the loopback.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-By: Kirill Korotaev \u003cdev@sw.ru\u003e\nAcked-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "556829657397b9b05baec6691ead4e22ee8d1567",
      "tree": "44242431553e5e22c0bceaab7a06d9d7bf0dd2f6",
      "parents": [
        "0800f170263d19b882e519441156c5f6ed190fc1"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Thu Sep 20 13:09:35 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:14 2007 -0700"
      },
      "message": "[NL80211]: add netlink interface to cfg80211\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b963dc1df78399a2166c2e6e3eb726a2dc98cf11",
      "tree": "5a14d7d2cf9bebaaa1591c457fc30a42c3000b6d",
      "parents": [
        "53c03f5c9e3c05a2484ad6bb1d88c0aa54befa47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 23 02:55:33 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:04 2007 -0700"
      },
      "message": "pppoe: endianness\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "701181ac1d9ac465a3614061cb60ded4033c4d07",
      "tree": "e369e1a0923d6dc29ef7c75ec166fe19b90add97",
      "parents": [
        "05d2fec9f5e5fd1d7169435631b9d55ae4c566d1"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 22 22:59:11 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:59 2007 -0700"
      },
      "message": "arcnet endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0795af5729b18218767fab27c44b1384f72dc9ad",
      "tree": "67c16df84aa6ec219340b8ea1b5cfb0e8150a216",
      "parents": [
        "95ea36275f3c9a1d3d04c217b4b576c657c4e70e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Oct 03 17:59:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:42 2007 -0700"
      },
      "message": "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()\n\nThis is nicer than the MAC_FMT stuff.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "61e115a56d1aafd6e6a8a9fee8ac099a6128ac7b",
      "tree": "add97bf6a1207a4caea3a86cf13495ad3dc477de",
      "parents": [
        "5ee3afba88f5a79d0bff07ddd87af45919259f91"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Tue Sep 18 15:12:50 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:36 2007 -0700"
      },
      "message": "[SSB]: add Sonics Silicon Backplane bus support\n\nSSB is an SoC bus used in a number of embedded devices.  The most\nwell-known of these devices is probably the Linksys WRT54G, but there\nare others as well.  The bus is also used internally on the BCM43xx\nand BCM44xx devices from Broadcom.\n\nThis patch also includes support for SSB ID tables in modules, so\nthat SSB drivers can be loaded automatically.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "768f3591e2b1cc309fd6f10d6579b216026d7817",
      "tree": "0328abd6a6a306e648120ac2ef20332954e852e0",
      "parents": [
        "1a348ccc1047a00507e554826775a3d81f7f3437"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 13:20:41 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:35 2007 -0700"
      },
      "message": "[NETNS]: Cleanup list walking in setup_net and cleanup_net\n\nI proposed introducing a list_for_each_entry_continue_reverse macro\nto be used in setup_net() when unrolling the failed -\u003einit callback.\n\nHere is the macro and some more cleanup in the setup_net() itself\nto remove one variable from the stack :) The same thing is for the\ncleanup_net() - the existing list_for_each_entry_reverse() is used.\n\nMinor, but the code looks nicer.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a348ccc1047a00507e554826775a3d81f7f3437",
      "tree": "df2a7cd4ee403dbb60705a5988c97a721f7eb2a0",
      "parents": [
        "1202d6ff356cc66dc8d2b85546eb4f187f9e1f25"
      ],
      "author": {
        "name": "Andy Gospodarek",
        "email": "andy@greyhouse.net",
        "time": "Mon Sep 17 18:50:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:34 2007 -0700"
      },
      "message": "[NET]: Add Tehuti network driver.\n\n[ Ported to napi_struct changes... -DaveM ]\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1202d6ff356cc66dc8d2b85546eb4f187f9e1f25",
      "tree": "158ddb9c96756ecc60a205ebc7243ee9c3e2e05b",
      "parents": [
        "6b2f9cb64db2d2460da17900bf54266030cc24f1"
      ],
      "author": {
        "name": "Francois Romieu",
        "email": "romieu@fr.zoreil.com",
        "time": "Mon Sep 17 17:13:55 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:33 2007 -0700"
      },
      "message": "[IPG]: add IP1000A driver to kernel tree\n\nSigned-off-by: Jesse Huang \u003cjesse@icplus.com.tw\u003e\nSigned-off-by: Stefan Lippers-Hollmann \u003cs.l-h@gmx.de\u003e\nSigned-off-by: Francois Romieu \u003cromieu@fr.zoreil.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f7b0e93ba1a484700bd1b0e36bdaddaf4eb51b0b",
      "tree": "b2d4e47039ca99a11ca737b72e43d2bfa8efa3be",
      "parents": [
        "96793b482540f3a26e2188eaf75cb56b7829d3e3"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Sun Sep 16 19:26:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:28 2007 -0700"
      },
      "message": "[SCTP]: protocol definitions for SCTP-AUTH implementation\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "96793b482540f3a26e2188eaf75cb56b7829d3e3",
      "tree": "3dfc2871b69cc358ed55dc2adc3bfeef47382cb3",
      "parents": [
        "14878f75abd5bf1d38becb405801cd491ee215dc"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Mon Sep 17 09:57:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:28 2007 -0700"
      },
      "message": "[IPV4]: Add ICMPMsgStats MIB (RFC 4293)\n\nBackground: RFC 4293 deprecates existing individual, named ICMP\ntype counters to be replaced with the ICMPMsgStatsTable. This table\nincludes entries for both IPv4 and IPv6, and requires counting of all\nICMP types, whether or not the machine implements the type.\n\nThese patches \"remove\" (but not really) the existing counters, and\nreplace them with the ICMPMsgStats tables for v4 and v6.\nIt includes the named counters in the /proc places they were, but gets the\nvalues for them from the new tables. It also counts packets generated\nfrom raw socket output (e.g., OutEchoes, MLD queries, RA\u0027s from\nradvd, etc).\n\nChanges:\n1) create icmpmsg_statistics mib\n2) create icmpv6msg_statistics mib\n3) modify existing counters to use these\n4) modify /proc/net/snmp to add \"IcmpMsg\" with all ICMP types\n        listed by number for easy SNMP parsing\n5) modify /proc/net/snmp printing for \"Icmp\" to get the named data\n        from new counters.\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14878f75abd5bf1d38becb405801cd491ee215dc",
      "tree": "872d70add65e1e58ccbbcc4534c7e826bd3fa9ed",
      "parents": [
        "8b14a536701b50559a0d69d5d593323f550db4e9"
      ],
      "author": {
        "name": "David L Stevens",
        "email": "dlstevens@us.ibm.com",
        "time": "Sun Sep 16 16:52:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:27 2007 -0700"
      },
      "message": "[IPV6]: Add ICMPMsgStats MIB (RFC 4293) [rev 2]\n\nBackground: RFC 4293 deprecates existing individual, named ICMP\ntype counters to be replaced with the ICMPMsgStatsTable. This table\nincludes entries for both IPv4 and IPv6, and requires counting of all\nICMP types, whether or not the machine implements the type.\n\nThese patches \"remove\" (but not really) the existing counters, and\nreplace them with the ICMPMsgStats tables for v4 and v6.\nIt includes the named counters in the /proc places they were, but gets the\nvalues for them from the new tables. It also counts packets generated\nfrom raw socket output (e.g., OutEchoes, MLD queries, RA\u0027s from\nradvd, etc).\n\nChanges:\n1) create icmpmsg_statistics mib\n2) create icmpv6msg_statistics mib\n3) modify existing counters to use these\n4) modify /proc/net/snmp to add \"IcmpMsg\" with all ICMP types\n        listed by number for easy SNMP parsing\n5) modify /proc/net/snmp printing for \"Icmp\" to get the named data\n        from new counters.\n[new to 2nd revision]\n6) support per-interface ICMP stats\n7) use common macro for per-device stat macros\n\nSigned-off-by: David L Stevens \u003cdlstevens@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "131a47e31ab1a9defd50ff16b04008ab94c21c0d",
      "tree": "8ac3eb522333d1b6f9bd5741a8decbfb4220f432",
      "parents": [
        "76c72d4f44ec5fb7f88eda8a0d3aa30922c891d1"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Sun Sep 16 15:53:56 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:23 2007 -0700"
      },
      "message": "[SCTP]: Implement the Supported Extensions Parameter\n\nSCTP Supported Extenions parameter is specified in Section 4.2.7\nof the ADD-IP draft (soon to be RFC).  The parameter is\nencoded as:\n\n      0                   1                   2                   3\n      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n     |     Parameter Type \u003d 0x8008   |      Parameter Length         |\n     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n     | CHUNK TYPE 1  |  CHUNK TYPE 2 |  CHUNK TYPE 3 |  CHUNK TYPE 4 |\n     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n     |                             ....                              |\n     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n     | CHUNK TYPE N  |      PAD      |      PAD      |      PAD      |\n     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n\nIt contains a list of chunks that a particular SCTP extension\nuses.  Current extensions supported are Partial Reliability\n(FWD-TSN) and ADD-IP (ASCONF and ASCONF-ACK).\n\nWhen implementing new extensions (AUTH, PKT-DROP, etc..), new\nchunks need to be added to this parameter.  Parameter processing\nwould be modified to negotiate support for these new features.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad7379d49458a863c520a73a3c36441c572f850e",
      "tree": "64c9c28a5b699e8be2cb84ef97c3c827ea118b39",
      "parents": [
        "22dd74950172dc8979576e2bef3b439f20ef0b05"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sun Sep 16 15:33:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:20 2007 -0700"
      },
      "message": "[NET]: Fix the prototype of call_netdevice_notifiers.\n\nThis replaces the void * parameter with a struct net_device * which\nis what is actually required.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "22dd74950172dc8979576e2bef3b439f20ef0b05",
      "tree": "d918ef8e1841cd4e5938febd2c584c02dcc6ca25",
      "parents": [
        "4885a50476b95fa0f4caad179a80783508c2fe86"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Sun Sep 16 14:40:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:20 2007 -0700"
      },
      "message": "[NET]: migrate HARD_TX_LOCK to header file\n\nHARD_TX_LOCK micro is a nice aggregation that could be used\nin other spots. move it to netdevice.h\nAlso makes sure the previously superflous cpu arguement is used.\nThanks to DaveM for the suggestions.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09f75cd7bf13720738e6a196cc0107ce9a5bd5a0",
      "tree": "4c85b0b395abe7f88c87162fc22570e5de255cb1",
      "parents": [
        "ff8ac60948ba819b89e9c87083e8050fc2f89999"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Oct 03 17:41:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:16 2007 -0700"
      },
      "message": "[NET] drivers/net: statistics cleanup #1 -- save memory and shrink code\n\nWe now have struct net_device_stats embedded in struct net_device,\nand the default -\u003eget_stats() hook does the obvious thing for us.\n\nRun through drivers/net/* and remove the driver-local storage of\nstatistics, and driver-local -\u003eget_stats() hook where applicable.\n\nThis was just the low-hanging fruit in drivers/net; plenty more drivers\nremain to be updated.\n\n[ Resolved conflicts with napi_struct changes and fix sunqe build\n  regression... -DaveM ]\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "10d024c1b2fd58af8362670d7d6e5ae52fc33353",
      "tree": "dbfb03c539986e2c1270385eb0083aaf0dfca8ab",
      "parents": [
        "596c5c97431eab8465739c169401ea611127b9ad"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Sep 17 13:11:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:13 2007 -0700"
      },
      "message": "[NET]: Nuke SET_MODULE_OWNER macro.\n\nIt\u0027s been a useless no-op for long enough in 2.6 so I figured it\u0027s time to\nremove it.  The number of people that could object because they\u0027re\nmaintaining unified 2.4 and 2.6 drivers is probably rather small.\n\n[ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e0665486b78b8efb9c25019ad29b4a4c9c1e9dfc",
      "tree": "b18f2c738eb10d6afcf7bf751b4c16056c3e248c",
      "parents": [
        "234a0ca6f1d67ba4c3c3fc8378bbd98d722468e1"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Thu Sep 13 09:21:31 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:23 2007 -0700"
      },
      "message": "[RFKILL]: Add support for ultrawideband\n\nThis patch will add support for UWB keys to rfkill,\nsupport for this has been requested by Inaky.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "234a0ca6f1d67ba4c3c3fc8378bbd98d722468e1",
      "tree": "a744629408146be683dfbef5c18f1f8bb433f3b7",
      "parents": [
        "077130c0cf7d5ba1992f5b51b96136d7b1c8aad5"
      ],
      "author": {
        "name": "Ivo van Doorn",
        "email": "IvDoorn@gmail.com",
        "time": "Thu Sep 13 09:20:42 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:23 2007 -0700"
      },
      "message": "[RFKILL]: Remove IRDA\n\nAs Dmitry pointed out earlier, rfkill-input.c\ndoesn\u0027t support irda because there are no users\nand we shouldn\u0027t add unrequired KEY_ defines.\n\nHowever, RFKILL_TYPE_IRDA was defined in the\nrfkill.h header file and would confuse people\nabout whether it is implemented or not.\n\nThis patch removes IRDA support completely,\nso it can be added whenever a driver wants the\nfeature.\n\nSigned-off-by: Ivo van Doorn \u003cIvDoorn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "077130c0cf7d5ba1992f5b51b96136d7b1c8aad5",
      "tree": "c8fd2622e7d633cc504c7543b55e25bd6d99a2fa",
      "parents": [
        "4fabcd7118162e36eea5c53e8895ecc13762bef3"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Thu Sep 13 09:18:57 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:22 2007 -0700"
      },
      "message": "[NET]: Fix race when opening a proc file while a network namespace is exiting.\n\nThe problem:  proc_net files remember which network namespace the are\nagainst but do not remember hold a reference count (as that would pin\nthe network namespace).   So we currently have a small window where\nthe reference count on a network namespace may be incremented when opening\na /proc file when it has already gone to zero.\n\nTo fix this introduce maybe_get_net and get_proc_net.\n\nmaybe_get_net increments the network namespace reference count only if it is\ngreater then zero, ensuring we don\u0027t increment a reference count after it\nhas gone to zero.\n\nget_proc_net handles all of the magic to go from a proc inode to the network\nnamespace instance and call maybe_get_net on it.\n\nPROC_NET the old accessor is removed so that we don\u0027t get confused and use\nthe wrong helper function.\n\nThen I fix up the callers to use get_proc_net and handle the case case\nwhere get_proc_net returns NULL.  In that case I return -ENXIO because\neffectively the network namespace has already gone away so the files\nwe are trying to access don\u0027t exist anymore.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@us.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fabcd7118162e36eea5c53e8895ecc13762bef3",
      "tree": "29a1b009e9bbd52bcce413f9b06c892b09783ccd",
      "parents": [
        "e08b09983fe9cf379faf1aefdf9164268d4610e7"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Thu Sep 13 09:16:29 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:21 2007 -0700"
      },
      "message": "[NETNS]: Fix allnoconfig compilation error.\n\nWhen CONFIG_NET\u003dno, init_net is unresolved because net_namespace.c\nis not compiled and the include pull init_net definition.\n\nThis problem was very similar with the ipc namespace where the kernel\ncan be compiled with SYSV ipc out.\n\nThis patch fix that defining a macro which simply remove init_net\ninitialization from nsproxy namespace aggregator.\n\nCompiled and booted on qemu-i386 with CONFIG_NET\u003dno and CONFIG_NET\u003dyes.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nAcked-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e08b09983fe9cf379faf1aefdf9164268d4610e7",
      "tree": "579988b32bba063fa5e143b01887eb525176fc98",
      "parents": [
        "e9bef55d3d062ee7a78fde2913ec87ca9305a1e0"
      ],
      "author": {
        "name": "Jesper Dangaard Brouer",
        "email": "hawk@comx.dk",
        "time": "Wed Sep 12 16:36:28 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:20 2007 -0700"
      },
      "message": "[NET_SCHED]: Making rate table lookups more flexible.\n\nThis is done in order to, add support to changing the rate table to\nuse the upper-boundry L2T (length to time) value. Currently we use the\nlower-boundry, which result in under-estimating the actual bandwidth\nusage.\n\nExtend the tc_ratespec struct, with two parameters: 1) \"cell_align\"\nthat allow adjusting the alignment of the rate table. 2) \"overhead\"\nthat allow adding a packet overhead before the lookup.\n\nSigned-off-by: Jesper Dangaard Brouer \u003chawk@comx.dk\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a050c33f4a4d5babaf94a8ba6ae7a200135240b3",
      "tree": "d47e7be9cb38e277e767601926e11a432dd86c39",
      "parents": [
        "abf07acbb9f122218095d0d221e0f949160ccc37"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Sep 12 14:57:09 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:18 2007 -0700"
      },
      "message": "[NETNS]: Fix bad macro definition.\n\nThe macro definition is bad. When calling next_net_device with\nparameter name \"dev\", the resulting code is:\n\t  struct net_device *dev \u003d dev and that leads to an unexpected\nbehavior. Especially when llc_core is compiled in, the kernel panics\nat boot time.\nThe patchset change macro definition with static inline functions as\nthey were defined before.\n\nSigned-off-by: Benjamin Thery \u003cbenjamin.thery@bull.net\u003e\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4c1f9b049df3be11090f1c2c4738700302acae",
      "tree": "51271d32096e4419173072d120176b4428e52a11",
      "parents": [
        "9d5010db7ecfd6ec00119d3b185c4c0cd3265167"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Sep 12 14:44:36 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:16 2007 -0700"
      },
      "message": "[NETLINK]: Introduce nested and byteorder flag to netlink attribute\n\nThis change allows the generic attribute interface to be used within\nthe netfilter subsystem where this flag was initially introduced.\n\nThe byte-order flag is yet unused, it\u0027s intended use is to\nallow automatic byte order convertions for all atomic types.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d8a5ec672768c3cf4d51d7a63fc071520afa1617",
      "tree": "16401b29340732fa37de7899fc44db6b682e20d7",
      "parents": [
        "ce286d327341295f58d89864d746a524287cfdf9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:57:04 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:13 2007 -0700"
      },
      "message": "[NET]: netlink support for moving devices between network namespaces.\n\nThe simplest thing to implement is moving network devices between\nnamespaces.  However with the same attribute IFLA_NET_NS_PID we can\neasily implement creating devices in the destination network\nnamespace as well.  However that is a little bit trickier so this\npatch sticks to what is simple and easy.\n\nA pid is used to identify a process that happens to be a member\nof the network namespace we want to move the network device to.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ce286d327341295f58d89864d746a524287cfdf9",
      "tree": "ee7241e7504333cc4cf647ede551248268f865c4",
      "parents": [
        "b267b179648e46ea8e2a44f7314a23eb6aee1d6c"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:53:49 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:12 2007 -0700"
      },
      "message": "[NET]: Implement network device movement between namespaces\n\nThis patch introduces NETIF_F_NETNS_LOCAL a flag to indicate\na network device is local to a single network namespace and\nshould never be moved.  Useful for pseudo devices that we\nneed an instance in each network namespace (like the loopback\ndevice) and for any device we find that cannot handle multiple\nnetwork namespaces so we may trap them in the initial network\nnamespace.\n\nThis patch introduces the function dev_change_net_namespace\na function used to move a network device from one network\nnamespace to another.  To the network device nothing\nspecial appears to happen, to the components of the network\nstack it appears as if the network device was unregistered\nin the network namespace it is in, and a new device\nwas registered in the network namespace the device\nwas moved to.\n\nThis patch sets up a namespace device destructor that\nupon the exit of a network namespace moves all of the\nmovable network devices  to the initial network namespace\nso they are not lost.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4b510290b056b86611757ce1175a230f1080f53",
      "tree": "7bd1d45855ac7457be6d50338c60751f19e436d9",
      "parents": [
        "e9dc86534051b78e41e5b746cccc291b57a3a311"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:05:38 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Support multiple network namespaces with netlink\n\nEach netlink socket will live in exactly one network namespace,\nthis includes the controlling kernel sockets.\n\nThis patch updates all of the existing netlink protocols\nto only support the initial network namespace.  Request\nby clients in other namespaces will get -ECONREFUSED.\nAs they would if the kernel did not have the support for\nthat netlink protocol compiled in.\n\nAs each netlink protocol is updated to be multiple network\nnamespace safe it can register multiple kernel sockets\nto acquire a presence in the rest of the network namespaces.\n\nThe implementation in af_netlink is a simple filter implementation\nat hash table insertion and hash table look up time.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4a1c537113cdc688aabc3fb9bb6ed18ec821c779",
      "tree": "82a414159a7646915a913f57ea94271565f43e1f",
      "parents": [
        "772698f6362680b65211f7efc68121f1e4c28aa5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 11:56:32 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:04 2007 -0700"
      },
      "message": "[NET]: Add a network namespace tag to struct net_device\n\nPlease note that network devices do not increase the count\ncount on the network namespace.  The are inside the network\nnamespace and so the network namespace tag is in the nature\nof a back pointer and so getting and putting the network namespace\nis unnecessary.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "772698f6362680b65211f7efc68121f1e4c28aa5",
      "tree": "bf7adc5563ee2de618a2b1d3c6ee1800595dd65c",
      "parents": [
        "5f256becd868bf63b70da8f2769033d6734670e9"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 11:55:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:04 2007 -0700"
      },
      "message": "[NET]: Add a network namespace parameter to tasks\n\nThis is the network namespace from which all which all sockets\nand anything else under user control ultimately get their network\nnamespace parameters.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab5f5e8b144e4c804ef3aa1ce08a9ca9f01187ce",
      "tree": "bf3915a618b29f507d882e9c665ed9d07e7c0765",
      "parents": [
        "d2e9117c7aa9544d910634e17e3519fd67155229"
      ],
      "author": {
        "name": "Joy Latten",
        "email": "latten@austin.ibm.com",
        "time": "Mon Sep 17 11:51:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:02 2007 -0700"
      },
      "message": "[XFRM]: xfrm audit calls\n\nThis patch modifies the current ipsec audit layer\nby breaking it up into purpose driven audit calls.\n\nSo far, the only audit calls made are when add/delete\nan SA/policy. It had been discussed to give each\nkey manager it\u0027s own calls to do this, but I found\nthere to be much redundnacy since they did the exact\nsame things, except for how they got auid and sid, so I\ncombined them. The below audit calls can be made by any\nkey manager. Hopefully, this is ok.\n\nSigned-off-by: Joy Latten \u003clatten@austin.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "18f02545a9a16c9a89778b91a162ad16d510bb32",
      "tree": "2b1c67a8168b695630d26216b7dd3be17179ca5c",
      "parents": [
        "5b3c98821a8753239aefc1c217409aa3e5c90787"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 24 22:55:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:30 2007 -0700"
      },
      "message": "[TCP] MIB: Add counters for discarded SACK blocks\n\nIn DSACK case, some events are not extraordinary, such as packet\nduplication generated DSACK. They can arrive easily below\nsnd_una when undo_marker is not set (TCP being in CA_Open),\ncounting such DSACKs amoung SACK discards will likely just\nmislead if they occur in some scenario when there are other\nproblems as well. Similarly, excessively delayed packets could\ncause \"normal\" DSACKs. Therefore, separate counters are\nallocated for DSACK events.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8fb8354af9b92ce3bd41083995f1fe26024d0959",
      "tree": "62d1920b5ed158e28d96691637d82a2a4fd58dc5",
      "parents": [
        "234748954a9880cce8a065698dcbf692f9c23918"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:19:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:17 2007 -0700"
      },
      "message": "[DCCP]: Nuke dccp_timestamp and dccps_epoch, not used anymore\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "19ac21465e15e476220909c01b23df847b6ffa30",
      "tree": "0f47d32208477e4150e9caa295e1badad7321628",
      "parents": [
        "0740d49c2465bdd2644455c4bc49794395b73433"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:18:33 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:16 2007 -0700"
      },
      "message": "[DCCP]: Convert dccps_timestamp_time to ktime_t\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a272378d1128d1c60a463a315646c86d174ff74c",
      "tree": "f583426e350d48b216f1e09adcc01522bcc8adc9",
      "parents": [
        "e7a81c6d62cbefdeb23d92ad891f429bde1c49d2"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:16:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:12 2007 -0700"
      },
      "message": "[KTIME]: Introduce ktime_sub_ns and ktime_sub_us\n\nFirst user will be the DCCP transport networking protocol.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "339bf024756690949f536777b921f34186eaa8b4",
      "tree": "c7b18cb27dd4ce1c66bbd0260bf8dc87f50f0465",
      "parents": [
        "ff03d49f0ca1959246068b315d26e009da692ff2"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Aug 15 16:01:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:08 2007 -0700"
      },
      "message": "[ETHTOOL]: Introduce -\u003e{get,set}_priv_flags, ETHTOOL_[GS]PFLAGS\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ff03d49f0ca1959246068b315d26e009da692ff2",
      "tree": "210cf86efa9fd4430d0011c81956bef92c3d71a3",
      "parents": [
        "3ae7c0b2e3747b50c3a6c63ebb67469e0a6b3203"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Aug 15 16:01:08 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:08 2007 -0700"
      },
      "message": "[ETHTOOL]: Introduce get_sset_count. Obsolete get_stats_count, self_test_count\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ae7c0b2e3747b50c3a6c63ebb67469e0a6b3203",
      "tree": "0f3bacac94b8c189f7dd87f3017babca476d0a69",
      "parents": [
        "0bcc1816188e570bde1d56a208996660f2633ae0"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Aug 15 16:00:51 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:07 2007 -0700"
      },
      "message": "[ETHTOOL]: Add ETHTOOL_[GS]FLAGS sub-ioctls\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0bcc1816188e570bde1d56a208996660f2633ae0",
      "tree": "8104c0b0c54a93a510b4b9b50a45cbaabad245f4",
      "parents": [
        "b5427c27173e128dda1541bd9d3b05df79af5882"
      ],
      "author": {
        "name": "Satyam Sharma",
        "email": "satyam@infradead.org",
        "time": "Fri Aug 10 15:35:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:06 2007 -0700"
      },
      "message": "[NET] netconsole: Support dynamic reconfiguration using configfs\n\nBased upon initial work by Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e.\n\nThis patch introduces support for dynamic reconfiguration (adding, removing\nand/or modifying parameters of netconsole targets at runtime) using a\nuserspace interface exported via configfs.  Documentation is also updated\naccordingly.\n\nIssues and brief design overview:\n\n(1) Kernel-initiated creation / destruction of kernel objects is not\n    possible with configfs -- the lifetimes of the \"config items\" is managed\n    exclusively from userspace.  But netconsole must support boot/module\n    params too, and these are parsed in kernel and hence netpolls must be\n    setup from the kernel.  Joel Becker suggested to separately manage the\n    lifetimes of the two kinds of netconsole_target objects -- those created\n    via configfs mkdir(2) from userspace and those specified from the\n    boot/module option string.  This adds complexity and some redundancy here\n    and also means that boot/module param-created targets are not exposed\n    through the configfs namespace (and hence cannot be updated / destroyed\n    dynamically).  However, this saves us from locking / refcounting\n    complexities that would need to be introduced in configfs to support\n    kernel-initiated item creation / destroy there.\n\n(2) In configfs, item creation takes place in the call chain of the\n    mkdir(2) syscall in the driver subsystem.  If we used an ioctl(2) to\n    create / destroy objects from userspace, the special userspace program is\n    able to fill out the structure to be passed into the ioctl and hence\n    specify attributes such as local interface that are required at the time\n    we set up the netpoll.  For configfs, this information is not available at\n    the time of mkdir(2).  So, we keep all newly-created targets (via\n    configfs) disabled by default.  The user is expected to set various\n    attributes appropriately (including the local network interface if\n    required) and then write(2) \"1\" to the \"enabled\" attribute.  Thus,\n    netpoll_setup() is then called on the set parameters in the context of\n    _this_ write(2) on the \"enabled\" attribute itself.  This design enables\n    the user to reconfigure existing netconsole targets at runtime to be\n    attached to newly-come-up interfaces that may not have existed when\n    netconsole was loaded or when the targets were actually created.  All this\n    effectively enables us to get rid of custom ioctls.\n\n(3) Ultra-paranoid configfs attribute show() and store() operations, with\n    sanity and input range checking, using only safe string primitives, and\n    compliant with the recommendations in Documentation/filesystems/sysfs.txt.\n\n(4) A new function netpoll_print_options() is created in the netpoll API,\n    that just prints out the configured parameters for a netpoll structure.\n    netpoll_parse_options() is modified to use that and it is also exported to\n    be used from netconsole.\n\nSigned-off-by: Satyam Sharma \u003csatyam@infradead.org\u003e\nAcked-by: Keiichi Kii \u003ck-keiichi@bx.jp.nec.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13dae426318aae073028a4b3bd493104a991e800",
      "tree": "29c2265378c70c9d771c8127d960455e8d64dc27",
      "parents": [
        "e60402d0a909ca2e6e2fbdf9ed004ef0fae36d33"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Fri Aug 10 14:31:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:00 2007 -0700"
      },
      "message": "[TCP]: Update comment about highest_sack validity\n\nThis stale info came from the original idea, which proved to be\nunnecessarily complex, sacked_out \u003e 0 is easy to do and that when\nit\u0027s going to be needed anyway (it _can_ be valid also when\nsacked_out \u003d\u003d 0 but there\u0027s not going to be a guarantee about it\nfor now).\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b5860bbac7be1381626f3dc8a0cb970a60fcefb4",
      "tree": "53034429084f92fdb55c062498e1f4255be9bd4a",
      "parents": [
        "35e8694198ba94b62df8aa35fa6e52a1cfb86df2"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Thu Aug 09 14:33:18 2007 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:55 2007 -0700"
      },
      "message": "[TCP]: Tighten tcp_sock\u0027s belt, drop left_out\n\nIt is easily calculable when needed and user are not that many\nafter all.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "539d243fdd7900fa5a544c7c154dc3ddf627e840",
      "tree": "68972054f318d614692bdfe76d6d920ae2698a21",
      "parents": [
        "9bff40fda015c4d0b57b444626cdcbf66066dbe7"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sun May 27 02:03:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:53 2007 -0700"
      },
      "message": "[TCP]: Access to highest_sack obsoletes forward_cnt_hint\n\nIn addition, added a reference about the purpose of the loop.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d738cd8fca948e45d53120247cb7a5f5be3ca09e",
      "tree": "b2136bcfa2802a21b41de72eb4f6dc338a0bd321",
      "parents": [
        "d961db358f41033a8fc7b62948bc7cff1b4bb1fe"
      ],
      "author": {
        "name": "Ilpo Järvinen",
        "email": "ilpo.jarvinen@helsinki.fi",
        "time": "Sat Mar 24 21:03:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:50 2007 -0700"
      },
      "message": "[TCP]: Add highest_sack seqno, points to globally highest SACK\n\nIt is guaranteed to be valid only when !tp-\u003esacked_out. In most\ncases this seqno is available in the last ACK but there is no\nguarantee for that. The new fast recovery loss marking algorithm\nneeds this as entry point.\n\nSigned-off-by: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71c87e0cedca843162206c698cfa02e5fea9e2e3",
      "tree": "8f0138754aaee3c15d1b00c4d2774b5e12da2c78",
      "parents": [
        "e314dbdc1c0dc6a548ecf0afce28ecfd538ff568"
      ],
      "author": {
        "name": "Jan-Bernd Themann",
        "email": "themann@de.ibm.com",
        "time": "Wed Aug 08 22:38:05 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:46 2007 -0700"
      },
      "message": "[NET]: Generic Large Receive Offload for TCP traffic\n\nThis patch provides generic Large Receive Offload (LRO) functionality\nfor IPv4/TCP traffic.\n\nLRO combines received tcp packets to a single larger tcp packet and\npasses them then to the network stack in order to increase performance\n(throughput). The interface supports two modes: Drivers can either\npass SKBs or fragment lists to the LRO engine.\n\nSigned-off-by: Jan-Bernd Themann \u003cthemann@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bea3348eef27e6044b6161fd04c3152215f96411",
      "tree": "f0990b263e5ce42505d290a4c346fe990bcd4c33",
      "parents": [
        "dde4e47e8fe333a5649a3fa0e7db1fa7c08d6158"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Wed Oct 03 16:41:36 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:45 2007 -0700"
      },
      "message": "[NET]: Make NAPI polling independent of struct net_device objects.\n\nSeveral devices have multiple independant RX queues per net\ndevice, and some have a single interrupt doorbell for several\nqueues.\n\nIn either case, it\u0027s easier to support layouts like that if the\nstructure representing the poll is independant from the net\ndevice itself.\n\nThe signature of the -\u003epoll() call back goes from:\n\n\tint foo_poll(struct net_device *dev, int *budget)\n\nto\n\n\tint foo_poll(struct napi_struct *napi, int budget)\n\nThe caller is returned the number of RX packets processed (or\nthe number of \"NAPI credits\" consumed if you want to get\nabstract).  The callee no longer messes around bumping\ndev-\u003equota, *budget, etc. because that is all handled in the\ncaller upon return.\n\nThe napi_struct is to be embedded in the device driver private data\nstructures.\n\nFurthermore, it is the driver\u0027s responsibility to disable all NAPI\ninstances in it\u0027s -\u003estop() device close handler.  Since the\nnapi_struct is privatized into the driver\u0027s private data structures,\nonly the driver knows how to get at all of the napi_struct instances\nit may have per-device.\n\nWith lots of help and suggestions from Rusty Russell, Roland Dreier,\nMichael Chan, Jeff Garzik, and Jamal Hadi Salim.\n\nBug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,\nJoseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.\n\n[ Ported to current tree and all drivers converted.  Integrated\n  Stephen\u0027s follow-on kerneldoc additions, and restored poll_list\n  handling to the old style to fix mutual exclusion issues.  -DaveM ]\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a200ee182a016752464a12cb2e8762e48254bb09",
      "tree": "7b273f002625a4c368f7b20b144990f7f4f81df9",
      "parents": [
        "3eb215de26e6e94bf5fed9cb77230c383b30e53b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Mon Oct 08 18:54:37 2007 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Oct 08 12:58:14 2007 -0700"
      },
      "message": "mm: set_page_dirty_balance() vs -\u003epage_mkwrite()\n\nAll the current page_mkwrite() implementations also set the page dirty. Which\nresults in the set_page_dirty_balance() call to _not_ call balance, because the\npage is already found dirty.\n\nThis allows us to dirty a _lot_ of pages without ever hitting\nbalance_dirty_pages().  Not good (tm).\n\nForce a balance call if -\u003epage_mkwrite() was successful.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0c2043abefacac97b6d01129c1123a466c95b7c1",
      "tree": "e1b7bfd3222250fddabec15fc41fd1d2b5eb83dd",
      "parents": [
        "70cb97935b8859f27296772885104b599f560576"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 07 16:17:38 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Oct 07 16:23:13 2007 -0700"
      },
      "message": "Don\u0027t do load-average calculations at even 5-second intervals\n\nIt turns out that there are a few other five-second timers in the\nkernel, and if the timers get in sync, the load-average can get\nartificially inflated by events that just happen to coincide.\n\nSo just offset the load average calculation it by a timer tick.\n\nNoticed by Anders Boström, for whom the coincidence started triggering\non one of his machines with the JBD jiffies rounding code (JBD is one of\nthe subsystems that also end up using a 5-second timer by default).\n\nTested-by: Anders Boström \u003canders@bostrom.dyndns.org\u003e\nCc: Chuck Ebbert \u003ccebbert@redhat.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff0ce6845bc18292e80ea40d11c3d3a539a3fc5e",
      "tree": "c9b272c63ca5db6d40a8bc6e6d28d91930c4856e",
      "parents": [
        "a07921bcd5830c5a1130309977a8ade8a4f7d69b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 26 15:52:17 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 26 15:52:17 2007 -0700"
      },
      "message": "Revert \"[PATCH] x86-64: fix x86_64-mm-sched-clock-share\"\n\nThis reverts commit 184c44d2049c4db7ef6ec65794546954da2c6a0e.\n\nAs noted by Dave Jones:\n   \"Linus, please revert the above cset.  It doesn\u0027t seem to be\n    necessary (it was added to fix a miscompile in \u0027make allnoconfig\u0027\n    which doesn\u0027t seem to be repeatable with it reverted) and actively\n   breaks the ARM SA1100 framebuffer driver.\"\n\nRequested-by: Dave Jones \u003cdavej@redhat.com\u003e\nCc: Russell King \u003crmk+lkml@arm.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b8fceee17a310f189188599a8fa5e9beaff57eb0",
      "tree": "21308319be2579059a4d4d7db680a73334659f82",
      "parents": [
        "9db619e66503494e41159de3c76fafabe80d016b"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Thu Sep 20 12:40:16 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Sep 20 13:19:59 2007 -0700"
      },
      "message": "signalfd simplification\n\nThis simplifies signalfd code, by avoiding it to remain attached to the\nsighand during its lifetime.\n\nIn this way, the signalfd remain attached to the sighand only during\npoll(2) (and select and epoll) and read(2).  This also allows to remove\nall the custom \"tsk \u003d\u003d current\" checks in kernel/signal.c, since\ndequeue_signal() will only be called by \"current\".\n\nI think this is also what Ben was suggesting time ago.\n\nThe external effect of this, is that a thread can extract only its own\nprivate signals and the group ones.  I think this is an acceptable\nbehaviour, in that those are the signals the thread would be able to\nfetch w/out signalfd.\n\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1799e35d5baab6e06168b46cc78b968e728ea3d1",
      "tree": "cccf64a62fa9106aa18253371b675925c0582bab",
      "parents": [
        "a88a8eff1e6e32d3288986a9d36c6a449c032d3a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Sep 19 23:34:46 2007 +0200"
      },
      "message": "sched: add /proc/sys/kernel/sched_compat_yield\n\nadd /proc/sys/kernel/sched_compat_yield to make sys_sched_yield()\nmore agressive, by moving the yielding task to the last position\nin the rbtree.\n\nwith sched_compat_yield\u003d0:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2539 mingo     20   0  1576  252  204 R   50  0.0   0:02.03 loop_yield\n  2541 mingo     20   0  1576  244  196 R   50  0.0   0:02.05 loop\n\nwith sched_compat_yield\u003d1:\n\n   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND\n  2584 mingo     20   0  1576  248  196 R   99  0.0   0:52.45 loop\n  2582 mingo     20   0  1576  256  204 R    0  0.0   0:00.00 loop_yield\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n"
    },
    {
      "commit": "480eccf9ae1073b87bb4fe118971fbf134a5bc61",
      "tree": "b66cd85cd6ad9dc7c141d34837a848111d036584",
      "parents": [
        "28f300d23674fa01ae747c66ce861d4ee6aebe8c"
      ],
      "author": {
        "name": "Lee Schermerhorn",
        "email": "Lee.Schermerhorn@hp.com",
        "time": "Tue Sep 18 22:46:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Fix NUMA Memory Policy Reference Counting\n\nThis patch proposes fixes to the reference counting of memory policy in the\npage allocation paths and in show_numa_map().  Extracted from my \"Memory\nPolicy Cleanups and Enhancements\" series as stand-alone.\n\nShared policy lookup [shmem] has always added a reference to the policy,\nbut this was never unrefed after page allocation or after formatting the\nnuma map data.\n\nDefault system policy should not require additional ref counting, nor\nshould the current task\u0027s task policy.  However, show_numa_map() calls\nget_vma_policy() to examine what may be [likely is] another task\u0027s policy.\nThe latter case needs protection against freeing of the policy.\n\nThis patch adds a reference count to a mempolicy returned by\nget_vma_policy() when the policy is a vma policy or another task\u0027s\nmempolicy.  Again, shared policy is already reference counted on lookup.  A\nmatching \"unref\" [__mpol_free()] is performed in alloc_page_vma() for\nshared and vma policies, and in show_numa_map() for shared and another\ntask\u0027s mempolicy.  We can call __mpol_free() directly, saving an admittedly\ninexpensive inline NULL test, because we know we have a non-NULL policy.\n\nHandling policy ref counts for hugepages is a bit trickier.\nhuge_zonelist() returns a zone list that might come from a shared or vma\n\u0027BIND policy.  In this case, we should hold the reference until after the\nhuge page allocation in dequeue_hugepage().  The patch modifies\nhuge_zonelist() to return a pointer to the mempolicy if it needs to be\nunref\u0027d after allocation.\n\nKernel Build [16cpu, 32GB, ia64] - average of 10 runs:\n\n\t\tw/o patch\tw/ refcount patch\n\t    Avg\t  Std Devn\t   Avg\t  Std Devn\nReal:\t 100.59\t    0.38\t 100.63\t    0.43\nUser:\t1209.60\t    0.37\t1209.91\t    0.31\nSystem:   81.52\t    0.42\t  81.64\t    0.34\n\nSigned-off-by:  Lee Schermerhorn \u003clee.schermerhorn@hp.com\u003e\nAcked-by: Andi Kleen \u003cak@suse.de\u003e\nCc: Christoph Lameter \u003cclameter@sgi.com\u003e\nAcked-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "28f300d23674fa01ae747c66ce861d4ee6aebe8c",
      "tree": "52ea69a57a89760d7060597690cb289d049eb4d0",
      "parents": [
        "735de2230f09741077a645a913de0a04b10208bf"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:45 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Fix user namespace exiting OOPs\n\nIt turned out, that the user namespace is released during the do_exit() in\nexit_task_namespaces(), but the struct user_struct is released only during the\nput_task_struct(), i.e.  MUCH later.\n\nOn debug kernels with poisoned slabs this will cause the oops in\nuid_hash_remove() because the head of the chain, which resides inside the\nstruct user_namespace, will be already freed and poisoned.\n\nSince the uid hash itself is required only when someone can search it, i.e.\nwhen the namespace is alive, we can safely unhash all the user_struct-s from\nit during the namespace exiting.  The subsequent free_uid() will complete the\nuser_struct destruction.\n\nFor example simple program\n\n   #include \u003csched.h\u003e\n\n   char stack[2 * 1024 * 1024];\n\n   int f(void *foo)\n   {\n   \treturn 0;\n   }\n\n   int main(void)\n   {\n   \tclone(f, stack + 1 * 1024 * 1024, 0x10000000, 0);\n   \treturn 0;\n   }\n\nrun on kernel with CONFIG_USER_NS turned on will oops the\nkernel immediately.\n\nThis was spotted during OpenVZ kernel testing.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: \"Serge E. Hallyn\" \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "735de2230f09741077a645a913de0a04b10208bf",
      "tree": "b408a671c9c07bec41a9ca8056fa7a6710982f3b",
      "parents": [
        "d8a4821dca693867a7953104c1e3cc830eb9191f"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 18 22:46:44 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 19 11:24:18 2007 -0700"
      },
      "message": "Convert uid hash to hlist\n\nSurprisingly, but (spotted by Alexey Dobriyan) the uid hash still uses\nlist_heads, thus occupying twice as much place as it could.  Convert it to\nhlist_heads.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@openvz.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edb1e9671a990e6eb9f593636deed7ac43ba9084",
      "tree": "1b8b592411d9d7e4321479f57cb6d1f38ec483e3",
      "parents": [
        "fa890d586cc127ce72597ba0a909bfecf784e10c",
        "d9f30ec0b0d129b9cbf2b041a6a3159aa24592f6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Sep 16 21:14:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Sep 16 21:14:54 2007 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\n* \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:\n  [VLAN]: Fix net_device leak.\n  [PPP] generic: Fix receive path data clobbering \u0026 non-linear handling\n  [PPP] generic: Call skb_cow_head before scribbling over skb\n  [NET] skbuff: Add skb_cow_head\n  [BRIDGE]: Kill clone argument to br_flood_*\n  [PPP] pppoe: Fill in header directly in __pppoe_xmit\n  [PPP] pppoe: Fix data clobbering in __pppoe_xmit and return value\n  [PPP] pppoe: Fix skb_unshare_check call position\n  [SCTP]: Convert bind_addr_list locking to RCU\n  [SCTP]: Add RCU synchronization around sctp_localaddr_list\n  [PKT_SCHED]: sch_cbq.c: Shut up uninitialized variable warning\n  [PKTGEN]: srcmac fix\n  [IPV6]: Fix source address selection.\n  [IPV4]: Just increment OutDatagrams once per a datagram.\n  [IPV6]: Just increment OutDatagrams once per a datagram.\n  [IPV6]: Fix unbalanced socket reference with MSG_CONFIRM.\n  [NET_SCHED] protect action config/dump from irqs\n  [NET]: Fix two issues wrt. SO_BINDTODEVICE.\n"
    },
    {
      "commit": "fa890d586cc127ce72597ba0a909bfecf784e10c",
      "tree": "fa29dd1f6e0385b6193b11207f5bfd0a674d4979",
      "parents": [
        "5e41d0d60a534d2a5dc9772600a58f44c8d12506"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Sun Sep 16 17:01:26 2007 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Sep 16 21:13:58 2007 -0700"
      },
      "message": "Fix non-ISA link error in drivers/scsi/advansys.c\n\nWhen CONFIG_ISA is disabled, the isa_driver support will not be compiled\nin.  Define stubs so that we don\u0027t get link-time errors.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9cc20484e5e48c6a5deb4387c20fd45bfbdde8c",
      "tree": "f0a9f05ad00b8a506abeb3b42cb3346cef7d2155",
      "parents": [
        "e081e1e3ef4682802ac63b1e5e26158fb9ca9e90"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:21:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 16 16:21:16 2007 -0700"
      },
      "message": "[NET] skbuff: Add skb_cow_head\n\nThis patch adds an optimised version of skb_cow that avoids the copy if\nthe header can be modified even if the rest of the payload is cloned.\n\nThis can be used in encapsulating paths where we only need to modify the\nheader.  As it is, this can be used in PPPOE and bridging.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99364df764bbef327be2f8b8ffcfbb41a4a1af4d",
      "tree": "af93f7c7897dd3f0503466a08b9a9ed779c41847",
      "parents": [
        "b0052fcaefb829a29fdc6567274daf0b75329fc3",
        "df96efd73b81b8bc2d23b3d8b6025cce3d43db6c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 12 09:17:40 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 12 09:17:40 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds\n\n* \u0027for-linus\u0027 of git://git.o-hand.com/linux-rpurdie-leds:\n  leds: Add missing include for leds.h\n"
    },
    {
      "commit": "532df780a2012ad75b3f078647f229c4dabd99d1",
      "tree": "6172d647f9c7bbd770bcd5f9f002108d671ce24f",
      "parents": [
        "577107e8e4cf9f6f4f5ef8350ac9a8faa6c3796d",
        "7b6dff982b063b1b15c30508f16863e5449e7229"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 12 07:57:00 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Sep 12 07:57:00 2007 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: usbtouchscreen - correctly set \u0027phys\u0027\n  Input: i8042 - add HP Pavilion DV4270ca to the MUX blacklist\n  Input: i8042 - fix modpost warning\n  Input: add more Braille keycodes\n"
    },
    {
      "commit": "dd23aae4f5edf4e1dbd8f7f8013a754ba3253f48",
      "tree": "c7babf45f8132876e8a715f0327cf480c05c6131",
      "parents": [
        "3210f0ecdba6a81c3f8efe6f442d2e1f57db98f9"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Sep 11 15:23:55 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:20 2007 -0700"
      },
      "message": "Fix select on /proc files without -\u003epoll\n\nTaneli Vähäkangas \u003cvahakang@cs.helsinki.fi\u003e reported that commit\n786d7e1612f0b0adb6046f19b906609e4fe8b1ba aka \"Fix rmmod/read/write races\nin /proc entries\" broke SBCL + SLIME combo.\n\nThe old code in do_select() used DEFAULT_POLLMASK, if couldn\u0027t find\n-\u003epoll handler.  The new code makes -\u003epoll always there and returns 0 by\ndefault, which is not correct.  Return DEFAULT_POLLMASK instead.\n\nSteps to reproduce:\n\n\tinstall emacs, SBCL, SLIME\n\temacs\n\tM-x slime\tin *inferior-lisp* buffer\n\t[watch it doing \"Connecting to Swank on port X..\"]\n\nPlease, apply before 2.6.23.\n\nP.S.: why SBCL can\u0027t just read(2) /proc/cpuinfo is a mystery.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: T Taneli Vahakangas \u003cvahakang@cs.helsinki.fi\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a83308e60f63749dc1d08acb0d8fa9e2ec13c9a7",
      "tree": "6a71aead89fcd7b06cf121b8e9134cfe4ff0c259",
      "parents": [
        "f3d79b20df961880697c8442e1f7bc7969ce50a4"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Tue Sep 11 15:23:47 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 17:21:20 2007 -0700"
      },
      "message": "PTR_ALIGN\n\nThe AdvanSys driver wants to align some pointers, and the ALIGN macro\ndoesn\u0027t work for pointers.  Rather than try to make it work, add a new\nPTR_ALIGN macro which is typesafe.\n\nSigned-off-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6e21ce9d816b9ecc2349ad652fee9c6f28c43877",
      "tree": "a598c00d6f9615e99673d348de93b3d31adf4911",
      "parents": [
        "01a6a7790e8e466584fc845f3cfc1770ffa1fee5",
        "56fe23d5a702a39ee3bb29a04b55db292479d07a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 14:47:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 14:47:23 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:\n  pdc202xx_new: PLL detection fix\n  via82cxxx: add Arima W730-K8 and other rebadgings to short cables list\n  pmac: build fix\n  pata_ali/alim15x3: override 80-wire cable detection for Toshiba S1800-814\n  hpt366: UltraDMA filter for SATA cards (take 2)\n  ide: add ide_dev_is_sata() helper (take 2)\n  hpt366: fix PCI clock detection for HPT374 (take 4)\n  pdc202xx_new: fix PCI refcounting\n  ide: fix PCI refcounting\n  mpc8xx: Only build mpc8xx on arch/ppc\n"
    },
    {
      "commit": "df96efd73b81b8bc2d23b3d8b6025cce3d43db6c",
      "tree": "ca0ed19b8bf5af2903abc2e0e51f82abe8cdafda",
      "parents": [
        "0d4cbb5e7f60b2f1a4d8b7f6ea4cc264262c7a01"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Tue Sep 11 22:24:45 2007 +0100"
      },
      "committer": {
        "name": "Richard Purdie",
        "email": "rpurdie@rpsys.net",
        "time": "Tue Sep 11 22:24:45 2007 +0100"
      },
      "message": "leds: Add missing include for leds.h\n\nThis patch has added #include \u003clinux/spinlock.h\u003e to include/linux/leds.h\nfor rwlock_t.\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Richard Purdie \u003crpurdie@rpsys.net\u003e\n"
    },
    {
      "commit": "6c3c22f3cb2b7cd0a42a024b93db76b5c3133d37",
      "tree": "13cd84e47c9d354930443ef7db2df1985446ffc4",
      "parents": [
        "7293136810936bbde403bcb67ac1b4dbae4dd790"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Tue Sep 11 22:28:36 2007 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Tue Sep 11 22:28:36 2007 +0200"
      },
      "message": "ide: add ide_dev_is_sata() helper (take 2)\n\nMake the SATA drive detection code from eighty_ninty_three() into inline\nide_dev_is_sata() helper fixing it along the way to be more strict while\nchecking word 80 for the reserved values...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "01a6a7790e8e466584fc845f3cfc1770ffa1fee5",
      "tree": "92183acab5a93d86836faf9554f04119f44e0dcb",
      "parents": [
        "ae292dbd2e9385d4c63f0c7099ab73b60d1b26d3",
        "99fa9844f0eed5582b5648f745204758b27db659"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 10:13:24 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Sep 11 10:13:24 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:\n  PCI: irq and pci_ids patch for Intel Tolapai\n  PCI: unhide SMBus on Compaq Deskpro EP 401963-001 motherboard\n  PCI: Remove __devinit from pcibios_get_irq_routing_table\n  PCI: remove devinit from pci_read_bridge_bases\n  PCI AER: fix warnings when PCIEAER\u003dn\n"
    },
    {
      "commit": "99fa9844f0eed5582b5648f745204758b27db659",
      "tree": "b13427805a509088e64bf1303ddfd1b40e12cf41",
      "parents": [
        "d7698edca8d372e9ecaebca82d236828d72ea39d"
      ],
      "author": {
        "name": "Jason Gaston",
        "email": "jason.d.gaston@intel.com",
        "time": "Thu Aug 30 17:50:56 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 11 04:22:17 2007 -0700"
      },
      "message": "PCI: irq and pci_ids patch for Intel Tolapai\n\nThis patch adds the Intel Tolapai LPC and SMBus Controller DID\u0027s.\n\nSigned-off-by: Jason Gaston \u003cjason.d.gaston@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5547bbeed37f7ab64942ffcce9293681101577ef",
      "tree": "cf2701536824634564e4a27329f9396e1248e321",
      "parents": [
        "0d4cbb5e7f60b2f1a4d8b7f6ea4cc264262c7a01"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Aug 23 10:37:53 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 11 04:22:16 2007 -0700"
      },
      "message": "PCI AER: fix warnings when PCIEAER\u003dn\n\nFix warnings when CONFIG_PCIEAER\u003dn:\n\ndrivers/pci/pcie/portdrv_pci.c:105: warning: statement with no effect\ndrivers/pci/pcie/portdrv_pci.c:226: warning: statement with no effect\ndrivers/scsi/arcmsr/arcmsr_hba.c:352: warning: statement with no effect\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Linas Vepstas \u003clinas@austin.ibm.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "16fcec35e7d7c4faaa4709f6434a4a25b06d25e3",
      "tree": "5febf4d688f2c32ed55e02bc20246388b74d85e4",
      "parents": [
        "0fb96701376874c9f1f80322f89a5bf4457c709f"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 11 11:28:26 2007 +0200"
      },
      "message": "[NETFILTER]: Fix/improve deadlock condition on module removal netfilter\n\nSo I\u0027ve had a deadlock reported to me.  I\u0027ve found that the sequence of\nevents goes like this:\n\n1) process A (modprobe) runs to remove ip_tables.ko\n\n2) process B (iptables-restore) runs and calls setsockopt on a netfilter socket,\nincreasing the ip_tables socket_ops use count\n\n3) process A acquires a file lock on the file ip_tables.ko, calls remove_module\nin the kernel, which in turn executes the ip_tables module cleanup routine,\nwhich calls nf_unregister_sockopt\n\n4) nf_unregister_sockopt, seeing that the use count is non-zero, puts the\ncalling process into uninterruptible sleep, expecting the process using the\nsocket option code to wake it up when it exits the kernel\n\n4) the user of the socket option code (process B) in do_ipt_get_ctl, calls\nipt_find_table_lock, which in this case calls request_module to load\nip_tables_nat.ko\n\n5) request_module forks a copy of modprobe (process C) to load the module and\nblocks until modprobe exits.\n\n6) Process C. forked by request_module process the dependencies of\nip_tables_nat.ko, of which ip_tables.ko is one.\n\n7) Process C attempts to lock the request module and all its dependencies, it\nblocks when it attempts to lock ip_tables.ko (which was previously locked in\nstep 3)\n\nTheres not really any great permanent solution to this that I can see, but I\u0027ve\ndeveloped a two part solution that corrects the problem\n\nPart 1) Modifies the nf_sockopt registration code so that, instead of using a\nuse counter internal to the nf_sockopt_ops structure, we instead use a pointer\nto the registering modules owner to do module reference counting when nf_sockopt\ncalls a modules set/get routine.  This prevents the deadlock by preventing set 4\nfrom happening.\n\nPart 2) Enhances the modprobe utilty so that by default it preforms non-blocking\nremove operations (the same way rmmod does), and add an option to explicity\nrequest blocking operation.  So if you select blocking operation in modprobe you\ncan still cause the above deadlock, but only if you explicity try (and since\nroot can do any old stupid thing it would like....  :)  ).\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b311ec4ae82b1dc337689e966dcf9c5f6a53877e",
      "tree": "e68a24c76834aa66f86cca3f8b5744395d14c74e",
      "parents": [
        "bce7d5e0e1fc0c1f1251b7f21a19cb48207408b6"
      ],
      "author": {
        "name": "Joseph Chan",
        "email": "josephchan@via.com.tw",
        "time": "Mon Sep 10 22:06:01 2007 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Mon Sep 10 22:06:01 2007 -0400"
      },
      "message": "[libata, IDE] add new VIA bridge to VIA PATA drivers\n\nSigned-off-by: Joseph Chan \u003cjosephchan@via.com.tw\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9e3d3d07de1a9f2b83299653b75bfdbc0a8118f2",
      "tree": "d32e214805185f47f5270a17e9d402239353fe4a",
      "parents": [
        "b3e2c70cd0d05fb6621521521fbd5debed57d753"
      ],
      "author": {
        "name": "Samuel Thibault",
        "email": "samuel.thibault@ens-lyon.org",
        "time": "Tue Sep 04 23:16:04 2007 -0400"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Sep 04 23:16:04 2007 -0400"
      },
      "message": "Input: add more Braille keycodes\n\nSome braille keyboards have 10 dots, so extend the Input braille keys\ndefinitions.\n\nSigned-off-by: Samuel Thibault \u003csamuel.thibault@ens-lyon.org\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "1b3b4a1a2deb7d3e5d66063bd76304d840c966b3",
      "tree": "dfa71fe35420aa18997cabff53afcf3a0db0825a",
      "parents": [
        "7d1cca72994c0e910ca443076dcfcfd473871dda"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Tue Aug 28 10:29:36 2007 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Sat Sep 01 10:14:54 2007 -0400"
      },
      "message": "NFS: Fix a write request leak in nfs_invalidate_page()\n\nRyusuke Konishi says:\n\nThe recent truncate_complete_page() clears the dirty flag from a page\nbefore calling a_ops-\u003einvalidatepage(),\n^^^^^^\nstatic void\ntruncate_complete_page(struct address_space *mapping, struct page *page)\n{\n        ...\n        cancel_dirty_page(page, PAGE_CACHE_SIZE);  \u003c--- Inserted here at\nkernel 2.6.20\n\n        if (PagePrivate(page))\n                do_invalidatepage(page, 0);   ---\u003e will call\na_ops-\u003einvalidatepage()\n        ...\n}\n\nand this is disturbing nfs_wb_page_priority() from calling \nnfs_writepage_locked() that is expected to handle the pending\nrequest (\u003dnfs_page) associated with the page.\n\nint nfs_wb_page_priority(struct inode *inode, struct page *page, int how)\n{\n        ...\n        if (clear_page_dirty_for_io(page)) {\n                ret \u003d nfs_writepage_locked(page, \u0026wbc);\n                if (ret \u003c 0)\n                        goto out;\n        }\n        ...\n}\n\nSince truncate_complete_page() will get rid of the page after\na_ops-\u003einvalidatepage() returns, the request (\u003dnfs_page) associated\nwith the page becomes a garbage in nfs_inode-\u003enfs_page_tree.\n------------------------\n\nFix this by ensuring that nfs_wb_page_priority() recognises that it may\nalso need to clear out non-dirty pages that have an nfs_page associated\nwith them.\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    }
  ],
  "next": "5e7a39275b00ec881790ce47b8f7363fdfa097fa"
}
