)]}'
{
  "log": [
    {
      "commit": "13ae66458971b4967350765a8bfaf2a636442e5f",
      "tree": "37940517f06cbb500c77770da71986c5cced6772",
      "parents": [
        "6db4063c5b72b46e9793b0f141a7a3984ac6facf"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Jun 26 00:27:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:33 2006 -0700"
      },
      "message": "[PATCH] VT binding: Make VT binding a Kconfig option\n\nTo enable this feature, CONFIG_VT_HW_CONSOLE_BINDING must be set to \u0027y\u0027.  This\nfeature will default to \u0027n\u0027 to minimize users accidentally corrupting their\nvirtual terminals.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6db4063c5b72b46e9793b0f141a7a3984ac6facf",
      "tree": "47e4295617e6c47aae2a1344923dcce6fd81166a",
      "parents": [
        "79062a0d396272f5b103d5223f3c96c58fd27451"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Jun 26 00:27:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:33 2006 -0700"
      },
      "message": "[PATCH] VT binding: Add sysfs control to the VT layer\n\nAdd sysfs control to the VT layer.  A new sysfs class, \u0027vtconsole\u0027, and class\ndevices \u0027vtcon[n]\u0027 are added.  Each class device file has the following\nattributes:\n\n/sys/class/vtconsole/vtcon[n]/name - read-only attribute showing the\n                                     name of the current backend\n\n/sys/class/vtconsole/vtcon[n]/bind - read/write attribute\n             where: 0 - backend is unbound/unbind backend from the VT layer\n                    1 - backend is bound/bind backend to the VT layer\n\nIn addition, if any of the consoles are in KD_GRAPHICS mode, binding and\nunbinding will not succeed.  KD_GRAPHICS mode usually indicates that the\nunderlying console hardware is used for other purposes other than displaying\ntext (ie X).  This feature should prevent binding/unbinding from interfering\nwith a graphics application using the VT.\n\n[akpm@osdl.org: warning fixes]\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e795de7631b2366d7301182c8d91f6d2911467b",
      "tree": "e119d2eec9825ad86c2b07e43d2bb06e7d558858",
      "parents": [
        "a4a73e1f0283850edc143d28502c1c517c6ab49c"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Jun 26 00:27:08 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:33 2006 -0700"
      },
      "message": "[PATCH] VT binding: Add binding/unbinding support for the VT console\n\nThe framebuffer console is now able to dynamically bind and unbind from the VT\nconsole layer.  Due to the way the VT console layer works, the drivers\nthemselves decide when to bind or unbind.  However, it was decided that\nbinding must be controlled, not by the drivers themselves, but by the VT\nconsole layer.  With this, dynamic binding is possible for all VT console\ndrivers, not just fbcon.\n\nThus, the VT console layer will impose the following to all VT console\ndrivers:\n\n- all registered VT console drivers will be entered in a private list\n- drivers can register themselves to the VT console layer, but they cannot\n  decide when to bind or unbind. (Exception: To maintain backwards\n  compatibility, take_over_console() will automatically bind the driver after\n  registration.)\n- drivers can remove themselves from the list by unregistering from the VT\n  console layer. A prerequisite for unregistration is that the driver must not\n  be bound.\n\nThe following functions are new in the vt.c:\n\nregister_con_driver() - public function, this function adds the VT console\ndriver to an internal list maintained by the VT console\n\nbind_con_driver() - private function, it binds the driver to the console\n\ntake_over_console() is changed to call register_con_driver() followed by a\nbind_con_driver().  This is the only time drivers can decide when to bind to\nthe VT layer.  This is to maintain backwards compatibility.\n\nunbind_con_driver() - private function, it unbinds the driver from its\nconsole.  The vacated consoles will be taken over by the default boot console\ndriver.\n\nunregister_con_driver() - public function, removes the driver from the\ninternal list maintained by the VT console.  It will only succeed if the\ndriver is currently unbound.\n\ncon_is_bound() checks if the driver is currently bound or not\n\ngive_up_console() is just a wrapper to unregister_con_driver().\n\nThere are also 3 additional functions meant to be called only by the tty layer\nfor sysfs control:\n\n\tvt_bind() - calls bind_con_driver()\n\tvt_unbind() - calls unbind_con_driver()\n\tvt_show_drivers() - shows the list of registered drivers\n\nMost VT console drivers will continue to work as is, but might have problems\nwhen unbinding or binding which should be fixable with minimal changes.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1c8ce271fe707d26b7bca4e490067fe65694b363",
      "tree": "42fc5fa81161065874b9aa751773d15465a8de9b",
      "parents": [
        "50ec42edd9784fad6a37b05be03064ea24098db6"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Mon Jun 26 00:27:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:32 2006 -0700"
      },
      "message": "[PATCH] Detaching fbcon: fix give_up_console()\n\nTo allow for detaching fbcon, it must be able to give up the console.\nHowever, the function give_up_console() is plain broken.  It just sets the\nentries in the console driver map to NULL, it leaves the vt layer without a\nconsole driver, and does not decrement the module reference count.  Calling\ngive_up_console() is guaranteed to hang the machine..\n\nTo fix this problem, ensure that the virtual consoles are not left dangling\nwithout a driver.  All systems have a default boot driver (either vgacon or\ndummycon) which is never unloaded.  For those vt\u0027s that lost their driver, the\ndefault boot driver is reassigned back to them.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4ee1acce49d616e0e3fbff76fa1dea0c7350535d",
      "tree": "55e4f15b64263681205e2eabf9749be761dd2362",
      "parents": [
        "6dbde380ca525bbfedd65e11402f345e1d64cba9"
      ],
      "author": {
        "name": "David Hollister",
        "email": "david.hollister@amd.com",
        "time": "Mon Jun 26 00:26:41 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jun 26 09:58:30 2006 -0700"
      },
      "message": "[PATCH] vt: Delay the update of the visible console\n\nDelay the update of the visible framebuffer console until all other consoles\nhave been initialized in order to avoid losing information.  This only seems\nto be a problem with modules, not with built-in drivers.\n\nSigned-off-by: David Hollister \u003cdavid.hollister@amd.com\u003e\nSigned-off-by: Jordan Crouse \u003cjordan.crouse@amd.com\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "760f1fce030ccc620ec430a8aff8fc604e7891ed",
      "tree": "d2e14b5c6d101e4b368300d2a7e6c6fd438133a8",
      "parents": [
        "d61a3ead268084cc271d7b2aa2950fc822a37cf5"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@osdl.org",
        "time": "Tue May 30 21:26:03 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed May 31 16:27:11 2006 -0700"
      },
      "message": "[PATCH] revert \"swsusp add check for suspension of X controlled devices\"\n\nFrom: Andrew Morton \u003cakpm@osdl.org\u003e\n\nRevert commit ff4da2e262d2509fe1bacff70dd00934be569c66.\n\nIt broke APM suspend, probably because APM doesn\u0027t switch back to a VT\nwhen suspending.\n\nTracked down by Matt Mackall \u003cmpm@selenic.com\u003e\n\nRafael sayeth:\n  \"It only fixed the theoretical issue that a quick-handed user could\n   switch to X after processes have been frozen and before the devices\n   are suspended.\n\n   With the current userland suspend tools it shouldn\u0027t be necessary.\"\n\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "0ca07731e495584bd84dca15a0f065470d594ec4",
      "tree": "d043e8b64b43361051e1e6b40ee37382591825df",
      "parents": [
        "d32af0fe11b1618572389723e93cf33a4cc11c81"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Mar 31 02:30:58 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Mar 31 12:18:56 2006 -0800"
      },
      "message": "[PATCH] vt: add TIOCL_GETKMSGREDIRECT\n\nAdd TIOCL_GETKMSGREDIRECT needed by the userland suspend tool to get the\ncurrent value of kmsg_redirect from the kernel so that it can save it and\nrestore it after resume.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Michael Kerrisk \u003cmtk-manpages@gmx.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "70522e121a521aa09bd0f4e62e1aa68708b798e1",
      "tree": "1233412da73361b48ed01290a33ab7c90e36359a",
      "parents": [
        "d4f9af9dac4ecb75818f909168f87b441cc95653"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:11 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: tty\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "ff4da2e262d2509fe1bacff70dd00934be569c66",
      "tree": "1e171f1858be98f4a7c6ea3f92358b692dab44dc",
      "parents": [
        "e4e4d665560c75afb6060cb43bb6738777648ca1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 23 03:00:07 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:08 2006 -0800"
      },
      "message": "[PATCH] swsusp: add check for suspension of X-controlled devices\n\nIt is unsafe to suspend devices if the hardware is controlled by X.  Add an\nextra check to prevent this from happening.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Pavel Machek \u003cpavel@ucw.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "9477e260b7ca3b6076b91eae15739383c508f3e2",
      "tree": "8c9505661ec3c22319b5bb9a6764df75d222d920",
      "parents": [
        "fa385bef256077f3b820b241e8f3755ef3905b74"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Wed Feb 01 03:06:52 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Feb 01 08:53:26 2006 -0800"
      },
      "message": "[PATCH] fbcon: Fix screen artifacts when moving cursor\n\nWhen moving the cursor by writing to /dev/vcs*, the old cursor image is not\nerased.  Fix by hiding the cursor first before moving the cursor to the new\nposition.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d060a3218f6a046509fa31939ce1a671b0359086",
      "tree": "376c5c5909302595e8b56cb6617c4a0246bccc0f",
      "parents": [
        "cae8a12f49972f040bae6707b7707cd93fe9c9ab"
      ],
      "author": {
        "name": "Ville Syrjala",
        "email": "syrjala@sci.fi",
        "time": "Mon Jan 09 20:53:49 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:52 2006 -0800"
      },
      "message": "[PATCH] Fix console blanking\n\nCurrent console blanking code is broken.  It will first do a normal blank,\nthen start the VESA blank timer if vesa_off_interval !\u003d 0, and then proceed\nto do the VESA blanking directly.  After the timer expires it will do the\nVESA blanking a second time.  Also the vesa_powerdown() function doesn\u0027t\nallow all VESA modes to be used.\n\nWith this patch the behaviour is:\n1. Blank: vesa_off_interval !\u003d 0 -\u003e Do normal blank\n          vesa_off_interval \u003d\u003d 0 -\u003e Do VESA blank\n2. Start the VESA blank timer if vesa_off_interval !\u003d 0 and\n   vesa_power_mode !\u003d 0.\n\nIt also gets rid of the limiting vesa_powerdown() function.\n\nSigned-off-by: Ville Syrjala \u003csyrjala@sci.fi\u003e\nCc: \"Antonino A. Daplas\" \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "065d9cac98a5406ecd5a1368f8fd38f55739dee9",
      "tree": "07ee4a0bf1eba87e704073bd95bac25022cb5a52",
      "parents": [
        "6d36ba629e0ef47a03d3703ee1d38143c25532a8"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Thu Sep 15 21:34:33 2005 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 15 08:24:09 2005 -0700"
      },
      "message": "[PATCH] vc: Use correct size on buffer copy in vc_resize\n\nIn the unlikely case of the new screen width much wider then the old,\nuse (old_row_size * new_rows) instead of new_screen_size to prevent a\nbuffer overrun during the copy.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3b41dc1a3c7839a765ffa560a5ae07aa5d253cc8",
      "tree": "6cee743cc501593be36191151d391ad5ebfeac5f",
      "parents": [
        "2cc38ed13f1b0f9d80a2d0acc2916af94922f27e"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Fri Sep 09 13:04:39 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:58:00 2005 -0700"
      },
      "message": "[PATCH] console: Fix buffer copy on vc resize\n\nOn a vc resize, the contents of the old screen buffer are transferred to the\nnew screenbuffer.  If the new screenbuffer is smaller than the old one, only\nthe contents from the bottom are copied to new.  If the contents of the old\nbuffer are located at the top, then the contents will not be copied to the new\nbuffer resulting in a blank screen.\n\nThis bug will happen only if the vc in question is not in the foreground.\nDoing an fbset -a or con2fbmap will trigger this bug.\n\nTo fix this problem, base the start of the copy from the location of the\ncurrent cursor.  If the cursor is near the top of the buffer, copy the\ncontents at the top, and if the cursor is near the bottom of the buffer, then\ncopy the contents at the bottom.  In the unlikely case where the new row size\nis greater than 2x smaller than the old one, and the cursor is in the middle,\ncopy 1/2 screenful from the top and bottom of the cursor position.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "414edcd32aa54bad8827e7c74cace168006c5fab",
      "tree": "4c4861b54b2c1529c4677e6d31bb6027568aaa1a",
      "parents": [
        "eed74dfcd48101d259012ac08d29061eea500249"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Tue Sep 06 15:17:52 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:36 2005 -0700"
      },
      "message": "[PATCH] vt: fix possible memory corruption in complement_pos\n\nBased on a patch from Andr Pereira de Almeida \u003candre@cachola.com.br\u003e\n\nIt might be possible for the saved pointer (*p) to become invalid in\nbetween vc_resizes, so saving the screen offset instead of the screen\npointer is saner.\n\nThis bug is very hard to trigger though, but Andre probably did, if he\u0027s\nsubmitting this patch.  Anyway, with Andre\u0027s patch, it\u0027s still possible for\nthe offsets to be still illegal, if the new screen size is smaller than the\nold one.  So I\u0027ve also added checks if the offsets are still within the\nscreenbuffer size.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "2d237c63659c098a662b1b09d43460f04c498436",
      "tree": "08a16c34d381b4d3347e353b598ccdbcc5f46c2b",
      "parents": [
        "f62c6d0a2607b2d1fdf280d4d1467a7a6e24c67d"
      ],
      "author": {
        "name": "Stephane Doyon",
        "email": "s.doyon@videotron.ca",
        "time": "Tue Sep 06 15:17:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Sep 07 16:57:31 2005 -0700"
      },
      "message": "[PATCH] Console blanking locking fix\n\nI\u0027ve had WARN_CONSOLE_UNLOCKED warnings when calling TIOCLINUX\nTIOCL_BLANKSCREEN and TIOCL_UNBLANKSCREEN.\n\n(I\u0027m blind and I use a braille display.  I use those functions to blank my\nlaptop\u0027s screen so people don\u0027t read it, and hopefully to conserve power.)\n\nThe warnings are from these places:\ndo_blank_screen at drivers/char/vt.c:2754 (Not tainted)\nsave_screen at drivers/char/vt.c:575 (Not tainted)\ndo_unblank_screen at drivers/char/vt.c:2822 (Not tainted)\nset_palette at drivers/char/vt.c:2908 (Not tainted)\n\nAt a glance I would think the following patch ought to fix that.  Tested on\none machine.  Could you please tell me if this is correct and/or forward\nthe patch where appropriate...\n\nSigned-off-by: Stephane Doyon \u003cs.doyon@videotron.ca\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f786648b89f00d4e66fe6b19beffd30e764651fc",
      "tree": "246cc25d07fc4085b1bf5913f84ffd9c53eef256",
      "parents": [
        "3859f6a248cbdfbe7b41663f3a2b51f48e30b281"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Aug 28 09:40:01 2005 +1000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Aug 27 18:03:42 2005 -0700"
      },
      "message": "[PATCH] Remove race between con_open and con_close\n\n[ Same race and same patch also by Steven Rostedt \u003crostedt@goodmis.org\u003e ]\n\nI have a laptop (G3 powerbook) which will pretty reliably hit a race\nbetween con_open and con_close late in the boot process and oops in\nvt_ioctl due to tty-\u003edriver_data being NULL.\n\nWhat happens is this: process A opens /dev/tty6; it comes into\ncon_open() (drivers/char/vt.c) and assign a non-NULL value to\ntty-\u003edriver_data.  Then process A closes that and concurrently process\nB opens /dev/tty6.  Process A gets through con_close() and clears\ntty-\u003edriver_data, since tty-\u003ecount \u003d\u003d 1.  However, before process A\ncan decrement tty-\u003ecount, we switch to process B (e.g. at the\ndown(\u0026tty_sem) call at drivers/char/tty_io.c line 1626).\n\nSo process B gets to run and comes into con_open with tty-\u003ecount \u003d\u003d 2,\nas tty-\u003ecount is incremented (in init_dev) before con_open is called.\nBecause tty-\u003ecount !\u003d 1, we don\u0027t set tty-\u003edriver_data.  Then when the\nprocess tries to do anything with that fd, it oopses.\n\nThe simple and effective fix for this is to test tty-\u003edriver_data\nrather than tty-\u003ecount in con_open.  The testing and setting of\ntty-\u003edriver_data is serialized with respect to the clearing of\ntty-\u003edriver_data in con_close by the console_sem.  We can\u0027t get a\nsituation where con_open sees tty-\u003edriver_data !\u003d NULL and then\ncon_close on a different fd clears tty-\u003edriver_data, because\ntty-\u003ecount is incremented before con_open is called.  Thus this patch\neliminates the race, and in fact with this patch my laptop doesn\u0027t\noops.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\n[ Same patch\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n  in http://marc.theaimsgroup.com/?l\u003dlinux-kernel\u0026m\u003d112450820432121\u0026w\u003d2 ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "030babac6ae54df64ae3bba4685ecb1d8d8dd8c3",
      "tree": "790efcef0208ef8d626d47fff0740a633301281d",
      "parents": [
        "ba460e48064edeb57e3398eb8972c58de33f11ea"
      ],
      "author": {
        "name": "Nishanth Aravamudan",
        "email": "nacc@us.ibm.com",
        "time": "Fri Jul 15 03:56:25 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Jul 15 09:54:50 2005 -0700"
      },
      "message": "[PATCH] vt.c build fix\n\nSigned-off-by: Nishanth Aravamudan \u003cnacc@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "cc63b1e12b378c44e074571d5688c23be823b04c",
      "tree": "f8feb187a8e8e12c822bb9fc18804f76341b1c45",
      "parents": [
        "43fde784a698aff26de0fc1dbd84aa075b8cfb5f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@novell.com",
        "time": "Fri Jun 17 13:20:58 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Jun 18 13:33:01 2005 -0700"
      },
      "message": "[PATCH] console blanking oops fix\n\nWhen significant delays happen during boot (e.g.  with a kernel debugger,\nbut the problem has also seen in other cases) the timeout for blanking the\nconsole may trigger, but the work scheduler may not have been initialized,\nyet.  schedule_work() will oops over the null keventd_wq.\n\nSigned-off-by: Jan Beulich \u003cjbeulich@novell.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
