)]}'
{
  "log": [
    {
      "commit": "fba85e013f106a44e91ef5edec899fc56a7e61ee",
      "tree": "88f138b0a396c51b8de403526f6a9638bc46d744",
      "parents": [
        "47b01b3a5fc7239f3e8d5d5cadc88afbea24d0c3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:48:39 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:42 2009 -0800"
      },
      "message": "tty: use port methods for the rocket driver\n\nNow we have our ducks in order we can begin switching to the port\noperations\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "47b01b3a5fc7239f3e8d5d5cadc88afbea24d0c3",
      "tree": "74faa32048c31c53efb2789bec407e1c40d06bdc",
      "parents": [
        "21bed701da009b4192d9e86b3596cf210ac7369c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:48:30 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: kref the rocket driver\n\nWe will need this kref fitted to make full use of the port operations.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "21bed701da009b4192d9e86b3596cf210ac7369c",
      "tree": "6a22a10f378e4e95539cf9243850639f39cd4a9b",
      "parents": [
        "c1314a49d7907b96d72f2c41f8927fc3c738e956"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:48:23 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: make rocketport use standard port-\u003eflags\n\nWe need to this ready for using the standard helpers\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c1314a49d7907b96d72f2c41f8927fc3c738e956",
      "tree": "e19a5127804c871088d57978f8eba00cf9d3c578",
      "parents": [
        "6ed1dbaeadd62a026a93aa3ac8680d2dfe9f96b3"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:48:17 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: Redo the rocket driver locking\n\nBring this driver into the port locking model\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6ed1dbaeadd62a026a93aa3ac8680d2dfe9f96b3",
      "tree": "af470015e92b5abbc510935b61f953015addb58a",
      "parents": [
        "3969ffba71d39ced700d09d9cfde83174396299e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:48:11 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: Make epca use the port helpers\n\nNow the locking is straight and the port kref usage is straight we can\nreplace lots of chunks of code with the standard port helpers\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3969ffba71d39ced700d09d9cfde83174396299e",
      "tree": "8cbb5528f31ed4ca44eb0fd7ecdd45db8d5acef4",
      "parents": [
        "d1c815e549ff40f9e9db65654855118e6bdff6a4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:48:04 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: refcount the epca driver\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d1c815e549ff40f9e9db65654855118e6bdff6a4",
      "tree": "7e20548f68c053be312f080e7c1fd7678df45bd7",
      "parents": [
        "542f54823614915780c3459b0e6062f06c0c0f99"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:47:58 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: relock epca\n\nBring epca into line with the port locking.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "542f54823614915780c3459b0e6062f06c0c0f99",
      "tree": "5f2238ef62b1d6e39b8e428b2b7aa36f4ac714aa",
      "parents": [
        "ac9720c37e8795317e8be3adad63cb0d5522a640"
      ],
      "author": {
        "name": "Denis Joseph Barrow",
        "email": "D.Barow@option.com",
        "time": "Fri Jan 02 13:47:52 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: Modem functions for the HSO driver\n\nMakes TIOCM ioctls for Data Carrier Detect \u0026 related functions\nwork like /drivers/serial/serial-core.c potentially needed\nfor pppd \u0026 similar user programs.\n\nSigned-off-by: Denis Joseph Barrow \u003cD.Barow@option.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac9720c37e8795317e8be3adad63cb0d5522a640",
      "tree": "dc95934f775b7867552ef230756fa6726740216b",
      "parents": [
        "e136e3036bf27569dbfeae245cc09c7167cdc749"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:47:45 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "tty: Fix the HSO termios handling a bit\n\nInit the tty structure once\nDon\u0027t set -\u003elow_latency twice in a row\nDon\u0027t force bits we should be leaving to the user\nDon\u0027t allocate termios arrays as these are in fact allocated by the tty layer\nfor you and just overwrite the ones allocated in the driver\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e136e3036bf27569dbfeae245cc09c7167cdc749",
      "tree": "106be43f343a4fce34076781df05af0d32e2799a",
      "parents": [
        "33dd474ae712dc435eb586b44cb771cc8d24e2bd"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:47:39 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:41 2009 -0800"
      },
      "message": "hso: net driver using tty without locking\n\nChecking tty \u003d\u003d NULL doesn\u0027t help us unless we have a clear semantic for\nthe locking of the tty object in the driver. Use the tty kref objects so that\nwe can take references to the tty in the USB event handling paths.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "33dd474ae712dc435eb586b44cb771cc8d24e2bd",
      "tree": "db2dac9cf4d1f6ec3ce6bff23ca2dcd8d4957a1a",
      "parents": [
        "c9f19e96a2f33cd56c2bd19f87a0c4982d011c2b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:47:32 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: kref nozomi\n\nUpdate the nozomi driver to use krefs\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9f19e96a2f33cd56c2bd19f87a0c4982d011c2b",
      "tree": "7ebb5f6e6648e7e8eb975944d4a18aadb05851bf",
      "parents": [
        "0ac6053c4db9369d7b0f9b39c30f4fb04405666b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:47:26 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: Remove some pointless casts\n\ndisc_data and driver_data are void *\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0ac6053c4db9369d7b0f9b39c30f4fb04405666b",
      "tree": "e0dd9cb3dca0ace4cdeaad9f99f11448531e077d",
      "parents": [
        "ff8cb0fd6f195389aefe55d5dac9927d09a9de54"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:47:20 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: PTYs set TTY_DO_WRITE_WAKEUP when they don\u0027t need to\n\nThe write wakeup is done anyway for the poll while DO_WRITE_WAKUP is\ncleared, set and managed by the ldisc layer and is no business of the pty\ncode.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ff8cb0fd6f195389aefe55d5dac9927d09a9de54",
      "tree": "258cbb425a03d5f444014d32c59a22f13d4ed492",
      "parents": [
        "eff6937a46e096eb35c16a391617b7a5e098a30c"
      ],
      "author": {
        "name": "Thomas Pfaff",
        "email": "tpfaff@pcs.com",
        "time": "Fri Jan 02 13:47:13 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: N_TTY SIGIO only works for read\n\nThe N_TTY ldisc layer does not send SIGIO POLL_OUTs correctly when output is\npossible due to flawed handling of the TTY_DO_WRITE_WAKEUP bit. It will\neither send no SIGIOs at all or on every tty wakeup.\n\nThe fix is to set the bit when the tty driver write would block and test\nand clear it on write wakeup.\n\n[Merged with existing N_TTY patches and a small buglet fixed -- Alan]\n\nSigned-off-by: Thomas Pfaff \u003ctpfaff@pcs.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "eff6937a46e096eb35c16a391617b7a5e098a30c",
      "tree": "bc3d6be6f85a61d27af3f86eb0e8b65b9f83f059",
      "parents": [
        "39aced68d664291db3324d0fcf0985ab5626aac2"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:47:06 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: USB tty devices can block in tcdrain when unplugged\n\nThe underlying problem is that the device methods don\u0027t all correctly\nhandle disconnected status and some keep reporting bytes pending which\ncauses tcdrain to stall.\n\nWhen the cable is unplugged they are definitely gone, and as this is true\nfor all USB cables we can fix it in the core usb serial code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39aced68d664291db3324d0fcf0985ab5626aac2",
      "tree": "2ea98f0c2f662dc0ea8274a246e92ade95de96c3",
      "parents": [
        "a6614999e800cf3a134ce93ea46ef837e3c0e76e"
      ],
      "author": {
        "name": "Niels de Vos",
        "email": "niels.devos@wincor-nixdorf.com",
        "time": "Fri Jan 02 13:46:58 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter\n\nThe PCI-card identified as \"Oxford Semiconductor Ltd EXSYS EX-41092 Dual\n16950 Serial adapter\" is only usable with other devices (i.e. not the same\ncard) after doing a \"setserial /dev/ttyS\u003cn\u003e baud_base 115200\".  This\nbaud_base should be default for this card.\n\nSigned-off-by: Niels de Vos \u003cniels.devos@wincor-nixdorf.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a6614999e800cf3a134ce93ea46ef837e3c0e76e",
      "tree": "56b0a29ed004a284561a4c3ff3ee52075acabb65",
      "parents": [
        "7834909f1eb96ba7c49ca2b9e3a69b500a2cff76"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:50 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: Introduce some close helpers for ports\n\nAgain this is a lot of common code we can unify\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7834909f1eb96ba7c49ca2b9e3a69b500a2cff76",
      "tree": "2b9c903d63de8f426b1b55f4d9401406fc0cf83f",
      "parents": [
        "0fdeceb88df7f4d9e4734859bcd650e8584cc0e4"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:43 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:40 2009 -0800"
      },
      "message": "tty: tty port zero baud open\n\nIf we have no speed set at some point then we should not raise DTR/RTS at\nthat point when opening as the tty is not ready\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fdeceb88df7f4d9e4734859bcd650e8584cc0e4",
      "tree": "8ef68cd23b445fe13c0df0c502717e3b5f3dc572",
      "parents": [
        "4350f3ffec7a7e70770a7369186b3db7d97acfdf"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:34 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: ESP has been broken for locking etc forver\n\nMark it broken\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4350f3ffec7a7e70770a7369186b3db7d97acfdf",
      "tree": "f4c1aeda5c4253ceb6458f63a30940e50aaa0786",
      "parents": [
        "2a6eadbd5a2ae8f458e421f3614f1ad13c0f9a1c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:24 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: rework stallion to use the tty_port bits\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a6eadbd5a2ae8f458e421f3614f1ad13c0f9a1c",
      "tree": "4eee6f264c83bef40e103aa1e141475f481b0f80",
      "parents": [
        "36c621d82b956ff6ff72273f848af53e6c581aba"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:18 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: Rework istallion to use the tty port changes\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36c621d82b956ff6ff72273f848af53e6c581aba",
      "tree": "edd387d8275a8f25277d264ffed94e8d1c2ba048",
      "parents": [
        "3b6826b250633361f08a6427a4ac0035e5d88c72"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:46:10 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: Introduce a tty_port generic block_til_ready\n\nStart sucking more commonality out of the drivers into a single piece of\ncore code.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b6826b250633361f08a6427a4ac0035e5d88c72",
      "tree": "68126130a079ad732f00167d225f31cd65032957",
      "parents": [
        "c2ba38cd76df770a253f0cab4b6abe514c265a85"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:58 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: relock the mxser driver\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c2ba38cd76df770a253f0cab4b6abe514c265a85",
      "tree": "d5400b7c3c2125cbd461cbfda6091ac352c4055f",
      "parents": [
        "a129909ca910d086b8536c790338504878489a95"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:50 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: relock riscom8 using port locks\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a129909ca910d086b8536c790338504878489a95",
      "tree": "1d40d3af985012192c3279934142fba2b891161d",
      "parents": [
        "510a3049573868d3d77414bfa55d293f44d0dbbe"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:44 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:39 2009 -0800"
      },
      "message": "tty: rocketport uses different port flags to everyone else\n\nNormalise them so we can use the common helpers later on\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "510a3049573868d3d77414bfa55d293f44d0dbbe",
      "tree": "f6a5d19c9e7bc49320dd8c6867cec7f885e9c35b",
      "parents": [
        "3e61696bdc2103107674b06d0daf30b76193e922"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:36 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "tty: relock generic_serial\n\nSwitch generic_serial to do port count locking via the tty_port structure\nready for moving to a common port wait routine. Keep the old driver lock for\ninternal calling so we don\u0027t risk messing up the drivers below until we\nare ready.\n\nStill needs kref conversions\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e61696bdc2103107674b06d0daf30b76193e922",
      "tree": "cc4f2b7b7b0ce2162613bb9d3cf819f6bbfd3628",
      "parents": [
        "5d951fb458f847e5485b5251597fbf326000bb3b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:26 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "isicom: redo locking to use tty port locks\n\nThis helps set the basis for moving block_til_ready into common code. We also\nintroduce a tty_port_hangup helper as this will also be generally needed.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5d951fb458f847e5485b5251597fbf326000bb3b",
      "tree": "f668a015282f657f258995a1e5a85e145ca8251a",
      "parents": [
        "d0c9873addc1f18e7becb50094dad07df8cc4694"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:19 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "tty: Pull the dtr raise into tty port\n\nThis moves another per device special out of what should be shared open\nwait paths into private methods\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0c9873addc1f18e7becb50094dad07df8cc4694",
      "tree": "7c13cd09e724565c78b7d1a4e53b5f2ab1f482e5",
      "parents": [
        "31f35939d1d9bcfb3099b32c67b896d2792603f9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:12 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "rio: Kill off ckmalloc\n\nThis was an alloc/clear wrapper but makes even less sense now it uses\nkzalloc. Kill it off.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31f35939d1d9bcfb3099b32c67b896d2792603f9",
      "tree": "39b6ceaf0e7477e0357ff8235814f579adad3f28",
      "parents": [
        "c9b3976e3fec266be25c5001a70aa0a890b6c476"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:45:05 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "tty_port: Add a port level carrier detect operation\n\nThis is the first step to generalising the various pieces of waiting logic\nduplicated in all sorts of serial drivers.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c9b3976e3fec266be25c5001a70aa0a890b6c476",
      "tree": "6742587ae3193fcfbee2b394aa4f5daca392da17",
      "parents": [
        "d0eafc7db8f170d534a16b5f04617e98ae2025de"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:44:56 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "tty: Fix PPP hang under load\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d0eafc7db8f170d534a16b5f04617e98ae2025de",
      "tree": "c7d5cb68ba63d884653aae829ac76d175c7f950d",
      "parents": [
        "39efd191d01b5f1efc3d604baf74233dc525e6a8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Jan 02 13:44:49 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "CRED: Wrap task credential accesses in the devpts filesystem\n\nWrap access to task credentials so that they can be separated more easily from\nthe task_struct during the introduction of COW creds.\n\nChange most current-\u003e(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().\n\nChange some task-\u003ee?[ug]id to task_e?[ug]id().  In some places it makes more\nsense to use RCU directly rather than a convenient wrapper; these will be\naddressed by later patches.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "39efd191d01b5f1efc3d604baf74233dc525e6a8",
      "tree": "9623a3daa6e136429319008f278e109f016a1ee3",
      "parents": [
        "975a1a7d887048d4afc9201383e11b7af991866b"
      ],
      "author": {
        "name": "Kevin Hao",
        "email": "kexin.hao@windriver.com",
        "time": "Fri Jan 02 13:44:34 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:38 2009 -0800"
      },
      "message": "Add device function for USB serial console\n\nAdd device funtion for usb serial console, so we can open /dev/console\nwhen we use a usb serial device as console.\n\n(Typecast removed as noted by Sergei Shtylyov)\n\nSigned-off-by: Kevin Hao \u003ckexin.hao@windriver.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "975a1a7d887048d4afc9201383e11b7af991866b",
      "tree": "968fc20c260ae529c53f1a3ddd8dbae43536cf45",
      "parents": [
        "9f2a036aaac8f29bb7c68303b52a9263238b63d2"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Fri Jan 02 13:44:27 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:37 2009 -0800"
      },
      "message": "And here\u0027s a patch (to be applied on top of the last) which prevents\n\nthis happening again by making use of \u0027const\u0027.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f2a036aaac8f29bb7c68303b52a9263238b63d2",
      "tree": "4e7683190665e2e19c509eeea30aa90504667d9b",
      "parents": [
        "8c056e5b148498192832678cf2957760945e8c71"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk+lkml@arm.linux.org.uk",
        "time": "Fri Jan 02 13:44:20 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:37 2009 -0800"
      },
      "message": "Convert the oxsemi tornado special cases to use the quirk interface and not\n\nscribble on its own reference structures.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8c056e5b148498192832678cf2957760945e8c71",
      "tree": "f6462adeb837deb0397aefd03cac5daf3827b7a7",
      "parents": [
        "4bd43f2c31848d751f63e8753cd2788d48fb5f30"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Fri Jan 02 13:44:12 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:37 2009 -0800"
      },
      "message": "devpts: fix unused function warning\n\nfs/devpts/inode.c:324: warning: \u0027compare_init_pts_sb\u0027 defined but not used\n\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4bd43f2c31848d751f63e8753cd2788d48fb5f30",
      "tree": "f88e890bbee89421271437761024130e0c831853",
      "parents": [
        "7e94b1d9bffc18dca3b45554d9d118a3ffcc4d1b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:44:04 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:37 2009 -0800"
      },
      "message": "tty: Fix close races in USB serial\n\nUSB serial has always had races where the tty port usage count can hit zero\nduring a receive event. The internal locking is a mutex so we can\u0027t use\nthat in the IRQ handlers.\n\nWith krefs we can tackle this differently but we still need to be careful.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7e94b1d9bffc18dca3b45554d9d118a3ffcc4d1b",
      "tree": "ab01290ff857f343332e9e4b28540300886dc89e",
      "parents": [
        "acc71bbad33478973dbed68ebbc2d76dac9a51bd"
      ],
      "author": {
        "name": "Joe Peterson",
        "email": "joe@skyrush.com",
        "time": "Fri Jan 02 13:43:40 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:37 2009 -0800"
      },
      "message": "n_tty: Output bells immediately on a full buffer\n\nThis patch causes \"bell\" (^G) characters (invoked when the input buffer\nis full) to be immediately output rather than filling the echo buffer.\n\nThis is especially a problem when the tty is stopped and buffers fill, since\nthe bells do not serve their purpose of immediate notification that the\nbuffer cannot take further input, and they will flush all at once when the\ntty is restarted.\n\nSigned-off-by: Joe Peterson \u003cjoe@skyrush.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "acc71bbad33478973dbed68ebbc2d76dac9a51bd",
      "tree": "6cf78a3f0de9811bdc30739ccd01a4db6c4b3baf",
      "parents": [
        "a59c0d6f14315a3f300f6f3786137213727e4c47"
      ],
      "author": {
        "name": "Joe Peterson",
        "email": "joe@skyrush.com",
        "time": "Fri Jan 02 13:43:32 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:37 2009 -0800"
      },
      "message": "n_tty: Fix hanfling of buffer full corner cases\n\nFix the handling of input characters when the tty buffer is full or nearly\nfull.  This includes tests that are done in n_tty_receive_char() and handling\nof PARMRK.\n\nProblems with the buffer-full tests done in receive_char() caused characters to\nbe lost at times when the buffer(s) filled.  Also, these full conditions\nwould often only be detected with echo on, and PARMRK was not accounted for\nproperly in all cases.  One symptom of these problems, in addition to lost\ncharacters, was early termination from unix commands like tr and cat when\n^Q was used to break from a stopped tty with full buffers (note that breaking\nout was often previously not possible, due to the pty getting in \"gridlock\",\nwhich will be addressed in another patch).  Note space is always reserved\nat the end of the buffer for a newline (or EOF/EOL) in canonical mode.\n\nSigned-off-by: Joe Peterson \u003cjoe@skyrush.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a59c0d6f14315a3f300f6f3786137213727e4c47",
      "tree": "a6cccef67a4ed016242f67a9a6136b7bc2a72fff",
      "parents": [
        "fc6f6238226e6d1248e1967eae2bf556eaf3ac17"
      ],
      "author": {
        "name": "Joe Peterson",
        "email": "joe@skyrush.com",
        "time": "Fri Jan 02 13:43:25 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:37 2009 -0800"
      },
      "message": "n_tty: Fix handling of control characters and continuations\n\nFix process_output_block to detect continuation characters correctly\nand to handle control characters even when O_OLCUC is enabled.  Make\nsimilar change to do_output_char().\n\nSigned-off-by: Joe Peterson \u003cjoe@skyrush.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fc6f6238226e6d1248e1967eae2bf556eaf3ac17",
      "tree": "07cef0fafd30bd622dac1db4751e10734773c863",
      "parents": [
        "a47d545f5782cbde871b50bdf4a83379ed2da222"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:43:17 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "pty: simplify resize\n\nWe have special case logic for resizing pty/tty pairs. We also have a per\ndriver resize method so for the pty case we should use it.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a47d545f5782cbde871b50bdf4a83379ed2da222",
      "tree": "63e75e635bc0a27e335c5982ccda4d8d31e53ed9",
      "parents": [
        "d95186d1f455b4b901121ba69d0680800fb4b57b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Fri Jan 02 13:43:04 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "tty: Fix sparse static warning for tty_driver_lookup_tty\n\nFixed sparse warning:\ndrivers/char/tty_io.c:1216:19: warning: symbol \u0027tty_driver_lookup_tty\u0027 was not declared. Should it be static?\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d95186d1f455b4b901121ba69d0680800fb4b57b",
      "tree": "80740859d8c84b4177a2a0914662354ae9a7ca93",
      "parents": [
        "835aa440f1c3fe16a622015bc1b52dffedf6d90e"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:42:56 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "sierra: Fix formatting\n\nAndrew Morton wrote:\n\nin drivers/usb/serial/sierra.c:\n\n        } else {\n                if (urb-\u003eactual_length) {\n+               tty \u003d tty_port_tty_get(\u0026port-\u003eport);\n                        tty_buffer_request_room(tty, urb-\u003eactual_length);\n\nit\u0027s missing a tab.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "835aa440f1c3fe16a622015bc1b52dffedf6d90e",
      "tree": "d0ba2b840bafde5e149baca2990030fe30e8240e",
      "parents": [
        "784c4d8b1b1e66f8c45e8b889613f4982f525b2b"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:42:48 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "devpts: Coding style clean up\n\nJust nail the oddments now while this code is being touched\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "784c4d8b1b1e66f8c45e8b889613f4982f525b2b",
      "tree": "860ce436c24138d2cd2d92088ed0b10d343126c6",
      "parents": [
        "2a1b2dc0c83bbfc24d72cafd5e69810a149b44e4"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:42:34 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "Document usage of multiple-instances of devpts\n\nChangelog [v2]:\n\t- Add note indicating strict isolation is not possible unless all\n\t  mounts of devpts use the \u0027newinstance\u0027 mount option.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2a1b2dc0c83bbfc24d72cafd5e69810a149b44e4",
      "tree": "4ed7b892b7a1e03bc085d1f78e0a46fd2ee13342",
      "parents": [
        "d4076ac55bf8755ce6c5706478631c1726cf0179"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:42:27 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "Enable multiple instances of devpts\n\nTo support containers, allow multiple instances of devpts filesystem, such\nthat indices of ptys allocated in one instance are independent of ptys\nallocated in other instances of devpts.\n\nBut to preserve backward compatibility, enable this support for multiple\ninstances only if:\n\n\t- CONFIG_DEVPTS_MULTIPLE_INSTANCES is set to Y, and\n\t- \u0027-o newinstance\u0027 mount option is specified while mounting devpts\n\nTo use multi-instance mount, a container startup script could:\n\n\t$ ns_exec -cm /bin/bash\n\t$ umount /dev/pts\n\t$ mount -t devpts -o newinstance lxcpts /dev/pts\n\t$ mount -o bind /dev/pts/ptmx /dev/ptmx\n\t$ /usr/sbin/sshd -p 1234\n\nwhere \u0027ns_exec -cm /bin/bash\u0027 is calls clone() with CLONE_NEWNS flag and execs\n/bin/bash in the child process. A pty created by the sshd is not visible in\nthe original mount of /dev/pts.\n\nUSER-SPACE-IMPACT:\n\t- See Documentation/fs/devpts.txt (included in next patch) for user-\n\t  space impact in multi-instance and mixed-mode operation.\nTODO:\n\t- Update mount(8), pts(4) man pages. Highlight impact of not\n\t  redirecting /dev/ptmx to /dev/pts/ptmx after a multi-instance mount.\n\nChangelog[v6]:\n\t- [Dave Hansen] Use new get_init_pts_sb() interface\n\t- [Serge Hallyn] Don\u0027t bother displaying \u0027newinstance\u0027 in show_options\n\t- [Serge Hallyn] Use macros (PARSE_REMOUNT/PARSE_MOUNT) instead of 0/1.\n\t- [Serge Hallyn] Check error return from get_sb_single() (now\n\t  get_init_pts_sb())\n\t- devpts_pty_kill(): don\u0027t dput error dentries\n\nChangelog[v5]:\n\t- Move get_sb_ref() definition to earlier patch\n\t- Move usage info to Documentation/filesystems/devpts.txt (next patch)\n\t- Make ptmx node even in init_pts_ns, now that default mode is 0000\n\t  (defined in earlier patch, enabled here).\n\t- Cache ptmx dentry and use to update mode during remount\n\t  (defined in earlier patch, enabled here).\n\t- Bugfix: explicitly ignore newinstance on remount (if newinstance was\n\t  specified on remount of initial mount, it would be ignored but\n\t  /proc/mounts would imply that the option was set)\n\nChangelog[v4]:\n\n\t- Update patch description to address H. Peter Anvin\u0027s comments\n\t- Consolidate multi-instance mode code under new config token,\n\t  CONFIG_DEVPTS_MULTIPLE_INSTANCE.\n\t- Move usage-details from patch description to\n\t  Documentation/fs/devpts.txt\n\nChangelog[v3]:\n\t- Rename new mount option to \u0027newinstance\u0027\n\t- Create ptmx nodes only in \u0027newinstance\u0027 mounts\n\t- Bugfix: parse_mount_options() modifies @data but since we need to\n\t  parse the @data twice (once in devpts_get_sb() and once during\n\t  do_remount_sb()), parse a local copy of @data in devpts_get_sb().\n\t  (restructured code in devpts_get_sb() to fix this)\n\nChangelog[v2]:\n\t- Support both single-mount and multiple-mount semantics and\n\t  provide \u0027-onewmnt\u0027 option to select the semantics.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d4076ac55bf8755ce6c5706478631c1726cf0179",
      "tree": "55959d50da843e2ec8b1bbaeeed299c716e9f516",
      "parents": [
        "1f8f1e296583f9f832c2fe7b5a219675b74bf43e"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:42:19 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "Define get_init_pts_sb()\n\nSee comments in the function header for details. The new interface will\nbe used in a follow-on patch.\n\nChangelog [v2]:\n\t[Dave Hansen] Replace get_sb_ref() in fs/super.c with get_init_pts_sb()\n\tand make the new interface private to devpts\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1f8f1e296583f9f832c2fe7b5a219675b74bf43e",
      "tree": "3fd16bc570df327a02c07e983c0e5d63ae13c0db",
      "parents": [
        "e4adca27bcbb8a73c4cf1dfa71392654cfa33345"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:42:02 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:36 2009 -0800"
      },
      "message": "Define mknod_ptmx()\n\n/dev/ptmx is closely tied to the devpts filesystem. An open of /dev/ptmx,\nallocates the next pty index and the associated device shows up in the\ndevpts fs as /dev/pts/n.\n\nWih multiple instancs of devpts filesystem, during an open of /dev/ptmx\nwe would be unable to determine which instance of the devpts is being\naccessed.\n\nSo we move the \u0027ptmx\u0027 node into /dev/pts and use the inode of the \u0027ptmx\u0027\nnode to identify the superblock and hence the devpts instance.  This patch\nadds ability for the kernel to internally create the [ptmx, c, 5:2] device\nwhen mounting devpts filesystem.  Since the ptmx node in devpts is new and\nmay surprise some userspace scripts, the default permissions for the new\nnode is 0000.  These permissions can be changed either using chmod or by\nremounting with the new \u0027-o ptmxmode\u003d0666\u0027 mount option.\n\nChangelog[v5]:\n\t- [Serge Hallyn bugfix]: Letting new_inode() assign inode number to\n\t  ptmx can collide with hand-assigning inode numbers to ptys. So,\n\t  hand-assign specific inode number to ptmx node also.\n\t- [Serge Hallyn]: Maybe safer to grab root dentry mutex while creating\n\t  ptmx node\n\t- [Bugfix with Serge Hallyn] Replace lookup_one_len() in mknod_ptmx()\n\t  wih d_alloc_name() (lookup during -\u003eget_sb() locks up system). To\n\t  simplify patchset, fold the ptmx_dentry patch into this.\n\nChangelog[v4]:\n\t- Change default permissions of pts/ptmx node to 0000.\n\t- Move code for ptmxmode under #ifdef CONFIG_DEVPTS_MULTIPLE_INSTANCES.\n\nChangelog[v3]:\n\t- Rename ptmx_mode to ptmxmode (for consistency with \u0027newinstance\u0027)\n\nChangelog[v2]:\n\t- [H. Peter Anvin] Remove mknod() system call support and create the\n\t  ptmx node internally.\n\nChangelog[v1]:\n\t- Earlier version of this patch enabled creating /dev/pts/tty as\n\t  well. As pointed out by Al Viro and H. Peter Anvin, that is not\n\t  really necessary.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e4adca27bcbb8a73c4cf1dfa71392654cfa33345",
      "tree": "7dc3963660c7cc0ff985457b3f01b5aec16ce1a0",
      "parents": [
        "53af8ee4094d80ddaac7efefb572b1c22ae49367"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:41:54 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "Add DEVPTS_MULTIPLE_INSTANCES config token\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "53af8ee4094d80ddaac7efefb572b1c22ae49367",
      "tree": "15409f4f0cb797d87f7a18c7dd468a227e3c66de",
      "parents": [
        "31af0abbdafb66ad8e27e3df878faec2ebe1132e"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:41:47 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "Extract option parsing to new function\n\nMove code to parse mount options into a separate function so it can\n(later) be shared between mount and remount operations.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "31af0abbdafb66ad8e27e3df878faec2ebe1132e",
      "tree": "69bc68f775fe405e9b2f7eae6ca1ba818e40e185",
      "parents": [
        "e76b7c01e598d2d14ddfdb6ae5c6afe45245d0de"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:41:33 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "Per-mount \u0027config\u0027 object\n\nWith support for multiple mounts of devpts, the \u0027config\u0027 structure really\nrepresents per-mount options rather than config parameters. Rename \u0027config\u0027\nstructure to \u0027pts_mount_opts\u0027 and store it in the super-block.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e76b7c01e598d2d14ddfdb6ae5c6afe45245d0de",
      "tree": "1ecd14fb7aa17e49857d20d974e843edd20bbedc",
      "parents": [
        "59e55e6cf86eb472e8373831c4234252916c53ef"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:41:21 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "Per-mount allocated_ptys\n\nTo enable multiple mounts of devpts, \u0027allocated_ptys\u0027 must be a per-mount\nvariable rather than a global variable.  Move \u0027allocated_ptys\u0027 into the\nsuper_block\u0027s s_fs_info.\n\nChangelog[v2]:\n\tDefine and use DEVPTS_SB() wrapper.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59e55e6cf86eb472e8373831c4234252916c53ef",
      "tree": "6d904c0490ea787b2ac65d7f0a37819ec37e8b3b",
      "parents": [
        "300a6204b4d45dc70359b24384ad04ae899179c3"
      ],
      "author": {
        "name": "Sukadev Bhattiprolu",
        "email": "sukadev@linux.vnet.ibm.com",
        "time": "Fri Jan 02 13:41:11 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "Remove devpts_root global\n\nRemove the \u0027devpts_root\u0027 global variable and find the root dentry using\nthe super_block. The super-block can be found from the device inode, using\nthe new wrapper, pts_sb_from_inode().\n\nChangelog: This patch is based on an earlier patchset from Serge Hallyn\n\t   and Matt Helsley.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@linux.vnet.ibm.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "300a6204b4d45dc70359b24384ad04ae899179c3",
      "tree": "2e4114fe82ded5357921b9c1d889086d840e465b",
      "parents": [
        "a88a69c91256418c5907c2f1f8a0ec0a36f9e6cc"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Fri Jan 02 13:41:04 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "n_tty: clean up coding style\n\nNow the main work is done its polishing time\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a88a69c91256418c5907c2f1f8a0ec0a36f9e6cc",
      "tree": "cc595c2c67b1d070e6897bac4098702c164feb39",
      "parents": [
        "e482a2378f3d1aef7fa8942f8f163078f01bb456"
      ],
      "author": {
        "name": "Joe Peterson",
        "email": "joe@skyrush.com",
        "time": "Fri Jan 02 13:40:53 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "n_tty: Fix loss of echoed characters and remove bkl from n_tty\n\nFixes the loss of echoed (and other ldisc-generated characters) when\nthe tty is stopped or when the driver output buffer is full (happens\nfrequently for input during continuous program output, such as ^C)\nand removes the Big Kernel Lock from the N_TTY line discipline.\n\nAdds an \"echo buffer\" to the N_TTY line discipline that handles all\nldisc-generated output (including echoed characters).  Along with the\nloss of characters, this also fixes the associated loss of sync between\ntty output and the ldisc state when characters cannot be immediately\nwritten to the tty driver.\n\nThe echo buffer stores (in addition to characters) state operations that need\nto be done at the time of character output (like management of the column\nposition).  This allows echo to cooperate correctly with program output,\nsince the ldisc state remains consistent with actual characters written.\n\nSince the echo buffer code now isolates the tty column state code\nto the process_out* and process_echoes functions, we can remove the\nBig Kernel Lock (BKL) and replace it with mutex locks.\n\nHighlights are:\n\n* Handles echo (and other ldisc output) when tty driver buffer is full\n  - continuous program output can block echo\n* Saves echo when tty is in stopped state (e.g. ^S)\n  - (e.g.: ^Q will correctly cause held characters to be released for output)\n* Control character pairs (e.g. \"^C\") are treated atomically and not\n  split up by interleaved program output\n* Line discipline state is kept consistent with characters sent to\n  the tty driver\n* Remove the big kernel lock (BKL) from N_TTY line discipline\n\nSigned-off-by: Joe Peterson \u003cjoe@skyrush.com\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e482a2378f3d1aef7fa8942f8f163078f01bb456",
      "tree": "e1bb3020b41b9d4bb919a587d93370ca808b3e29",
      "parents": [
        "68a784cb1add52543644a879ef601f3b52d18623"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Fri Jan 02 13:40:45 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:35 2009 -0800"
      },
      "message": "Blackfin Serial Driver: Remove BI status for known_good_char\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68a784cb1add52543644a879ef601f3b52d18623",
      "tree": "88f4cd4a729a48edace500c8d164f4c01c443712",
      "parents": [
        "b6efa1eabbe8d23fd7dcad1eed8ce945f4adea83"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Fri Jan 02 13:40:38 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:34 2009 -0800"
      },
      "message": "Blackfin Serial Driver: Fix bug - BF527-EZKIT unable to receive large files over UART in DMA mode\n\nAdd spin_lock_irqsave() when receive and transfer data.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6efa1eabbe8d23fd7dcad1eed8ce945f4adea83",
      "tree": "b2e6ee03edfdcc06b164a38476ab04d7a5b24f34",
      "parents": [
        "80d5c474b87da88eca8e1ab034e26daa9f688130"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Fri Jan 02 13:40:31 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:34 2009 -0800"
      },
      "message": "Blackfin Serial Driver: Clean serial console and early prink code.\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "80d5c474b87da88eca8e1ab034e26daa9f688130",
      "tree": "adb114b756b95541cefaba89cff38180a074003b",
      "parents": [
        "52e15f0eae193a8e4ca31c1520179b8d65c79811"
      ],
      "author": {
        "name": "Graf Yang",
        "email": "graf.yang@analog.com",
        "time": "Fri Jan 02 13:40:22 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:34 2009 -0800"
      },
      "message": "Blackfin Serial Driver: fix bug - SIR driver stop receiving randomly\n\nBug description:\nThe IRDA receiver may can\u0027t receiving any more after processed some signals.\n\nTo duplicate this issue is put three IRDA devices together, one blackfin,\ntwo none blackfin, they will detect each other. Let one none blackfin devices\nirdaping the blackfin devices, when it stopped print out ping information,\nit is the time that blackfin stoped receiving, the time is random.\n\nThe related register bit is OK, the other devices is sending data continuously.\nBut no interrupt come.\n\nFixing:\nI tried Michael\u0027s suggestion that request the UARTx error interrupt, and reset\nthe IRDA when found FE error. This method helps much, but it can\u0027t completely\navoid stop.\n\nReset the IRDA before every time sending the data is more safe.\n\nSigned-off-by: Graf Yang \u003cgraf.yang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "52e15f0eae193a8e4ca31c1520179b8d65c79811",
      "tree": "b904fe05f51100d94477a6cb38ea621f4732bf8f",
      "parents": [
        "b58602a4bac012b5f4fc12fe6b46ab237b610d5d"
      ],
      "author": {
        "name": "Sonic Zhang",
        "email": "sonic.zhang@analog.com",
        "time": "Fri Jan 02 13:40:14 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 02 10:19:34 2009 -0800"
      },
      "message": "Blackfin Serial Driver: updates kgdb over Blackfin serial driver with kgdb framework\n\nSigned-off-by: Sonic Zhang \u003csonic.zhang@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b58602a4bac012b5f4fc12fe6b46ab237b610d5d",
      "tree": "38929e210a723f67fe2b945f37264bf3aae3c2c4",
      "parents": [
        "db200df0b3530f673d8e9f5bd535e9e10305842a",
        "1f3403fa640f9f7b135dee79f2d39d01c8ad4a08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 15:57:56 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 15:57:56 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (34 commits)\n  nfsd race fixes: jfs\n  nfsd race fixes: reiserfs\n  nfsd race fixes: ext4\n  nfsd race fixes: ext3\n  nfsd race fixes: ext2\n  nfsd/create race fixes, infrastructure\n  filesystem notification: create fs/notify to contain all fs notification\n  fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization\n  kill -\u003edir_notify()\n  filp_cachep can be static in fs/file_table.c\n  fix f_count description in Documentation/filesystems/files.txt\n  make INIT_FS use the __RW_LOCK_UNLOCKED initialization\n  take init_fs to saner place\n  kill vfs_permission\n  pass a struct path * to may_open\n  kill walk_init_root\n  remove incorrect comment in inode_permission\n  expand some comments (d_path / seq_path)\n  correct wrong function name of d_put in kernel document and source comment\n  fix switch_names() breakage in short-to-short case\n  ...\n"
    },
    {
      "commit": "1f3403fa640f9f7b135dee79f2d39d01c8ad4a08",
      "tree": "13e3eac822dc24abed64f4294d024606f0155c10",
      "parents": [
        "c1eaa26b671299b3ec01d40c6c71ee19a4f81517"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Tue Dec 30 22:08:37 2008 -0600"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:44 2008 -0500"
      },
      "message": "nfsd race fixes: jfs\n\njfs version of Al Viro\u0027s nfsd race patches\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c1eaa26b671299b3ec01d40c6c71ee19a4f81517",
      "tree": "a9cc7d3126a727f01d3cb9aa41fee199bb502987",
      "parents": [
        "6b38e842bb832a3dbeb17e382404aef3c40ac5f9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 02:03:58 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:44 2008 -0500"
      },
      "message": "nfsd race fixes: reiserfs\n\n... and the same for reiserfs.  The difference here is that we need\ninsert_inode_locked4() to match iget5_locked().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6b38e842bb832a3dbeb17e382404aef3c40ac5f9",
      "tree": "c36830341781bf49ded16a0d5432647979a74ad8",
      "parents": [
        "c38012daa7ad902a39a4213ba2b3fe50e81157ea"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 02:03:31 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:44 2008 -0500"
      },
      "message": "nfsd race fixes: ext4\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c38012daa7ad902a39a4213ba2b3fe50e81157ea",
      "tree": "69dd3bdf2efe82f9bee13eaf729df7bf70e89381",
      "parents": [
        "41080b5a240113328c607f22b849f653373db0ce"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 02:02:50 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:44 2008 -0500"
      },
      "message": "nfsd race fixes: ext3\n\next3 analog of the previous patch\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "41080b5a240113328c607f22b849f653373db0ce",
      "tree": "aa8fd483c241140ebe73b6c71b370f4ad6a12251",
      "parents": [
        "261bca86ed4f7f391d1938167624e78da61dcc6b"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 01:52:35 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "nfsd race fixes: ext2\n\n* make ext2_new_inode() put the inode into icache in locked state\n* do not unlock until the inode is fully set up; otherwise nfsd\nmight pick it in half-baked state.\n* make sure that ext2_new_inode() does *not* lead to two inodes with the\nsame inumber hashed at the same time; otherwise a bogus fhandle coming\nfrom nfsd might race with inode creation:\n\nnfsd: iget_locked() creates inode\nnfsd: try to read from disk, block on that.\next2_new_inode(): allocate inode with that inumber\next2_new_inode(): insert it into icache, set it up and dirty\next2_write_inode(): get the relevant part of inode table in cache,\nset the entry for our inode (and start writing to disk)\nnfsd: get CPU again, look into inode table, see nice and sane on-disk\ninode, set the in-core inode from it\n\noops - we have two in-core inodes with the same inumber live in icache,\nboth used for IO.  Welcome to fs corruption...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "261bca86ed4f7f391d1938167624e78da61dcc6b",
      "tree": "4601cf090fbfec31fbd554a27c67c717a7caba4b",
      "parents": [
        "272eb01485dda98e3b8910c7c1a53d597616b0a0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Dec 30 01:48:21 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "nfsd/create race fixes, infrastructure\n\nnew helpers - insert_inode_locked() and insert_inode_locked4().\nHash new inode, making sure that there\u0027s no such inode in icache\nalready.  If there is and it does not end up unhashed (as would\nhappen if we have nfsd trying to resolve a bogus fhandle), fail.\nOtherwise insert our inode into hash and succeed.\n\nIn either case have i_state set to new+locked; cleanup ends up\nbeing simpler with such calling conventions.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "272eb01485dda98e3b8910c7c1a53d597616b0a0",
      "tree": "6a1dcd34c1dd668b465c166c2d6d2596924eff5f",
      "parents": [
        "c2acf7b90821785fe812cc0aa05148e5a1f84204"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Wed Dec 17 13:59:41 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "filesystem notification: create fs/notify to contain all fs notification\n\nCreating a generic filesystem notification interface, fsnotify, which will be\nused by inotify, dnotify, and eventually fanotify is really starting to\nclutter the fs directory.  This patch simply moves inotify and dnotify into\nfs/notify/inotify and fs/notify/dnotify respectively to make both current fs/\nand future notification tidier.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2acf7b90821785fe812cc0aa05148e5a1f84204",
      "tree": "b1fd2a481778c5432237125580b6fc2d2e5d9510",
      "parents": [
        "6badd79bd002788aaec27b50a74ab69ef65ab8ee"
      ],
      "author": {
        "name": "Denis ChengRq",
        "email": "crquan@gmail.com",
        "time": "Mon Dec 01 14:34:56 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "fs/block_dev.c: __read_mostly improvement and sb_is_blkdev_sb utilization\n\n- iget5_locked in bdget really needs blockdev_superblock, instead of\n  bd_mnt, so bd_mnt could be just a local variable;\n\n- blockdev_superblock really needs __read_mostly, while local var bd_mnt\n  not;\n\n- make use of sb_is_blkdev_sb in bd_forget, instead of direct reference\n  to blockdev_superblock.\n\nSigned-off-by: Denis ChengRq \u003ccrquan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "6badd79bd002788aaec27b50a74ab69ef65ab8ee",
      "tree": "2a47bf53a7fe2316d98cca71f0b7d01d5024a5ea",
      "parents": [
        "b6b3fdead251d432f32f2cfce2a893ab8a658110"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 26 00:57:40 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:43 2008 -0500"
      },
      "message": "kill -\u003edir_notify()\n\nRemove the hopelessly misguided -\u003edir_notify().  The only instance (cifs)\nhas been broken by design from the very beginning; the objects it creates\nare never destroyed, keep references to struct file they can outlive, nothing\nthat could possibly evict them exists on close(2) path *and* no locking\nwhatsoever is done to prevent races with close(), should the previous, er,\ndeficiencies someday be dealt with.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b6b3fdead251d432f32f2cfce2a893ab8a658110",
      "tree": "358885c529fd14d0cc404a454088329533db379e",
      "parents": [
        "fd659fd6275d3426d7967da1f0e3638bbbd2fedb"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Dec 10 09:35:45 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:42 2008 -0500"
      },
      "message": "filp_cachep can be static in fs/file_table.c\n\nInstead of creating the \"filp\" kmem_cache in vfs_caches_init(),\nwe can do it a litle be later in files_init(), so that filp_cachep\nis static to fs/file_table.c\n\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "fd659fd6275d3426d7967da1f0e3638bbbd2fedb",
      "tree": "0c499f1c63a18d1dd8e70b278ad59c00262f21a8",
      "parents": [
        "1239f26c05899f1f3c541b41e719c59d58038786"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Dec 10 09:35:45 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:42 2008 -0500"
      },
      "message": "fix f_count description in Documentation/filesystems/files.txt\n\nDocumentation/filesystems/files.txt was not updated when\nf_count became an atomic_long_t.\natomic_long_inc_not_zero() is now used instead of atomic_inc_not_zero()\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1239f26c05899f1f3c541b41e719c59d58038786",
      "tree": "f9b96535e345faa4bacff85eddbb2f81c85938a9",
      "parents": [
        "18d8fda7c3c9439be04d7ea2e82da2513b121acb"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Wed Dec 10 18:37:28 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:42 2008 -0500"
      },
      "message": "make INIT_FS use the __RW_LOCK_UNLOCKED initialization\n\n[AV: rediffed on top of unification of init_fs]\nInitialization of init_fs still uses the deprecated RW_LOCK_UNLOCKED macro.\nThis patch updates it to use the __RW_LOCK_UNLOCKED(lock) macro.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "18d8fda7c3c9439be04d7ea2e82da2513b121acb",
      "tree": "6b16a687205c7c027c719fd2249551f58f966618",
      "parents": [
        "cb23beb55100171646e69e248fb45f10db6e99a4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Dec 26 00:35:37 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:42 2008 -0500"
      },
      "message": "take init_fs to saner place\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "cb23beb55100171646e69e248fb45f10db6e99a4",
      "tree": "a8868859b02f14dc27ef560de903088ca35b4ad4",
      "parents": [
        "3fb64190aa3c23c10e6e9fd0124ac030115c99bf"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 24 09:59:29 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:41 2008 -0500"
      },
      "message": "kill vfs_permission\n\nWith all the nameidata removal there\u0027s no point anymore for this helper.\nOf the three callers left two will go away with the next lookup series\nanyway.\n\nAlso add proper kerneldoc to inode_permission as this is the main\npermission check routine now.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "3fb64190aa3c23c10e6e9fd0124ac030115c99bf",
      "tree": "6b7b5452d2abbe7964803d8a95c03e5612c8e607",
      "parents": [
        "b4091d5f6fde28ab762e1094a1a26d81f3badfa5"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Oct 24 09:58:10 2008 +0200"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:41 2008 -0500"
      },
      "message": "pass a struct path * to may_open\n\nNo need for the nameidata in may_open - a struct path is enough.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b4091d5f6fde28ab762e1094a1a26d81f3badfa5",
      "tree": "776e0dfeefb7966f4151fe22cb2b9b7482566714",
      "parents": [
        "66f221875dc10813aa2f06c83ad60d0eb1356406"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 05 15:07:21 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:41 2008 -0500"
      },
      "message": "kill walk_init_root\n\nwalk_init_root is a tiny helper that is marked __always_inline, has just\none caller and an unused argument.  Just merge it into the caller.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "66f221875dc10813aa2f06c83ad60d0eb1356406",
      "tree": "4caf6a6d798f9ec8f8ee69dd4e12609e0191429d",
      "parents": [
        "52afeefb9dac9287429642189996426a2bfd6a25"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Wed Nov 05 15:04:29 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:41 2008 -0500"
      },
      "message": "remove incorrect comment in inode_permission\n\nWe now pass on all MAY_ flags to the filesystems permission routines,\nso remove the comment stating the contrary.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "52afeefb9dac9287429642189996426a2bfd6a25",
      "tree": "cbc7baf2a2f4e8dc16861ad4b13de0183f4afa7e",
      "parents": [
        "be42c4c433c2c0d3f1583c08908fead00d36d222"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Dec 01 14:35:00 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:41 2008 -0500"
      },
      "message": "expand some comments (d_path / seq_path)\n\nExplain that you really need to use the return value of d_path rather than\nthe buffer you passed into it.\n\nAlso fix the comment for seq_path(), the function arguments changed\nrecently but the comment hadn\u0027t been updated in sync.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be42c4c433c2c0d3f1583c08908fead00d36d222",
      "tree": "4553430fa44429b1127a4ef8649380b3bce4f9eb",
      "parents": [
        "dc711ca35f9d95a1eec02118e0c298b5e3068315"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Mon Dec 01 14:34:58 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:40 2008 -0500"
      },
      "message": "correct wrong function name of d_put in kernel document and source comment\n\nno function named d_put(), it should be dput().\n\nImpact: fix document and comment, no functionality changed\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fuijtsu.com\u003e\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dc711ca35f9d95a1eec02118e0c298b5e3068315",
      "tree": "0224900b89471b719a9abcd3e43b334e3d993df9",
      "parents": [
        "7df5fa06de89a4ac311957e0cb9c1d87552b4325"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Nov 03 15:03:50 2008 -0500"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:40 2008 -0500"
      },
      "message": "fix switch_names() breakage in short-to-short case\n\nWe want -\u003ename.len to match the resulting name on *both*\nsource and target\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7df5fa06de89a4ac311957e0cb9c1d87552b4325",
      "tree": "2b724c54d644eb4649502577743e549966e4816f",
      "parents": [
        "a63d0ff31a136bdf52350c4e6c2929eaf47ea2b2"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:18 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:40 2008 -0500"
      },
      "message": "befs: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Sergey S. Kostyliov \u003crathamahata@php4.ru\u003e\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a63d0ff31a136bdf52350c4e6c2929eaf47ea2b2",
      "tree": "c174d107dbd0f576699fc4a0ab86f2be75573af1",
      "parents": [
        "21acaf8e8da00235be59a3e489d5fa2a8721cafc"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:17 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:40 2008 -0500"
      },
      "message": "freevxfs: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "21acaf8e8da00235be59a3e489d5fa2a8721cafc",
      "tree": "85db3464bad98d42a37126cada03b3f7a2acb0b1",
      "parents": [
        "e83c1397cafc4e44f868289db5e417463c0d09a4"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:16 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:39 2008 -0500"
      },
      "message": "sysv: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e83c1397cafc4e44f868289db5e417463c0d09a4",
      "tree": "1e5673897d0c7bcaad4a7e6927a7277e78525924",
      "parents": [
        "b5ed3112b5f74c8ec1c7aa03a76c596635e85197"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:15 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:39 2008 -0500"
      },
      "message": "ext4: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: adilger@sun.com\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b5ed3112b5f74c8ec1c7aa03a76c596635e85197",
      "tree": "943736d8c2502a8bebf71d86296bd98377235690",
      "parents": [
        "8d6d0c4da2dbbe0a69fea3692146af39f139f8b4"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:14 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:39 2008 -0500"
      },
      "message": "ext3: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Stephen Tweedie \u003csct@redhat.com\u003e\nCc: linux-ext4@vger.kernel.org\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "8d6d0c4da2dbbe0a69fea3692146af39f139f8b4",
      "tree": "306ab9a840c9e37c1cdc5d56a8f376fec85fd21d",
      "parents": [
        "ebd09abbd9699f328165aee50a070403fbf55a37"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:13 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:39 2008 -0500"
      },
      "message": "ext2: ensure fast symlinks are NUL-terminated\n\nEnsure fast symlink targets are NUL-terminated, even if corrupted\non-disk.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ebd09abbd9699f328165aee50a070403fbf55a37",
      "tree": "a253ba391180a3eed580a493eb831aaae167c837",
      "parents": [
        "035146851cfa2fe24c1d9dc7637bb009ad06b2f7"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:12 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:39 2008 -0500"
      },
      "message": "vfs: ensure page symlinks are NUL-terminated\n\nOn-disk data corruption could cause a page link to have its i_size set\nto PAGE_SIZE (or a multiple thereof) and its contents all non-NUL.\nNUL-terminate the link name to ensure this doesn\u0027t cause further\nproblems for the kernel.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "035146851cfa2fe24c1d9dc7637bb009ad06b2f7",
      "tree": "b6dd89c60a2100e1c0c48abd1688d3d2ff5f5607",
      "parents": [
        "a17d5232de7b53d34229de79ec22f4bb04adb7e4"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:11 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "vfs: introduce helper function to safely NUL-terminate symlinks\n\nA number of filesystems were potentially triggering kernel bugs due to\ncorrupted symlink names on disk. This function helps safely terminate\nthe names.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a17d5232de7b53d34229de79ec22f4bb04adb7e4",
      "tree": "d42a96bf5e0806e4a67404709a8fdf0ed4e551c0",
      "parents": [
        "5cc4a0341a1295ea56b2e62eb70d96d8fdb94ded"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Fri Dec 19 20:47:10 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "eCryptfs: check readlink result was not an error before using it\n\nThe result from readlink is being used to index into the link name\nbuffer without checking whether it is a valid length. If readlink\nreturns an error this will fault or cause memory corruption.\n\nCc: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nCc: Dustin Kirkland \u003ckirkland@canonical.com\u003e\nCc: ecryptfs-devel@lists.launchpad.net\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nAcked-by: Tyler Hicks \u003ctyhicks@linux.vnet.ibm.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "5cc4a0341a1295ea56b2e62eb70d96d8fdb94ded",
      "tree": "aba5a14fe07d1ebc47991f6d70281b1b937931c4",
      "parents": [
        "dded4f4d5048e64a01cf52eed4d27c8cb2600525"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Dec 01 14:34:51 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "fs/namespace.c: drop code after return\n\nThe extra semicolon serves no purpose.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nReviewed-by: Richard Genoud \u003crichard.genoud@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "dded4f4d5048e64a01cf52eed4d27c8cb2600525",
      "tree": "8c9f4bb7dd7ef7a2a263d5f16fd618e36d8be0d2",
      "parents": [
        "c2452f32786159ed85f0e4b21fec09258f822fc8"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Mon Dec 01 14:34:50 2008 -0800"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "include: linux/fs.h: put declarations in __KERNEL__\n\ninclude/linux/fs.h contains externs for a bunch of variables.  That obviously\nbelongs under ifdef __KERNEL__.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "c2452f32786159ed85f0e4b21fec09258f822fc8",
      "tree": "50d93df47f4547a5699c87a608e85596e4c6165f",
      "parents": [
        "e2b689d82c0394e5239a3557a217f19e2f47f1be"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Dec 01 09:33:43 2008 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:38 2008 -0500"
      },
      "message": "shrink struct dentry\n\nstruct dentry is one of the most critical structures in the kernel. So it\u0027s\nsad to see it going neglected.\n\nWith CONFIG_PROFILING turned on (which is probably the common case at least\nfor distros and kernel developers), sizeof(struct dcache) \u003d\u003d 208 here\n(64-bit). This gives 19 objects per slab.\n\nI packed d_mounted into a hole, and took another 4 bytes off the inline\nname length to take the padding out from the end of the structure. This\nshinks it to 200 bytes. I could have gone the other way and increased the\nlength to 40, but I\u0027m aiming for a magic number, read on...\n\nI then got rid of the d_cookie pointer. This shrinks it to 192 bytes. Rant:\nwhy was this ever a good idea? The cookie system should increase its hash\nsize or use a tree or something if lookups are a problem. Also the \"fast\ndcookie lookups\" in oprofile should be moved into the dcookie code -- how\ncan oprofile possibly care about the dcookie_mutex? It gets dropped after\nget_dcookie() returns so it can\u0027t be providing any sort of protection.\n\nAt 192 bytes, 21 objects fit into a 4K page, saving about 3MB on my system\nwith ~140 000 entries allocated. 192 is also a multiple of 64, so we get\nnice cacheline alignment on 64 and 32 byte line systems -- any given dentry\nwill now require 3 cachelines to touch all fields wheras previously it\nwould require 4.\n\nI know the inline name size was chosen quite carefully, however with the\nreduction in cacheline footprint, it should actually be just about as fast\nto do a name lookup for a 36 character name as it was before the patch (and\nfaster for other sizes). The memory footprint savings for names which are\n\u003c\u003d 32 or \u003e 36 bytes long should more than make up for the memory cost for\n33-36 byte names.\n\nPerformance is a feature...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e2b689d82c0394e5239a3557a217f19e2f47f1be",
      "tree": "5184413c8c872f84ef002f183db70a47b081a8dd",
      "parents": [
        "be6d3e56a6b9b3a4ee44a0685e39e595073c6f0d"
      ],
      "author": {
        "name": "Richard Kennedy",
        "email": "richard@rsk.demon.co.uk",
        "time": "Thu Dec 04 11:17:47 2008 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:37 2008 -0500"
      },
      "message": "fs: reorder struct inotify_device on 64bits to remove padding\n\nReorder struct inotify_device to remove 8 bytes of padding on 64bit\nbuilds, reducing size to 128 bytes . Therefore allocating from a smaller\nslab \u0026 using one fewer cachelines.\n\nSigned-off-by: Richard Kennedy \u003crichard@rsk.demon.co.uk\u003e\n\n----\nHi,\npatch against 2.6.28-rc7.\nbuilt \u0026 tested on AMDX2 desktop.\n\nI\u0027ve not been able to send this to the listed inotify maintainers, I\njust get mail failures. So I guessed filesystem was the best home for\nit, hope that\u0027s ok.\n\nregards\nRichard\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "be6d3e56a6b9b3a4ee44a0685e39e595073c6f0d",
      "tree": "3a770f4cc676efeba443b28caa1ad195eeff49bc",
      "parents": [
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Kentaro Takeda",
        "email": "takedakn@nttdata.co.jp",
        "time": "Wed Dec 17 13:24:15 2008 +0900"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Dec 31 18:07:37 2008 -0500"
      },
      "message": "introduce new LSM hooks where vfsmount is available.\n\nAdd new LSM hooks for path-based checks.  Call them on directory-modifying\noperations at the points where we still know the vfsmount involved.\n\nSigned-off-by: Kentaro Takeda \u003ctakedakn@nttdata.co.jp\u003e\nSigned-off-by: Tetsuo Handa \u003cpenguin-kernel@I-love.SAKURA.ne.jp\u003e\nSigned-off-by: Toshiharu Harada \u003charadats@nttdata.co.jp\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "db200df0b3530f673d8e9f5bd535e9e10305842a",
      "tree": "9a94039b8813452c51a50fcb45e95c32a9f0e537",
      "parents": [
        "ec270e59a74eee972006a87c8e12514a20588369",
        "43a256322ac1fc105c181b3cade3b9bfc0b63ca1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 09:00:59 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 31 09:00:59 2008 -0800"
      },
      "message": "Merge branch \u0027irq-fixes-for-linus-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027irq-fixes-for-linus-4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sparseirq: move __weak symbols into separate compilation unit\n  sparseirq: work around __weak alias bug\n  sparseirq: fix hang with !SPARSE_IRQ\n  sparseirq: set lock_class for legacy irq when sparse_irq is selected\n  sparseirq: work around compiler optimizing away __weak functions\n  sparseirq: fix desc-\u003elock init\n  sparseirq: do not printk when migrating IRQ descriptors\n  sparseirq: remove duplicated arch_early_irq_init()\n  irq: simplify for_each_irq_desc() usage\n  proc: remove ifdef CONFIG_SPARSE_IRQ from stat.c\n  irq: for_each_irq_desc() move to irqnr.h\n  hrtimer: remove #include \u003clinux/irq.h\u003e\n"
    },
    {
      "commit": "ec270e59a74eee972006a87c8e12514a20588369",
      "tree": "6ec13c87f75322a2816c09bb290b6e66bf5116e4",
      "parents": [
        "6a94cb73064c952255336cc57731904174b2c58f",
        "5a6bb10393eb9a1985e97af12f0cb2906bcbf1af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 20:33:34 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 20:33:34 2008 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/hirofumi/fatfs-2.6:\n  fat: make sure to set d_ops in fat_get_parent\n  fat: fix duplicate addition of -\u003ellseek handler\n  fat: drop negative dentry on rename() path\n"
    },
    {
      "commit": "6a94cb73064c952255336cc57731904174b2c58f",
      "tree": "d19cc835db0a21e01909a92772868e1ad96f99ff",
      "parents": [
        "f57fa1d6a6b3414e853d3d17e339ac48816e4406",
        "0a8c5395f90f06d128247844b2515c8bf3f2826b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:48:25 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:48:25 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs: (184 commits)\n  [XFS] Fix race in xfs_write() between direct and buffered I/O with DMAPI\n  [XFS] handle unaligned data in xfs_bmbt_disk_get_all\n  [XFS] avoid memory allocations in xfs_fs_vcmn_err\n  [XFS] Fix speculative allocation beyond eof\n  [XFS] Remove XFS_BUF_SHUT() and friends\n  [XFS] Use the incore inode size in xfs_file_readdir()\n  [XFS] set b_error from bio error in xfs_buf_bio_end_io\n  [XFS] use inode_change_ok for setattr permission checking\n  [XFS] add a FMODE flag to make XFS invisible I/O less hacky\n  [XFS] resync headers with libxfs\n  [XFS] simplify projid check in xfs_rename\n  [XFS] replace b_fspriv with b_mount\n  [XFS] Remove unused tracing code\n  [XFS] Remove unnecessary assertion\n  [XFS] Remove unused variable in ktrace_free()\n  [XFS] Check return value of xfs_buf_get_noaddr()\n  [XFS] Fix hang after disallowed rename across directory quota domains\n  [XFS] Fix compile with CONFIG_COMPAT enabled\n  move inode tracing out of xfs_vnode.\n  move vn_iowait / vn_iowake into xfs_aops.c\n  ...\n"
    },
    {
      "commit": "f57fa1d6a6b3414e853d3d17e339ac48816e4406",
      "tree": "e1d3acdb12f902e916765915a4f9a65cbae909cc",
      "parents": [
        "6094c85a935f7eadb4c607c6dc6d86c0a9f09a4b",
        "08cc36cbd1ee7d86422713bb21551eed1326b894"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:45:45 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:45:45 2008 -0800"
      },
      "message": "Merge git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (70 commits)\n  fs/nfs/nfs4proc.c: make nfs4_map_errors() static\n  rpc: add service field to new upcall\n  rpc: add target field to new upcall\n  nfsd: support callbacks with gss flavors\n  rpc: allow gss callbacks to client\n  rpc: pass target name down to rpc level on callbacks\n  nfsd: pass client principal name in rsc downcall\n  rpc: implement new upcall\n  rpc: store pointer to pipe inode in gss upcall message\n  rpc: use count of pipe openers to wait for first open\n  rpc: track number of users of the gss upcall pipe\n  rpc: call release_pipe only on last close\n  rpc: add an rpc_pipe_open method\n  rpc: minor gss_alloc_msg cleanup\n  rpc: factor out warning code from gss_pipe_destroy_msg\n  rpc: remove unnecessary assignment\n  NFS: remove unused status from encode routines\n  NFS: increment number of operations in each encode routine\n  NFS: fix comment placement in nfs4xdr.c\n  NFS: fix tabs in nfs4xdr.c\n  ...\n"
    },
    {
      "commit": "6094c85a935f7eadb4c607c6dc6d86c0a9f09a4b",
      "tree": "64798f350779f041812cb0265993907f972b5efa",
      "parents": [
        "590cf28580c999c8ba70dc39b40bab09d69e2630",
        "ee48c3d7d3afab7b582051ee8f3f8979e6a87766"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:45:28 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 30 17:45:28 2008 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mlx4: Fix reading SL field out of cqe-\u003esl_vid\n  RDMA/addr: Fix build breakage when IPv6 is disabled\n"
    }
  ],
  "next": "590cf28580c999c8ba70dc39b40bab09d69e2630"
}
