)]}'
{
  "log": [
    {
      "commit": "dee4a0be69c0e2996188e0c46478eadc280a8954",
      "tree": "f2135235ac8d13241a2fa765a4fe518ab8ea8f7a",
      "parents": [
        "5ede52538ee2b2202d9dff5b06c33bfde421e6e4"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Wed Jul 24 16:43:51 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jul 24 15:12:53 2013 -0700"
      },
      "message": "tty: Fix lock order in tty_do_resize()\n\nCommits 6a1c0680cf3ba94356ecd58833e1540c93472a57 and\n9356b535fcb71db494fc434acceb79f56d15bda2, respectively\n  \u0027tty: Convert termios_mutex to termios_rwsem\u0027 and\n  \u0027n_tty: Access termios values safely\u0027\nintroduced a circular lock dependency with console_lock and\ntermios_rwsem.\n\nThe lockdep report [1] shows that n_tty_write() will attempt\nto claim console_lock while holding the termios_rwsem, whereas\ntty_do_resize() may already hold the console_lock while\nclaiming the termios_rwsem.\n\nSince n_tty_write() and tty_do_resize() do not contend\nover the same data -- the tty-\u003ewinsize structure -- correct\nthe lock dependency by introducing a new lock which\nspecifically serializes access to tty-\u003ewinsize only.\n\n[1] Lockdep report\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible circular locking dependency detected ]\n3.10.0-0+tip-xeon+lockdep #0+tip Not tainted\n-------------------------------------------------------\nmodprobe/277 is trying to acquire lock:\n (\u0026tty-\u003etermios_rwsem){++++..}, at: [\u003cffffffff81452656\u003e] tty_do_resize+0x36/0xe0\n\nbut task is already holding lock:\n ((fb_notifier_list).rwsem){.+.+.+}, at: [\u003cffffffff8107aac6\u003e] __blocking_notifier_call_chain+0x56/0xc0\n\nwhich lock already depends on the new lock.\n\nthe existing dependency chain (in reverse order) is:\n\n-\u003e #2 ((fb_notifier_list).rwsem){.+.+.+}:\n       [\u003cffffffff810b6d62\u003e] lock_acquire+0x92/0x1f0\n       [\u003cffffffff8175b797\u003e] down_read+0x47/0x5c\n       [\u003cffffffff8107aac6\u003e] __blocking_notifier_call_chain+0x56/0xc0\n       [\u003cffffffff8107ab46\u003e] blocking_notifier_call_chain+0x16/0x20\n       [\u003cffffffff813d7c0b\u003e] fb_notifier_call_chain+0x1b/0x20\n       [\u003cffffffff813d95b2\u003e] register_framebuffer+0x1e2/0x320\n       [\u003cffffffffa01043e1\u003e] drm_fb_helper_initial_config+0x371/0x540 [drm_kms_helper]\n       [\u003cffffffffa01bcb05\u003e] nouveau_fbcon_init+0x105/0x140 [nouveau]\n       [\u003cffffffffa01ad0af\u003e] nouveau_drm_load+0x43f/0x610 [nouveau]\n       [\u003cffffffffa008a79e\u003e] drm_get_pci_dev+0x17e/0x2a0 [drm]\n       [\u003cffffffffa01ad4da\u003e] nouveau_drm_probe+0x25a/0x2a0 [nouveau]\n       [\u003cffffffff813b13db\u003e] local_pci_probe+0x4b/0x80\n       [\u003cffffffff813b1701\u003e] pci_device_probe+0x111/0x120\n       [\u003cffffffff814977eb\u003e] driver_probe_device+0x8b/0x3a0\n       [\u003cffffffff81497bab\u003e] __driver_attach+0xab/0xb0\n       [\u003cffffffff814956ad\u003e] bus_for_each_dev+0x5d/0xa0\n       [\u003cffffffff814971fe\u003e] driver_attach+0x1e/0x20\n       [\u003cffffffff81496cc1\u003e] bus_add_driver+0x111/0x290\n       [\u003cffffffff814982b7\u003e] driver_register+0x77/0x170\n       [\u003cffffffff813b0454\u003e] __pci_register_driver+0x64/0x70\n       [\u003cffffffffa008a9da\u003e] drm_pci_init+0x11a/0x130 [drm]\n       [\u003cffffffffa022a04d\u003e] nouveau_drm_init+0x4d/0x1000 [nouveau]\n       [\u003cffffffff810002ea\u003e] do_one_initcall+0xea/0x1a0\n       [\u003cffffffff810c54cb\u003e] load_module+0x123b/0x1bf0\n       [\u003cffffffff810c5f57\u003e] SyS_init_module+0xd7/0x120\n       [\u003cffffffff817677c2\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #1 (console_lock){+.+.+.}:\n       [\u003cffffffff810b6d62\u003e] lock_acquire+0x92/0x1f0\n       [\u003cffffffff810430a7\u003e] console_lock+0x77/0x80\n       [\u003cffffffff8146b2a1\u003e] con_flush_chars+0x31/0x50\n       [\u003cffffffff8145780c\u003e] n_tty_write+0x1ec/0x4d0\n       [\u003cffffffff814541b9\u003e] tty_write+0x159/0x2e0\n       [\u003cffffffff814543f5\u003e] redirected_tty_write+0xb5/0xc0\n       [\u003cffffffff811ab9d5\u003e] vfs_write+0xc5/0x1f0\n       [\u003cffffffff811abec5\u003e] SyS_write+0x55/0xa0\n       [\u003cffffffff817677c2\u003e] system_call_fastpath+0x16/0x1b\n\n-\u003e #0 (\u0026tty-\u003etermios_rwsem){++++..}:\n       [\u003cffffffff810b65c3\u003e] __lock_acquire+0x1c43/0x1d30\n       [\u003cffffffff810b6d62\u003e] lock_acquire+0x92/0x1f0\n       [\u003cffffffff8175b724\u003e] down_write+0x44/0x70\n       [\u003cffffffff81452656\u003e] tty_do_resize+0x36/0xe0\n       [\u003cffffffff8146c841\u003e] vc_do_resize+0x3e1/0x4c0\n       [\u003cffffffff8146c99f\u003e] vc_resize+0x1f/0x30\n       [\u003cffffffff813e4535\u003e] fbcon_init+0x385/0x5a0\n       [\u003cffffffff8146a4bc\u003e] visual_init+0xbc/0x120\n       [\u003cffffffff8146cd13\u003e] do_bind_con_driver+0x163/0x320\n       [\u003cffffffff8146cfa1\u003e] do_take_over_console+0x61/0x70\n       [\u003cffffffff813e2b93\u003e] do_fbcon_takeover+0x63/0xc0\n       [\u003cffffffff813e67a5\u003e] fbcon_event_notify+0x715/0x820\n       [\u003cffffffff81762f9d\u003e] notifier_call_chain+0x5d/0x110\n       [\u003cffffffff8107aadc\u003e] __blocking_notifier_call_chain+0x6c/0xc0\n       [\u003cffffffff8107ab46\u003e] blocking_notifier_call_chain+0x16/0x20\n       [\u003cffffffff813d7c0b\u003e] fb_notifier_call_chain+0x1b/0x20\n       [\u003cffffffff813d95b2\u003e] register_framebuffer+0x1e2/0x320\n       [\u003cffffffffa01043e1\u003e] drm_fb_helper_initial_config+0x371/0x540 [drm_kms_helper]\n       [\u003cffffffffa01bcb05\u003e] nouveau_fbcon_init+0x105/0x140 [nouveau]\n       [\u003cffffffffa01ad0af\u003e] nouveau_drm_load+0x43f/0x610 [nouveau]\n       [\u003cffffffffa008a79e\u003e] drm_get_pci_dev+0x17e/0x2a0 [drm]\n       [\u003cffffffffa01ad4da\u003e] nouveau_drm_probe+0x25a/0x2a0 [nouveau]\n       [\u003cffffffff813b13db\u003e] local_pci_probe+0x4b/0x80\n       [\u003cffffffff813b1701\u003e] pci_device_probe+0x111/0x120\n       [\u003cffffffff814977eb\u003e] driver_probe_device+0x8b/0x3a0\n       [\u003cffffffff81497bab\u003e] __driver_attach+0xab/0xb0\n       [\u003cffffffff814956ad\u003e] bus_for_each_dev+0x5d/0xa0\n       [\u003cffffffff814971fe\u003e] driver_attach+0x1e/0x20\n       [\u003cffffffff81496cc1\u003e] bus_add_driver+0x111/0x290\n       [\u003cffffffff814982b7\u003e] driver_register+0x77/0x170\n       [\u003cffffffff813b0454\u003e] __pci_register_driver+0x64/0x70\n       [\u003cffffffffa008a9da\u003e] drm_pci_init+0x11a/0x130 [drm]\n       [\u003cffffffffa022a04d\u003e] nouveau_drm_init+0x4d/0x1000 [nouveau]\n       [\u003cffffffff810002ea\u003e] do_one_initcall+0xea/0x1a0\n       [\u003cffffffff810c54cb\u003e] load_module+0x123b/0x1bf0\n       [\u003cffffffff810c5f57\u003e] SyS_init_module+0xd7/0x120\n       [\u003cffffffff817677c2\u003e] system_call_fastpath+0x16/0x1b\n\nother info that might help us debug this:\n\nChain exists of:\n  \u0026tty-\u003etermios_rwsem --\u003e console_lock --\u003e (fb_notifier_list).rwsem\n\n Possible unsafe locking scenario:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock((fb_notifier_list).rwsem);\n                               lock(console_lock);\n                               lock((fb_notifier_list).rwsem);\n  lock(\u0026tty-\u003etermios_rwsem);\n\n *** DEADLOCK ***\n\n7 locks held by modprobe/277:\n #0:  (\u0026__lockdep_no_validate__){......}, at: [\u003cffffffff81497b5b\u003e] __driver_attach+0x5b/0xb0\n #1:  (\u0026__lockdep_no_validate__){......}, at: [\u003cffffffff81497b69\u003e] __driver_attach+0x69/0xb0\n #2:  (drm_global_mutex){+.+.+.}, at: [\u003cffffffffa008a6dd\u003e] drm_get_pci_dev+0xbd/0x2a0 [drm]\n #3:  (registration_lock){+.+.+.}, at: [\u003cffffffff813d93f5\u003e] register_framebuffer+0x25/0x320\n #4:  (\u0026fb_info-\u003elock){+.+.+.}, at: [\u003cffffffff813d8116\u003e] lock_fb_info+0x26/0x60\n #5:  (console_lock){+.+.+.}, at: [\u003cffffffff813d95a4\u003e] register_framebuffer+0x1d4/0x320\n #6:  ((fb_notifier_list).rwsem){.+.+.+}, at: [\u003cffffffff8107aac6\u003e] __blocking_notifier_call_chain+0x56/0xc0\n\nstack backtrace:\nCPU: 0 PID: 277 Comm: modprobe Not tainted 3.10.0-0+tip-xeon+lockdep #0+tip\nHardware name: Dell Inc. Precision WorkStation T5400  /0RW203, BIOS A11 04/30/2012\n ffffffff8213e5e0 ffff8802aa2fb298 ffffffff81755f19 ffff8802aa2fb2e8\n ffffffff8174f506 ffff8802aa2fa000 ffff8802aa2fb378 ffff8802aa2ea8e8\n ffff8802aa2ea910 ffff8802aa2ea8e8 0000000000000006 0000000000000007\nCall Trace:\n [\u003cffffffff81755f19\u003e] dump_stack+0x19/0x1b\n [\u003cffffffff8174f506\u003e] print_circular_bug+0x1fb/0x20c\n [\u003cffffffff810b65c3\u003e] __lock_acquire+0x1c43/0x1d30\n [\u003cffffffff810b775e\u003e] ? mark_held_locks+0xae/0x120\n [\u003cffffffff810b78d5\u003e] ? trace_hardirqs_on_caller+0x105/0x1d0\n [\u003cffffffff810b6d62\u003e] lock_acquire+0x92/0x1f0\n [\u003cffffffff81452656\u003e] ? tty_do_resize+0x36/0xe0\n [\u003cffffffff8175b724\u003e] down_write+0x44/0x70\n [\u003cffffffff81452656\u003e] ? tty_do_resize+0x36/0xe0\n [\u003cffffffff81452656\u003e] tty_do_resize+0x36/0xe0\n [\u003cffffffff8146c841\u003e] vc_do_resize+0x3e1/0x4c0\n [\u003cffffffff8146c99f\u003e] vc_resize+0x1f/0x30\n [\u003cffffffff813e4535\u003e] fbcon_init+0x385/0x5a0\n [\u003cffffffff8146a4bc\u003e] visual_init+0xbc/0x120\n [\u003cffffffff8146cd13\u003e] do_bind_con_driver+0x163/0x320\n [\u003cffffffff8146cfa1\u003e] do_take_over_console+0x61/0x70\n [\u003cffffffff813e2b93\u003e] do_fbcon_takeover+0x63/0xc0\n [\u003cffffffff813e67a5\u003e] fbcon_event_notify+0x715/0x820\n [\u003cffffffff81762f9d\u003e] notifier_call_chain+0x5d/0x110\n [\u003cffffffff8107aadc\u003e] __blocking_notifier_call_chain+0x6c/0xc0\n [\u003cffffffff8107ab46\u003e] blocking_notifier_call_chain+0x16/0x20\n [\u003cffffffff813d7c0b\u003e] fb_notifier_call_chain+0x1b/0x20\n [\u003cffffffff813d95b2\u003e] register_framebuffer+0x1e2/0x320\n [\u003cffffffffa01043e1\u003e] drm_fb_helper_initial_config+0x371/0x540 [drm_kms_helper]\n [\u003cffffffff8173cbcb\u003e] ? kmemleak_alloc+0x5b/0xc0\n [\u003cffffffff81198874\u003e] ? kmem_cache_alloc_trace+0x104/0x290\n [\u003cffffffffa01035e1\u003e] ? drm_fb_helper_single_add_all_connectors+0x81/0xf0 [drm_kms_helper]\n [\u003cffffffffa01bcb05\u003e] nouveau_fbcon_init+0x105/0x140 [nouveau]\n [\u003cffffffffa01ad0af\u003e] nouveau_drm_load+0x43f/0x610 [nouveau]\n [\u003cffffffffa008a79e\u003e] drm_get_pci_dev+0x17e/0x2a0 [drm]\n [\u003cffffffffa01ad4da\u003e] nouveau_drm_probe+0x25a/0x2a0 [nouveau]\n [\u003cffffffff8175f162\u003e] ? _raw_spin_unlock_irqrestore+0x42/0x80\n [\u003cffffffff813b13db\u003e] local_pci_probe+0x4b/0x80\n [\u003cffffffff813b1701\u003e] pci_device_probe+0x111/0x120\n [\u003cffffffff814977eb\u003e] driver_probe_device+0x8b/0x3a0\n [\u003cffffffff81497bab\u003e] __driver_attach+0xab/0xb0\n [\u003cffffffff81497b00\u003e] ? driver_probe_device+0x3a0/0x3a0\n [\u003cffffffff814956ad\u003e] bus_for_each_dev+0x5d/0xa0\n [\u003cffffffff814971fe\u003e] driver_attach+0x1e/0x20\n [\u003cffffffff81496cc1\u003e] bus_add_driver+0x111/0x290\n [\u003cffffffffa022a000\u003e] ? 0xffffffffa0229fff\n [\u003cffffffff814982b7\u003e] driver_register+0x77/0x170\n [\u003cffffffffa022a000\u003e] ? 0xffffffffa0229fff\n [\u003cffffffff813b0454\u003e] __pci_register_driver+0x64/0x70\n [\u003cffffffffa008a9da\u003e] drm_pci_init+0x11a/0x130 [drm]\n [\u003cffffffffa022a000\u003e] ? 0xffffffffa0229fff\n [\u003cffffffffa022a000\u003e] ? 0xffffffffa0229fff\n [\u003cffffffffa022a04d\u003e] nouveau_drm_init+0x4d/0x1000 [nouveau]\n [\u003cffffffff810002ea\u003e] do_one_initcall+0xea/0x1a0\n [\u003cffffffff810c54cb\u003e] load_module+0x123b/0x1bf0\n [\u003cffffffff81399a50\u003e] ? ddebug_proc_open+0xb0/0xb0\n [\u003cffffffff813855ae\u003e] ? trace_hardirqs_on_thunk+0x3a/0x3f\n [\u003cffffffff810c5f57\u003e] SyS_init_module+0xd7/0x120\n [\u003cffffffff817677c2\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "40d5e0905a03601d40cd4e46b8690093c2355d03",
      "tree": "6562e24794811eb13d986e4ea90a55c82cbdae26",
      "parents": [
        "9dfd16ddea9bdbc8343340e543732db0a467ae32"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 10:21:17 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 17:08:40 2013 -0700"
      },
      "message": "n_tty: Fix EOF push handling\n\nIn canonical mode, an EOF which is not the first character of the line\ncauses read() to complete and return the number of characters read so\nfar (commonly referred to as EOF push). However, if the previous read()\nreturned because the user buffer was full _and_ the next character\nis an EOF not at the beginning of the line, read() must not return 0,\nthus mistakenly indicating the end-of-file condition.\n\nThe TTY_PUSH flag is used to indicate an EOF was received which is not\nat the beginning of the line. Because the EOF push condition is\nevaluated by a thread other than the read(), multiple EOF pushes can\ncause a premature end-of-file to be indicated.\n\nInstead, discover the \u0027EOF push as first read character\u0027 condition\nfrom the read() thread itself, and restart the i/o loop if detected.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9114fe8ccf1871f630d2c14cd60e5f455b015459",
      "tree": "1549929e9dfe5faf7a43897f5901a6d005cb6bec",
      "parents": [
        "a7c8d58c79853adeebf0a1ddc9c63e433b4d97f1"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:16 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:10 2013 -0700"
      },
      "message": "tty: Remove private constant from global namespace\n\nTTY_BUFFER_PAGE is only used within drivers/tty/tty_buffer.c;\nrelocate to that file scope.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "a7c8d58c79853adeebf0a1ddc9c63e433b4d97f1",
      "tree": "328d40837fb13c7856d3aae2be663093fa6278e0",
      "parents": [
        "47aa658a015440906def231f54685c4d5d49dc38"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:15 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:10 2013 -0700"
      },
      "message": "tty: Fix unsafe vt paste_selection()\n\nConvert the tty_buffer_flush() exclusion mechanism to a\npublic interface - tty_buffer_lock/unlock_exclusive() - and use\nthe interface to safely write the paste selection to the line\ndiscipline.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "0f56bd2f6a97d8b0eb5c8f9bc04b83a6c16d1d48",
      "tree": "70337a7fd95f71d5f39aa9d168c09be2ff3465a1",
      "parents": [
        "8c1fb49ba107c7db9441ef6ec0ab5830d112cc2a"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:13 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:09 2013 -0700"
      },
      "message": "tty: Use non-atomic state to signal flip buffer flush pending\n\nAtomic bit ops are no longer required to indicate a flip buffer\nflush is pending, as the flush_mutex is sufficient barrier.\n\nRemove the unnecessary port .iflags field and localize flip buffer\nstate to struct tty_bufhead.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "8c1fb49ba107c7db9441ef6ec0ab5830d112cc2a",
      "tree": "c4733126d13fdf57e10638c18da280c0e7e103ac",
      "parents": [
        "d7a68be4f265be10e24be931c257af30ca55566b"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:12 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:09 2013 -0700"
      },
      "message": "tty: Avoid false-sharing flip buffer ptrs\n\nSeparate the head and tail ptrs to avoid cache-line contention\n(so called \u0027false-sharing\u0027) between concurrent threads.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d7a68be4f265be10e24be931c257af30ca55566b",
      "tree": "c60c359eb4398fae7687320fd2c89220916b9cb9",
      "parents": [
        "e9975fdec0138f1b2a85b9624e41660abd9865d4"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:11 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:09 2013 -0700"
      },
      "message": "tty: Only perform flip buffer flush from tty_buffer_flush()\n\nNow that dropping the buffer lock is not necessary (as result of\nconverting the spin lock to a mutex), the flip buffer flush no\nlonger needs to be handled by the buffer work.\n\nSimply signal a flush is required; the buffer work will exit the\ni/o loop, which allows tty_buffer_flush() to proceed.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e9975fdec0138f1b2a85b9624e41660abd9865d4",
      "tree": "6c90bac37cfe6843b4e78cb9280aa10524da351d",
      "parents": [
        "e8437d7ecbc50198705331449367d401ebb3181f"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:10 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:09 2013 -0700"
      },
      "message": "tty: Ensure single-threaded flip buffer consumer with mutex\n\nThe buffer work may race with parallel tty_buffer_flush. Use a\nmutex to guarantee exclusive modify access to the head flip\nbuffer.\n\nRemove the unneeded spin lock.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7bfe0b7116be207cf2204ae06335cc89d8f8ee02",
      "tree": "03175cd2ce9dd8013c4aaa8e2dd426767aa1a4c7",
      "parents": [
        "7391ee16950e772076d321792d9fbf030f921345"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:08 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:08 2013 -0700"
      },
      "message": "tty: Track flip buffer memory limit atomically\n\nLockless flip buffers require atomically updating the bytes-in-use\nwatermark.\n\nThe pty driver also peeks at the watermark value to limit\nmemory consumption to a much lower value than the default; query\nthe watermark with new fn, tty_buffer_space_avail().\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "7391ee16950e772076d321792d9fbf030f921345",
      "tree": "c0b17ff0622f801f05bb11228426bdc90e8ffdc2",
      "parents": [
        "809850b7a5fcc0a96d023e1171a7944c60fd5a71"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:07 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:08 2013 -0700"
      },
      "message": "tty: Simplify flip buffer list with 0-sized sentinel\n\nUse a 0-sized sentinel to avoid assigning the head ptr from\nthe driver side thread. This also eliminates testing head/tail\nfor NULL.\n\nWhen the sentinel is first \u0027consumed\u0027 by the buffer work\n(or by tty_buffer_flush()), it is detached from the list but not\nfreed nor added to the free list. Both buffer work and\ntty_buffer_flush() continue to preserve at least 1 flip buffer\nto which head \u0026 tail is pointed.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "809850b7a5fcc0a96d023e1171a7944c60fd5a71",
      "tree": "5c6a22458a7d756cbfe948bfb6b7d331af01610f",
      "parents": [
        "2cf7b67e87f0d8db025cff12b5d29c0663bbcd87"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:06 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:08 2013 -0700"
      },
      "message": "tty: Use lockless flip buffer free list\n\nIn preparation for lockless flip buffers, make the flip buffer\nfree list lockless.\n\nNB: using llist is not the optimal solution, as the driver and\nbuffer work may contend over the llist head unnecessarily. However,\ntest measurements indicate this contention is low.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "1fc359fc3ea72314cc3ebdfa94c60e020c152cd2",
      "tree": "302ccb5a8cd9dee3c5affe1407e1413b66e8a207",
      "parents": [
        "f0f947c124e05ec977019b974b12dfe171dd7148"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:36:01 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:47:07 2013 -0700"
      },
      "message": "tty: Compute flip buffer ptrs\n\nThe char_buf_ptr and flag_buf_ptr values are trivially derived from\nthe .data field offset; compute values as needed.\n\nFixes a long-standing type-mismatch with the char and flag ptrs.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d8c1f929aa8164cd8eaa830068d2fa3159c0764a",
      "tree": "1371cfe90fffdcb7115b39c77e0f729c109efc69",
      "parents": [
        "fb7aa03db605e4f0b9a62cd4c77177c2596edd95"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:14:31 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:43:02 2013 -0700"
      },
      "message": "tty: Only guarantee termios read safety for throttle/unthrottle\n\nNo tty driver modifies termios during throttle() or unthrottle().\nTherefore, only read safety is required.\n\nHowever, tty_throttle_safe and tty_unthrottle_safe must still be\nmutually exclusive; introduce throttle_mutex for that purpose.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6a1c0680cf3ba94356ecd58833e1540c93472a57",
      "tree": "d370b0888214bb59049181ac98c567d153263f48",
      "parents": [
        "a2f73be8ee36e48f11f89ab705beb3c587a2f320"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:14:23 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:43:01 2013 -0700"
      },
      "message": "tty: Convert termios_mutex to termios_rwsem\n\ntermios is commonly accessed unsafely (especially by N_TTY)\nbecause the existing mutex forces exclusive access.\nConvert existing usage.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "24a89d1cb69b6c488cf16d98dd02e7820f62b40c",
      "tree": "e09745de8a63d9d8039495ed8b9bb79fbb334702",
      "parents": [
        "da261e7fe7b0e23a0d4d46039d20dc60fa197b49"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 09:14:15 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:42:59 2013 -0700"
      },
      "message": "tty: Make ldisc input flow control concurrency-friendly\n\nAlthough line discipline receiving is single-producer/single-consumer,\nusing tty-\u003ereceive_room to manage flow control creates unnecessary\ncritical regions requiring additional lock use.\n\nInstead, introduce the optional .receive_buf2() ldisc method which\nreturns the # of bytes actually received. Serialization is guaranteed\nby the caller.\n\nIn turn, the line discipline should schedule the buffer work item\nwhenever space becomes available; ie., when there is room to receive\ndata and receive_room() previously returned 0 (the buffer work\nitem stops processing if receive_buf2() returns 0). Note the\n\u0027no room\u0027 state need not be atomic despite concurrent use by two\nthreads because only the buffer work thread can set the state and\nonly the read() thread can clear the state.\n\nAdd n_tty_receive_buf2() as the receive_buf2() method for N_TTY.\nProvide a public helper function, tty_ldisc_receive_buf(), to use\nwhen directly accessing the receive_buf() methods.\n\nLine disciplines not using input flow control can continue to set\ntty-\u003ereceive_room to a fixed value and only provide the receive_buf()\nmethod.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "36697529b5bbe36911e39a6309e7a7c9250d280a",
      "tree": "5cbffa976994cb798e00d60eccb46c6cafc369a1",
      "parents": [
        "d2c438905f9f718b3d9f5d89ce163fc22bd33995"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 07:04:48 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 23 16:38:34 2013 -0700"
      },
      "message": "tty: Replace ldisc locking with ldisc_sem\n\nLine discipline locking was performed with a combination of\na mutex, a status bit, a count, and a waitqueue -- basically,\na rw semaphore.\n\nReplace the existing combination with an ld_semaphore.\n\nFixes:\n 1) the \u0027reference acquire after ldisc locked\u0027 bug\n 2) the over-complicated halt mechanism\n 3) lock order wrt. tty_lock()\n 4) dropping locks while changing ldisc\n 5) previously unidentified deadlock while locking ldisc from\n    both linked ttys concurrently\n 6) previously unidentified recursive deadlocks\n\nAdds much-needed lockdep diagnostics.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f6c8dbe6e50c6e5121d7b6644718207daa008221",
      "tree": "f7200d98ecaa899fb2c83d6b58b88a20b302f936",
      "parents": [
        "a630fbfbb1beeffc5bbe542a7986bf2068874633"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Sat Jun 15 07:28:28 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jun 17 12:55:11 2013 -0700"
      },
      "message": "n_tty: Encapsulate minimum_to_wake within N_TTY\n\nminimum_to_wake is unique to N_TTY processing, and belongs in\nper-ldisc data.\n\nAdd the ldisc method, ldisc_ops::fasync(), to notify line disciplines\nwhen signal-driven I/O is enabled or disabled. When enabled for N_TTY\n(by fcntl(F_SETFL, O_ASYNC)), blocking reader/polls will be woken\nfor any readable input. When disabled, blocking reader/polls are not\nwoken until the read buffer is full.\n\nCanonical mode (L_ICANON(tty), n_tty_data::icanon) is not affected by\nthe minimum_to_wake setting.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "582f55907d3f6cb762af20b56478bf25ef96430e",
      "tree": "49f7abaab34dffe2e776f4f5e3f6d39aceda5454",
      "parents": [
        "e424259e2e27290c457f65161ae62f7c89215b88"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Fri May 17 12:49:48 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon May 20 12:12:40 2013 -0700"
      },
      "message": "tty: Remove TTY_HW_COOK_IN/OUT\n\nNo in-tree tty driver supports cooked mode in hardware; remove.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c4cc75c3321cad6f20d1e5325293890255c8a663",
      "tree": "f515d034c9d6947bed0467840678aff823747596",
      "parents": [
        "2dbd3cac87250a0d44e07acc86c4224a08522709",
        "2a0b4be6dd655e24990da1d0811e28b9277f8b12"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 11 14:29:11 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 11 14:29:11 2013 -0700"
      },
      "message": "Merge git://git.infradead.org/users/eparis/audit\n\nPull audit changes from Eric Paris:\n \"Al used to send pull requests every couple of years but he told me to\n  just start pushing them to you directly.\n\n  Our touching outside of core audit code is pretty straight forward.  A\n  couple of interface changes which hit net/.  A simple argument bug\n  calling audit functions in namei.c and the removal of some assembly\n  branch prediction code on ppc\"\n\n* git://git.infradead.org/users/eparis/audit: (31 commits)\n  audit: fix message spacing printing auid\n  Revert \"audit: move kaudit thread start from auditd registration to kaudit init\"\n  audit: vfs: fix audit_inode call in O_CREAT case of do_last\n  audit: Make testing for a valid loginuid explicit.\n  audit: fix event coverage of AUDIT_ANOM_LINK\n  audit: use spin_lock in audit_receive_msg to process tty logging\n  audit: do not needlessly take a lock in tty_audit_exit\n  audit: do not needlessly take a spinlock in copy_signal\n  audit: add an option to control logging of passwords with pam_tty_audit\n  audit: use spin_lock_irqsave/restore in audit tty code\n  helper for some session id stuff\n  audit: use a consistent audit helper to log lsm information\n  audit: push loginuid and sessionid processing down\n  audit: stop pushing loginid, uid, sessionid as arguments\n  audit: remove the old depricated kernel interface\n  audit: make validity checking generic\n  audit: allow checking the type of audit message in the user filter\n  audit: fix build break when AUDIT_DEBUG \u003d\u003d 2\n  audit: remove duplicate export of audit_enabled\n  Audit: do not print error when LSMs disabled\n  ...\n"
    },
    {
      "commit": "20b4fb485227404329e41ad15588afad3df23050",
      "tree": "f3e099f0ab3da8a93b447203e294d2bb22f6dc05",
      "parents": [
        "b9394d8a657cd3c064fa432aa0905c1b58b38fe9",
        "ac3e3c5b1164397656df81b9e9ab4991184d3236"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 17:51:54 2013 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed May 01 17:51:54 2013 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull VFS updates from Al Viro,\n\nMisc cleanups all over the place, mainly wrt /proc interfaces (switch\ncreate_proc_entry to proc_create(), get rid of the deprecated\ncreate_proc_read_entry() in favor of using proc_create_data() and\nseq_file etc).\n\n7kloc removed.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)\n  don\u0027t bother with deferred freeing of fdtables\n  proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h\n  proc: Make the PROC_I() and PDE() macros internal to procfs\n  proc: Supply a function to remove a proc entry by PDE\n  take cgroup_open() and cpuset_open() to fs/proc/base.c\n  ppc: Clean up scanlog\n  ppc: Clean up rtas_flash driver somewhat\n  hostap: proc: Use remove_proc_subtree()\n  drm: proc: Use remove_proc_subtree()\n  drm: proc: Use minor-\u003eindex to label things, not PDE-\u003ename\n  drm: Constify drm_proc_list[]\n  zoran: Don\u0027t print proc_dir_entry data in debug\n  reiserfs: Don\u0027t access the proc_dir_entry in r_open(), r_start() r_show()\n  proc: Supply an accessor for getting the data from a PDE\u0027s parent\n  airo: Use remove_proc_subtree()\n  rtl8192u: Don\u0027t need to save device proc dir PDE\n  rtl8187se: Use a dir under /proc/net/r8180/\n  proc: Add proc_mkdir_data()\n  proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}\n  proc: Move PDE_NET() to fs/proc/proc_net.c\n  ...\n"
    },
    {
      "commit": "34db8aaf0f95ffac407d39da22972b38da631db4",
      "tree": "dd9e9cf4e7882a800ad0d3b7bb1ea9ae4d4515cd",
      "parents": [
        "4abfd0298900851930310e5d736a7f3a105089ec"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Apr 12 02:29:19 2013 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed May 01 17:29:40 2013 -0400"
      },
      "message": "proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}\n\nMove some bits from linux/proc_fs.h to linux/of.h, signal.h and tty.h.\n\nAlso move proc_tty_init() and proc_device_tree_init() to fs/proc/internal.h as\nthey\u0027re internal to procfs.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nAcked-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\ncc: devicetree-discuss@lists.ozlabs.org\ncc: linux-arch@vger.kernel.org\ncc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\ncc: Jri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "152f497b9b5940f81de3205465840a5eb316458e",
      "tree": "fb226da0e460bb912350478cbbb87b24a6343d31",
      "parents": [
        "dc9eb698f441889f2d7926b1cc6f1e14f0787f00"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Apr 19 13:56:11 2013 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Apr 30 15:31:28 2013 -0400"
      },
      "message": "audit: push loginuid and sessionid processing down\n\nSince we are always current, we can push a lot of this stuff to the\nbottom and get rid of useless interfaces and arguments.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "dc9eb698f441889f2d7926b1cc6f1e14f0787f00",
      "tree": "acdd37f268633b38b370fe0725f57ccd0d4fcadc",
      "parents": [
        "18900909163758baf2152c9102b1a0953f7f1c30"
      ],
      "author": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Fri Apr 19 13:23:09 2013 -0400"
      },
      "committer": {
        "name": "Eric Paris",
        "email": "eparis@redhat.com",
        "time": "Tue Apr 30 15:31:28 2013 -0400"
      },
      "message": "audit: stop pushing loginid, uid, sessionid as arguments\n\nWe always use current.  Stop pulling this when the skb comes in and\npushing it around as arguments.  Just get it at the end when you need\nit.\n\nSigned-off-by: Eric Paris \u003ceparis@redhat.com\u003e\n"
    },
    {
      "commit": "d912156605b0eb3b3070dc7eabc43db6379aa43b",
      "tree": "ac7fb32024a2e11ae94ee14401c652fc427ff2b2",
      "parents": [
        "b66f4fa509153ca9d313075806d5c6425dfa43c5"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Mon Mar 11 16:44:33 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 18 16:44:02 2013 -0700"
      },
      "message": "tty: Don\u0027t reenable already enabled ldisc\n\ntty_ldisc_hangup() guarantees the ldisc is enabled (or that there\nis no ldisc). Since __tty_hangup() was the only user, re-define\ntty_ldisc_enable() in file-scope.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "21622939fc452c7fb739464b8e49368c3ceaa0ee",
      "tree": "c96d6a137611e9d976a4d391a48c94f5267db7ff",
      "parents": [
        "91debb0383d6564e0dc8ae76181f6daf8e24717a"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Mon Mar 11 16:44:21 2013 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 18 16:32:46 2013 -0700"
      },
      "message": "tty: Add diagnostic for halted line discipline\n\nFlip buffer work must not be scheduled by the line discipline\nafter the line discipline has been halted; issue warning.\n\nNote: drivers can still schedule flip buffer work.\n\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "aa27a094e2c2e0cc59914e56113b860f524f4479",
      "tree": "b3cfef8d8023741107e3d3bed934f2bd4d8bf189",
      "parents": [
        "e4408ce3c23f8451eff7a2954694598fb8fce833"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Mar 07 13:12:30 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 18 16:24:29 2013 -0700"
      },
      "message": "TTY: add tty_port_tty_hangup helper\n\nIt allows for cleaning up on a considerable amount of places. They did\nport_get, hangup, kref_put. Now the only thing needed is to call\ntty_port_tty_hangup which does exactly that. And they can also decide\nwhether to consider CLOCAL or completely ignore that.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6aad04f21374633bd8cecf25024553d1e11a9522",
      "tree": "9e3351e53b68d158b436a737049cbe2ee01ff126",
      "parents": [
        "6982a398426a22166eaf049b79544536fdd6429f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Mar 07 13:12:29 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 18 16:19:45 2013 -0700"
      },
      "message": "TTY: add tty_port_tty_wakeup helper\n\nIt allows for cleaning up on a considerable amount of places. They did\nport_get, wakeup, kref_put. Now the only thing needed is to call\ntty_port_tty_wakeup which does exactly that.\n\nOne exception is ifx6x60 where tty_wakeup was open-coded. We now call\ntty_wakeup properly there.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6865ff222ccab371c04afce17aec1f7d70b17dbc",
      "tree": "c5fb3ebecb698f8735e52fd7bdcbcb69e3a99f86",
      "parents": [
        "049b539b39977fc9343056435eba568fc7779970"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Mar 07 13:12:27 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 18 16:19:05 2013 -0700"
      },
      "message": "TTY: do not warn about setting speed via SPD_*\n\nThe warning is there since 2.1.69 and we have not seen anybody\nreporting it in the past decade. Remove the warning now.\n\ntty_get_baud_rate can now be inline. This gives us one less\nEXPORT_SYMBOL.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "70bc126471af30bb115e635512dcf6d86fe6e29a",
      "tree": "e6fc82736558f3a1b1f1601e237bc395b78a9dcd",
      "parents": [
        "c828f679eed393d6925a2b44a4c3fb80a8d657cb"
      ],
      "author": {
        "name": "Peter Hurley",
        "email": "peter@hurleysoftware.com",
        "time": "Wed Mar 06 08:20:52 2013 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Mar 18 16:11:59 2013 -0700"
      },
      "message": "tty: Add safe tty throttle/unthrottle functions\n\nThe tty driver can become stuck throttled due to race conditions\nbetween throttle and unthrottle, when the decision to throttle\nor unthrottle is conditional. The following example helps to\nillustrate the race:\n\n  CPU 0                        |  CPU 1\n                               |\nif (condition A)               |\n                               | \u003cprocessing such that A not true\u003e\n                               | if (!condition A)\n                               |     unthrottle()\n    throttle()                 |\n                               |\n\nNote the converse is also possible; ie.,\n\n  CPU 0                        |  CPU 1\n                               |\n                               | if (!condition A)\n\u003cprocessing such that A true\u003e  |\nif (condition A)               |\n    throttle()                 |\n                               |     unthrottle()\n                               |\n\nAdd new throttle/unthrottle functions based on the familiar model\nof task state and schedule/wake. For example,\n\n    while (1) {\n        tty_set_flow_change(tty, TTY_THROTTLE_SAFE);\n        if (!condition)\n            break;\n        if (!tty_throttle_safe(tty))\n            break;\n    }\n    __tty_set_flow_change(tty, 0);\n\nIn this example, if an unthrottle occurs after the condition is\nevaluated but before tty_throttle_safe(), then tty_throttle_safe()\nwill return non-zero, looping and forcing the re-evaluation of\ncondition.\n\nReported-by: Vincent Pillet \u003cvincentx.pillet@intel.com\u003e\nSigned-off-by: Peter Hurley \u003cpeter@hurleysoftware.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4f73bc4dd3e8563ef4109f293a092820dff66d92",
      "tree": "8ebd5d01abaceb70da1932db1a5e7219630b0fd3",
      "parents": [
        "a1bf9584429d61b7096f93ae09325e1ba538e9e8"
      ],
      "author": {
        "name": "Joe Millenbach",
        "email": "jmillenbach@gmail.com",
        "time": "Thu Jan 17 22:44:22 2013 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jan 18 16:15:27 2013 -0800"
      },
      "message": "tty: Added a CONFIG_TTY option to allow removal of TTY\n\nThe option allows you to remove TTY and compile without errors. This\nsaves space on systems that won\u0027t support TTY interfaces anyway.\nbloat-o-meter output is below.\n\nThe bulk of this patch consists of Kconfig changes adding \"depends on\nTTY\" to various serial devices and similar drivers that require the TTY\nlayer.  Ideally, these dependencies would occur on a common intermediate\nsymbol such as SERIO, but most drivers \"select SERIO\" rather than\n\"depends on SERIO\", and \"select\" does not respect dependencies.\n\nbloat-o-meter output comparing our previous minimal to new minimal by\nremoving TTY.  The list is filtered to not show removed entries with awk\n\u0027$3 !\u003d \"-\"\u0027 as the list was very long.\n\nadd/remove: 0/226 grow/shrink: 2/14 up/down: 6/-35356 (-35350)\nfunction                                     old     new   delta\nchr_dev_init                                 166     170      +4\nallow_signal                                  80      82      +2\nstatic.__warned                              143     142      -1\ndisallow_signal                               63      62      -1\n__set_special_pids                            95      94      -1\nunregister_console                           126     121      -5\nstart_kernel                                 546     541      -5\nregister_console                             593     588      -5\ncopy_from_user                                45      40      -5\nsys_setsid                                   128     120      -8\nsys_vhangup                                   32      19     -13\ndo_exit                                     1543    1526     -17\nbitmap_zero                                   60      40     -20\narch_local_irq_save                          137     117     -20\nrelease_task                                 674     652     -22\nstatic.spin_unlock_irqrestore                308     260     -48\n\nSigned-off-by: Joe Millenbach \u003cjmillenbach@gmail.com\u003e\nReviewed-by: Jamey Sharp \u003cjamey@minilop.net\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2e124b4a390ca85325fae75764bef92f0547fa25",
      "tree": "5519fbcdbe954e79b271ea6d31ac5a4dc754c4f5",
      "parents": [
        "d6c53c0e9bd0a83f9f9ddbc9fd80141a54d83896"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Jan 03 15:53:06 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jan 15 22:30:15 2013 -0800"
      },
      "message": "TTY: switch tty_flip_buffer_push\n\nNow, we start converting tty buffer functions to actually use\ntty_port. This will allow us to get rid of the need of tty in many\ncall sites. Only tty_port will needed and hence no more\ntty_port_tty_get in those paths.\n\nNow, the one where most of tty_port_tty_get gets removed:\ntty_flip_buffer_push.\n\nIOW we also closed all the races in drivers not using tty_port_tty_get\nat all yet.\n\nAlso we move tty_flip_buffer_push declaration from include/linux/tty.h\nto include/linux/tty_flip.h to all others while we are changing it\nanyway.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d6c53c0e9bd0a83f9f9ddbc9fd80141a54d83896",
      "tree": "2b749451607e0a52d97d61af984e7aa2e3818067",
      "parents": [
        "05c7cd39907184328f48d3e7899f9cdd653ad336"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Jan 03 15:53:05 2013 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jan 15 22:23:16 2013 -0800"
      },
      "message": "TTY: move low_latency to tty_port\n\nOne point is to have less places where we actually need tty pointer.\nThe other is that low_latency is bound to buffer processing and\nbuffers are now in tty_port. So it makes sense to move low_latency to\ntty_port too.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "de274bfe0fc81def6ddb8a17020a9a4b56477cc4",
      "tree": "fb2aeacdb9fc1e94b5aa13beb6a4818c043b43d3",
      "parents": [
        "9a8e62bc68832dc55a5e6868f812b65567fe66b5"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Nov 15 09:49:54 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Nov 15 17:20:58 2012 -0800"
      },
      "message": "TTY: introduce tty_port_destroy\n\nAfter commit \"TTY: move tty buffers to tty_port\", the tty buffers are\nnot freed in some drivers. This is because tty_port_destructor is not\ncalled whenever a tty_port is freed. This was an assumption I counted\nwith but was unfortunately untrue.\n\nThose using refcounting are safe now, but for those which do not we\nintroduce a function to be called right before the tty_port is freed\nby the drivers.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ecbbfd44a08fa80e0d664814efd4c187721b85f6",
      "tree": "f1c9aea12eb27323b9e7f4b8329e47dc3c30e63d",
      "parents": [
        "967fab6916681e5ab131fdef1226327b02454f19"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:47 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:58:28 2012 -0700"
      },
      "message": "TTY: move tty buffers to tty_port\n\nSo this is it. The big step why we did all the work over the past\nkernel releases. Now everything is prepared, so nothing protects us\nfrom doing that big step.\n\n           |  |            \\  \\ nnnn/^l      |  |\n           |  |             \\  /     /       |  |\n           |  \u0027-,.__   \u003d\u003e    \\/   ,-`    \u003d\u003e  |  \u0027-,.__\n           | O __.´´)        (  .`           | O __.´´)\n            ~~~   ~~          ``              ~~~   ~~\nThe buffers are now in the tty_port structure and we can start\nteaching the buffer helpers (insert char/string, flip etc.) to use\ntty_port instead of tty_struct all around.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "967fab6916681e5ab131fdef1226327b02454f19",
      "tree": "11865e2652ea1901d130b6b639e503bf59bfb773",
      "parents": [
        "5cff39c69b57df6d7bf4e87f2963571aa4ea6336"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:46 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:53:40 2012 -0700"
      },
      "message": "TTY: add port -\u003e tty link\n\nFor that purpose we have to temporarily introduce a second tty back\npointer into tty_port. It is because serial layer, and maybe others,\nstill do not use tty_port_tty_set/get. So that we cannot set the\ntty_port-\u003etty to NULL at will now.\n\nYes, the fix would be to convert whole serial layer and all its users\nto tty_port_tty_set/get. However we are in the process of removing the\nneed of tty in most of the call sites, so this would lead to a\nduplicated work.\n\nInstead we have now tty_port-\u003eitty (internal tty) which will be used\nonly in flush_to_ldisc. For that one it is ensured that itty is valid\nwherever the work is run. IOW, the work is synchronously cancelled\nbefore we set itty to NULL and also before hangup is processed.\n\nAfter we need only tty_port and not tty_struct in most code, this\nshall be changed to tty_port_tty_set/get and itty removed completely.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2fc20661e3171d45e8e58a61eb5c6b7d8d614fde",
      "tree": "7e598268df316dcb637c18d5ec49b30744f1c0a6",
      "parents": [
        "57c941212d203979720081198ebda41f51812635"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:44 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:53:21 2012 -0700"
      },
      "message": "TTY: move TTY_FLUSH* flags to tty_port\n\nThey are only TTY buffers specific. And the buffers will go to\ntty_port in the next patches. So to remove the need to have both\ntty_port and tty_struct at some places, let us move the flags to\ntty_port.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "bddc7152f68bc1e0ee1f55a8055e33531f384101",
      "tree": "2d34628864104d0913d18cccc7eee51f730fdea9",
      "parents": [
        "ba2e68ac6157004ee4922fb39ebd9459bbae883e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:42 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:53:01 2012 -0700"
      },
      "message": "TTY: move ldisc data from tty_struct: locks\n\natomic_write_lock is not n_tty specific, so move it up in the\ntty_struct.\n\nAnd since these are the last ones to move, remove also the comment\nsaying there are some ldisc\u0027 members. There are none now.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ba2e68ac6157004ee4922fb39ebd9459bbae883e",
      "tree": "0eddb7fcb1c7cafb85761c1af3e072469a68c405",
      "parents": [
        "3fe780b379fac2e1eeb5907ee7c864756ce7ec83"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:41 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:53:01 2012 -0700"
      },
      "message": "TTY: move ldisc data from tty_struct: read_* and echo_* and canon_* stuff\n\nAll the ring-buffers...\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "3fe780b379fac2e1eeb5907ee7c864756ce7ec83",
      "tree": "f525c6df0333c94117bdec4a2ac41d9094d4e7eb",
      "parents": [
        "53c5ee2cfb4dadc4f5c24fe671e2fbfc034c875e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:40 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:53:00 2012 -0700"
      },
      "message": "TTY: move ldisc data from tty_struct: bitmaps\n\nHere we move bitmaps and use DECLARE_BITMAP to declare them in the new\nstructure. And instead of memset, we use bitmap_zero as it is more\nappropriate.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "53c5ee2cfb4dadc4f5c24fe671e2fbfc034c875e",
      "tree": "eb5813a4cc186299b3be5bda0fd06617d7940403",
      "parents": [
        "70ece7a731598ac760c2a34421fcb2de18d2713f"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:39 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:53:00 2012 -0700"
      },
      "message": "TTY: move ldisc data from tty_struct: simple members\n\nHere we start moving all the n_tty related bits from tty_struct to\nthe newly defined n_tty_data struct in n_tty proper.\n\nIn this patch primitive members and bits are moved. The rest will be\ndone per-partes in the next patches.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6c633f27ccf783e9a782b84e34aeaeb7949a3359",
      "tree": "66180a876a5ff6c7d81672b725288ff4c83f80d9",
      "parents": [
        "3383427a7b325e50af03d6f42b9587ca66d941a6"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Oct 18 22:26:37 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Oct 22 16:50:54 2012 -0700"
      },
      "message": "TTY: audit, stop accessing tty-\u003eicount\n\nThis is a private member of n_tty. Stop accessing it. Instead, take is\nas an argument.\n\nThis is needed to allow clean switch of the private members to a\nseparate private structure of n_tty.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "607ca46e97a1b6594b29647d98a32d545c24bdff",
      "tree": "30f4c0784bfddb57332cdc0678bd06d1e77fa185",
      "parents": [
        "08cce05c5a91f5017f4edc9866cf026908c73f9f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Oct 13 10:46:48 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Oct 13 10:46:48 2012 +0100"
      },
      "message": "UAPI: (Scripted) Disintegrate include/linux\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "437589a74b6a590d175f86cf9f7b2efcee7765e7",
      "tree": "37bf8635b1356d80ef002b00e84f3faf3d555a63",
      "parents": [
        "68d47a137c3bef754923bccf73fb639c9b0bbd5e",
        "72235465864d84cedb2d9f26f8e1de824ee20339"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 11:11:09 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Oct 02 11:11:09 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace\n\nPull user namespace changes from Eric Biederman:\n \"This is a mostly modest set of changes to enable basic user namespace\n  support.  This allows the code to code to compile with user namespaces\n  enabled and removes the assumption there is only the initial user\n  namespace.  Everything is converted except for the most complex of the\n  filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,\n  nfs, ocfs2 and xfs as those patches need a bit more review.\n\n  The strategy is to push kuid_t and kgid_t values are far down into\n  subsystems and filesystems as reasonable.  Leaving the make_kuid and\n  from_kuid operations to happen at the edge of userspace, as the values\n  come off the disk, and as the values come in from the network.\n  Letting compile type incompatible compile errors (present when user\n  namespaces are enabled) guide me to find the issues.\n\n  The most tricky areas have been the places where we had an implicit\n  union of uid and gid values and were storing them in an unsigned int.\n  Those places were converted into explicit unions.  I made certain to\n  handle those places with simple trivial patches.\n\n  Out of that work I discovered we have generic interfaces for storing\n  quota by projid.  I had never heard of the project identifiers before.\n  Adding full user namespace support for project identifiers accounts\n  for most of the code size growth in my git tree.\n\n  Ultimately there will be work to relax privlige checks from\n  \"capable(FOO)\" to \"ns_capable(user_ns, FOO)\" where it is safe allowing\n  root in a user names to do those things that today we only forbid to\n  non-root users because it will confuse suid root applications.\n\n  While I was pushing kuid_t and kgid_t changes deep into the audit code\n  I made a few other cleanups.  I capitalized on the fact we process\n  netlink messages in the context of the message sender.  I removed\n  usage of NETLINK_CRED, and started directly using current-\u003etty.\n\n  Some of these patches have also made it into maintainer trees, with no\n  problems from identical code from different trees showing up in\n  linux-next.\n\n  After reading through all of this code I feel like I might be able to\n  win a game of kernel trivial pursuit.\"\n\nFix up some fairly trivial conflicts in netfilter uid/git logging code.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits)\n  userns: Convert the ufs filesystem to use kuid/kgid where appropriate\n  userns: Convert the udf filesystem to use kuid/kgid where appropriate\n  userns: Convert ubifs to use kuid/kgid\n  userns: Convert squashfs to use kuid/kgid where appropriate\n  userns: Convert reiserfs to use kuid and kgid where appropriate\n  userns: Convert jfs to use kuid/kgid where appropriate\n  userns: Convert jffs2 to use kuid and kgid where appropriate\n  userns: Convert hpfs to use kuid and kgid where appropriate\n  userns: Convert btrfs to use kuid/kgid where appropriate\n  userns: Convert bfs to use kuid/kgid where appropriate\n  userns: Convert affs to use kuid/kgid wherwe appropriate\n  userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids\n  userns: On ia64 deal with current_uid and current_gid being kuid and kgid\n  userns: On ppc convert current_uid from a kuid before printing.\n  userns: Convert s390 getting uid and gid system calls to use kuid and kgid\n  userns: Convert s390 hypfs to use kuid and kgid where appropriate\n  userns: Convert binder ipc to use kuids\n  userns: Teach security_path_chown to take kuids and kgids\n  userns: Add user namespace support to IMA\n  userns: Convert EVM to deal with kuids and kgids in it\u0027s hmac computation\n  ...\n"
    },
    {
      "commit": "e1760bd5ffae8cb98cffb030ee8e631eba28f3d8",
      "tree": "4694a60b407c418bf7de4b97355dc3bd0e6c6559",
      "parents": [
        "ca57ec0f00c3f139c41bf6b0a5b9bcc95bbb2ad7"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 10 22:39:43 2012 -0700"
      },
      "committer": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 18:08:54 2012 -0700"
      },
      "message": "userns: Convert the audit loginuid  to be a kuid\n\nAlways store audit loginuids in type kuid_t.\n\nPrint loginuids by converting them into uids in the appropriate user\nnamespace, and then printing the resulting uid.\n\nModify audit_get_loginuid to return a kuid_t.\n\nModify audit_set_loginuid to take a kuid_t.\n\nModify /proc/\u003cpid\u003e/loginuid on read to convert the loginuid into the\nuser namespace of the opener of the file.\n\nModify /proc/\u003cpid\u003e/loginud on write to convert the loginuid\nrom the user namespace of the opener of the file.\n\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Paul Moore \u003cpaul@paul-moore.com\u003e ?\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\n"
    },
    {
      "commit": "b1b799164afb22711e6bee718f2a5ee669bb9517",
      "tree": "2bb7e2c7513b879531a8f0b898bc5557f4a784ed",
      "parents": [
        "6915c0e487c822e2436683e14302c0b8a6155cc7"
      ],
      "author": {
        "name": "Tomas Hlavacek",
        "email": "tmshlvck@gmail.com",
        "time": "Thu Sep 06 23:17:47 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Sep 06 14:40:18 2012 -0700"
      },
      "message": "tty_register_device_attr updated for tty-next\n\nAdded tty_device_create_release() and bound to dev-\u003erelease in\ntty_register_device_attr().\nAdded tty_port_register_device_attr() and used in uart_add_one_port()\ninstead of tty_register_device_attr().\n\nSigned-off-by: Tomas Hlavacek \u003ctmshlvck@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6915c0e487c822e2436683e14302c0b8a6155cc7",
      "tree": "3ef744c612c40517ed64d4f370a14c6c51eaab2f",
      "parents": [
        "d83b54250988758cd3b9d21c242f98ae61fa1435"
      ],
      "author": {
        "name": "Tomas Hlavacek",
        "email": "tmshlvck@gmail.com",
        "time": "Thu Sep 06 03:17:18 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Sep 06 09:22:04 2012 -0700"
      },
      "message": "tty: uartclk value from serial_core exposed to sysfs\n\nAdded file /sys/devices/.../tty/ttySX/uartclk to allow reading\nuartclk value in struct uart_port in serial_core via sysfs.\n\ntty_register_device() has been generalized and refactored in order\nto add support for setting drvdata and attribute_group to the device.\n\nSigned-off-by: Tomas Hlavacek \u003ctmshlvck@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f21ec3d2d46e5f2ffc06f31fe2704fdcea7a58f3",
      "tree": "5d814cd687776374f960d3af2490187c3fbdf750",
      "parents": [
        "e5b57c037a656c694c7f3674f96352297a6ee7d8"
      ],
      "author": {
        "name": "Huang Shijie",
        "email": "shijie8@gmail.com",
        "time": "Wed Aug 22 22:13:36 2012 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Sep 05 13:28:35 2012 -0700"
      },
      "message": "serial: add a new helper function\n\nIn most of the time, the driver needs to check if the cts flow control\nis enabled. But now, the driver checks the ASYNC_CTS_FLOW flag manually,\nwhich is not a grace way. So add a new wraper function to make the code\ntidy and clean.\n\nSigned-off-by: Huang Shijie \u003cshijie8@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "ba3fe7aba2067212a8c3baffc18f9209fcbe9d34",
      "tree": "41d613a3e445694739a368da89ef918d0e398249",
      "parents": [
        "7ba2e769825fef035a943ed74d90379245508764"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Sep 04 16:35:08 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Sep 05 13:11:03 2012 -0700"
      },
      "message": "tty: move the async flags from the serial code into the tty includes\n\nThese are used with the tty_port flags which are tty generic so move the\nflags into a more sensible place. This then makes it possible to add\nhelpers such as those suggested by Huang Shijie.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "2cb4ca0208722836e921d5ba780b09f29d4026b8",
      "tree": "85cb521a231de479cf4dea4fe7759723e25a2e57",
      "parents": [
        "72a33bf58c50892bce7ee4f58d487e818dec1c7e"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Tue Aug 07 21:47:50 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Aug 13 16:50:19 2012 -0700"
      },
      "message": "TTY: add tty_port_link_device\n\nThis is for those drivers which do not have dynamic device creation\n(do not call tty_port_register_device) and do not want to implement\ntty-\u003eops-\u003einstall (will not call tty_port_install). They still have to\nprovide the link somehow though.\n\nAnd this newly added function is exactly to serve that purpose.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "89c8d91e31f267703e365593f6bfebb9f6d2ad01",
      "tree": "b115c7738762abe4a8a6374debb4991382b2f785",
      "parents": [
        "dc6802a771e91050fb686dfeeb9de4c6c9cadb79"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed Aug 08 16:30:13 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Aug 10 12:55:47 2012 -0700"
      },
      "message": "tty: localise the lock\n\nThe termios and other changes mean the other protections needed on the driver\ntty arrays should be adequate. Turn it all back on.\n\nThis contains pieces folded in from the fixes made to the original patches\n\n| From: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\t(fix m68k)\n| From: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\t(fix cris)\n| From: Jiri Kosina \u003cjkosina@suze.cz\u003e\t\t\t(lockdep)\n| From: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\t\t(lockdep)\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "36b3c070d2346c890d690d71f6eab02f8c511137",
      "tree": "1a1345329e3827eec3cf0de70eac2b2f1d663b55",
      "parents": [
        "3db1ddb725dcd9a2bb32be2b64d0688c3e1c4579"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Jul 17 17:06:57 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Tue Jul 17 09:13:38 2012 -0700"
      },
      "message": "tty: Move the handling of the tty release logic\n\nNow that we don\u0027t have tty-\u003etermios tied to drivers-\u003etty we can untangle\nthe logic here. In addition we can push the removal logic out of the\ndestructor path.\n\nAt that point we can think about sorting out tty_port and console and all\nthe other ugly hangovers.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "adc8d746caa67fff4b53ba3e5163a6cbacc3b523",
      "tree": "e3f6c05f27c163b369ddd4da5f31d2a61bde6d3a",
      "parents": [
        "6d31a88cb2e01d46c0cb74aa5da529e1f92ae3db"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Jul 14 15:31:47 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 13:00:41 2012 -0700"
      },
      "message": "tty: move the termios object into the tty\n\nThis will let us sort out a whole pile of tty related races. The\nalternative would be to keep points and refcount the termios objects.\nHowever\n1. They are tiny anyway\n2. Many devices don\u0027t use the stored copies\n3. We can remove a pty special case\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "6d31a88cb2e01d46c0cb74aa5da529e1f92ae3db",
      "tree": "09ce3b070a845395f942b0ddeb8149514c0a7446",
      "parents": [
        "467a3ca5cab64a16b5ec46ebb1895c84c280dcfe"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Sat Jul 14 15:31:27 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Mon Jul 16 12:58:12 2012 -0700"
      },
      "message": "tty: revert incorrectly applied lock patch\n\nI sent GregKH this after the pre-requisites. He dropped the pre-requesites\nfor good reason and unfortunately then applied this patch. Without this\nreverted you get random kernel memory corruption which will make bisecting\nanything between it and the properly applied patches a complete sod.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f5e3bcc504c3c35cc6e06a9ee42efed7c274066b",
      "tree": "267e2679b28ee3991621f0a675c0092cfe82a426",
      "parents": [
        "0a44ab41eb833d07e3ec807d87151c7164d4f075"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri Jun 29 14:48:36 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Jul 06 14:24:52 2012 -0700"
      },
      "message": "tty: localise the lock\n\nThe termios and other changes mean the other protections needed on the driver\ntty arrays should be adequate. Turn it all back on.\n\nThis contains pieces folded in from the fixes made to the original patches\n\n| From: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\t(fix m68k)\n| From: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\t(fix cris)\n| From: Jiri Kosina \u003cjkosina@suze.cz\u003e\t\t\t(lockdep)\n| From: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\t\t(lockdep)\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "057eb856eda1d957c0f1155eaa90739221f809a7",
      "tree": "0f538f728b63c4d0545d4340b2fc175a64ffeb75",
      "parents": [
        "04831dc154df9b83c3e5fd54b18448da507871f7"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Jun 04 13:35:37 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jun 13 17:30:54 2012 -0700"
      },
      "message": "TTY: add tty_port_register_device helper\n\nThis will automatically assign tty_port to tty_driver\u0027s port array for\nlater recall in tty_init_dev. This is intended to be called instead of\ntty_register_device.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "695586ca20c56cf8cfa87160383307a288d32496",
      "tree": "fa67a6755a9b6f5a3dd3ab9104f4f4bfc2bf16ae",
      "parents": [
        "4c2ef53d3bfb36659c47ba589f35bcab24f425c7"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Jun 04 13:35:32 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Wed Jun 13 17:30:53 2012 -0700"
      },
      "message": "TTY: provide drivers with tty_port_install\n\nThis will be used in tty_ops-\u003einstall to set tty-\u003eport (and to call\ntty_standard_install).\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "f309532bf3e1cc1b787403d84e3039812a7dbe50",
      "tree": "6508ac81e94bfc137d1d9a55b973a2e0e0ac007b",
      "parents": [
        "233e562eac549f4f719176bbddeb50c3f17a9c8d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 15:21:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 02 15:21:43 2012 -0700"
      },
      "message": "tty: Revert the tty locking series, it needs more work\n\nThis reverts the tty layer change to use per-tty locking, because it\u0027s\nnot correct yet, and fixing it will require some more deep surgery.\n\nThe main revert is d29f3ef39be4 (\"tty_lock: Localise the lock\"), but\nthere are several smaller commits that built upon it, they also get\nreverted here. The list of reverted commits is:\n\n  fde86d310886 - tty: add lockdep annotations\n  8f6576ad476b - tty: fix ldisc lock inversion trace\n  d3ca8b64b97e - pty: Fix lock inversion\n  b1d679afd766 - tty: drop the pty lock during hangup\n  abcefe5fc357 - tty/amiserial: Add missing argument for tty_unlock()\n  fd11b42e3598 - cris: fix missing tty arg in wait_event_interruptible_tty call\n  d29f3ef39be4 - tty_lock: Localise the lock\n\nThe revert had a trivial conflict in the 68360serial.c staging driver\nthat got removed in the meantime.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d29f3ef39be4eec0362b985305fc526d9be318cf",
      "tree": "35da6af15a899ca767841b864cb1ef290a0f3d4a",
      "parents": [
        "d739e65bb21d34f0f5d3bf4048410e534fbec148"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu May 03 22:24:08 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri May 04 16:58:47 2012 -0700"
      },
      "message": "tty_lock: Localise the lock\n\nIn each remaining case the tty_lock is associated with a specific tty. This\nmeans we can now lock on a per tty basis. We do need tty_lock_pair() for\nthe pty case. Uglier but still a step in the right direction.\n\n[fixed up calls in 3 missing drivers - gregkh]\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "9ffc93f203c18a70623f21950f1dd473c9ec48cd",
      "tree": "1eb3536ae183b0bfbf7f5152a6fe4f430ae881c2",
      "parents": [
        "96f951edb1f1bdbbc99b0cd458f9808bb83d58ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Mar 28 18:30:03 2012 +0100"
      },
      "message": "Remove all #inclusions of asm/system.h\n\nRemove all #inclusions of asm/system.h preparatory to splitting and killing\nit.  Performed with the following command:\n\nperl -p -i -e \u0027s!^#\\s*include\\s*\u003casm/system[.]h\u003e.*\\n!!\u0027 `grep -Irl \u0027^#\\s*include\\s*\u003casm/system[.]h\u003e\u0027 *`\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "66d450e84ec656ec4b774c41cd8d46b3e48d51df",
      "tree": "3a2d623257ec6ac04de296fa98f8485bd4b0a3f8",
      "parents": [
        "6bbcbf22085e0b144899d6067e243dd26c0e7533"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Jan 30 21:14:28 2012 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 02 14:55:45 2012 -0800"
      },
      "message": "TTY: provide tty_standard_install helper\n\nThere are currently many cut\u0026paste copies of what\ntty_driver_install_tty does when custom -\u003einstall method is not\nprovided. Let\u0027s get rid of the copies and create a helper with this\nsetup code.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Havard Skinnemoen \u003chskinnemoen@google.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "e9aba5158a80098447ff207a452a3418ae7ee386",
      "tree": "fb6dd19824f908746d597128d34093a301c005e7",
      "parents": [
        "a4834c102f4a46808630cad1a545cb0706b3b0a2"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Jan 05 13:06:11 2012 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 14:01:01 2012 -0800"
      },
      "message": "tty: rework pty count limiting\n\nAfter adding devpts multiple-insrances sysctl kernel.pty.max limit pty count for\neach devpts instance independently, while kernel.pty.nr shows total pty count.\n\nThis patch restores sysctl kernel.pty.max as global limit (4096 by default),\nadds pty reseve for main devpts (mounted without \"newinstance\" argument),\nand new sysctl to tune it: kernel.pty.reserve (1024 by default)\n\nAlso it adds devpts mount option \"max\u003d%d\" to limit pty count for each devpts\ninstance independently. (by default NR_UNIX98_PTY_MAX \u003d\u003d 2^20)\n\nThus devpts instances in containers cannot eat up all available pty even if we didn\u0027t\nset any limits, while with \"max\" argument we can adjust limits more precisely.\n\nPlus, now open(\"/dev/ptmx\") return -ENOSPC in case lack of pty indexes,\nthis is more informative than -EIO.\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "593a27c4b212e2afdf772a1f8dcb894e91bda0fa",
      "tree": "6b670f6ec0ef138fcfa6e68f3b2a456f86941efd",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Konstantin Khlebnikov",
        "email": "khlebnikov@openvz.org",
        "time": "Thu Jan 05 13:04:21 2012 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 24 13:56:10 2012 -0800"
      },
      "message": "tty: cleanup prohibition of direct opening for unix98 pty master\n\ncleanup hack added in v2.6.27-3203-g15582d3\n\ncomment from that patch:\n\n: pty: If the administrator creates a device for a ptmx slave we should not error\n:\n: The open path for ptmx slaves is via the ptmx device. Opening them any\n: other way is not allowed. Vegard Nossum found that previously this was not\n: the case and mknod foo c 128 42; cat foo would produce nasty diagnostics\n:\n: Signed-off-by: Alan Cox \u003calan@redhat.com\u003e\n: Signed-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\ndevpts_get_tty() returns non-null only for inodes on devpts, but there is no\ninodes for master-devices, /dev/ptmx (/dev/pts/ptmx) is the only way to open them.\nThus we can completely forbid lookup for master-devices and eliminate that hack in\ntty_init_dev() because tty_open() will get EIO from tty_driver_lookup_tty().\n\nSigned-off-by: Konstantin Khlebnikov \u003ckhlebnikov@openvz.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "efb8d21b2c6db3497655cc6a033ae8a9883e4063",
      "tree": "a14a0dbb9fec3a6db5e542ba7ed4a49681706420",
      "parents": [
        "3cb603284b3d256ae9ae9e65887cee8416bfef15",
        "d208a3bf77f902283894f546b6b5383202cf7882"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:11:09 2011 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Oct 26 15:11:09 2011 +0200"
      },
      "message": "Merge branch \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\n* \u0027tty-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (79 commits)\n  TTY: serial_core: Fix crash if DCD drop during suspend\n  tty/serial: atmel_serial: bootconsole removed from auto-enumerates\n  Revert \"TTY: call tty_driver_lookup_tty unconditionally\"\n  tty/serial: atmel_serial: add device tree support\n  tty/serial: atmel_serial: auto-enumerate ports\n  tty/serial: atmel_serial: whitespace and braces modifications\n  tty/serial: atmel_serial: change platform_data variable name\n  tty/serial: RS485 bindings for device tree\n  TTY: call tty_driver_lookup_tty unconditionally\n  TTY: pty, release tty in all ptmx_open fail paths\n  TTY: make tty_add_file non-failing\n  TTY: drop driver reference in tty_open fail path\n  8250_pci: Fix kernel panic when pch_uart is disabled\n  h8300: drivers/serial/Kconfig was moved\n  parport_pc: release IO region properly if unsupported ITE887x card is found\n  tty: Support compat_ioctl get/set termios_locked\n  hvc_console: display printk messages on console.\n  TTY: snyclinkmp: forever loop in tx_load_dma_buffer()\n  tty/n_gsm: avoid fifo overflow in gsm_dlci_data_output\n  tty/n_gsm: fix a bug in gsm_dlci_data_output (adaption \u003d 2 case)\n  ...\n\nFix up Conflicts in:\n - drivers/tty/serial/8250_pci.c\n\tTrivial conflict with removed duplicate device ID\n - drivers/tty/serial/atmel_serial.c\n\tAnnoying silly conflict between \"specify the port num via\n\tplatform_data\" and other changes to atmel_console_init\n"
    },
    {
      "commit": "fa90e1c935472281de314e6d7c9a37db9cbc2e4e",
      "tree": "2c89c0038c640b6bdb5caaef00401f22553b118a",
      "parents": [
        "c290f8358acaeffd8e0c551ddcc24d1206143376"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Oct 12 11:32:43 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 14:22:37 2011 -0700"
      },
      "message": "TTY: make tty_add_file non-failing\n\nIf tty_add_file fails at the point it is now, we have to revert all\nthe changes we did to the tty. It means either decrease all refcounts\nif this was a tty reopen or delete the tty if it was newly allocated.\n\nThere was a try to fix this in v3.0-rc2 using tty_release in 0259894c7\n(TTY: fix fail path in tty_open). But instead it introduced a NULL\ndereference. It\u0027s because tty_release dereferences\nfilp-\u003eprivate_data, but that one is set even in our tty_add_file. And\nwhen tty_add_file fails, it\u0027s still NULL/garbage. Hence tty_release\ncannot be called there.\n\nTo circumvent the original leak (and the current NULL deref) we split\ntty_add_file into two functions, making the latter non-failing. In\nthat case we may do the former early in open, where handling failures\nis easy. The latter stays as it is now. So there is no change in\nfunctionality.\n\nThe original bug (leak) was introduced by f573bd176 (tty: Remove\n__GFP_NOFAIL from tty_add_file()). Thanks Dan for reporting this.\n\nLater, we may split tty_release into more functions and call only some\nof them in this fail path instead. (If at all possible.)\n\nIntroduced-in: v2.6.37-rc2\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Pekka Enberg \u003cpenberg@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "8193c4290620d9b2a6ac116719f11aa99053a90d",
      "tree": "68f97623f0ae19ca5e6a31fda4cda4a1abf8c880",
      "parents": [
        "361162459f62dc0826b82c9690a741a940f457f0"
      ],
      "author": {
        "name": "Thomas Meyer",
        "email": "thomas@m3y3r.de",
        "time": "Wed Oct 05 23:13:13 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 18 14:17:11 2011 -0700"
      },
      "message": "tty: Support compat_ioctl get/set termios_locked\n\nWhen running a Fedora 15 (x86) on an x86_64 kernel, in the boot process\nplymouthd complains about those two missing ioctls:\n[    2.581783] ioctl32(plymouthd:186): Unknown cmd fd(10) cmd(00005457){t:\u0027T\u0027;sz:0} arg(ffb6a5d0) on /dev/tty1\n[    2.581803] ioctl32(plymouthd:186): Unknown cmd fd(10) cmd(00005456){t:\u0027T\u0027;sz:0} arg(ffb6a680) on /dev/tty1\n\nboth ioctl functions work on the \u0027struct termios\u0027 resp. \u0027struct termios2\u0027,\nwhich has the same size (36 bytes resp. 44 bytes) on x86 and x86_64,\nso it\u0027s just a matter of converting the pointer from userland.\n\nSigned-off-by: Thomas Meyer \u003cthomas@m3y3r.de\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "a57a7bf3fc7eff00f07eb9c805774d911a3f2472",
      "tree": "e69628dba2da099c90bdff8bac4644d2f76b3e4b",
      "parents": [
        "bafb0bd24d7e0e0124318625b239a55d58c757a2"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Aug 25 15:12:06 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 25 09:00:40 2011 -0700"
      },
      "message": "TTY: define tty_wait_until_sent_from_close\n\nWe need this helper to fix system stalls. The issue is that the rest\nof the system TTYs wait for us to finish waiting. This wasn\u0027t an issue\nwith BKL. BKL used to unlock implicitly.\n\nThis is based on the Arnd suggestion.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "906cbe1364d94da7cbf74c1d05e3e78b2883f661",
      "tree": "fca513a03781a2d0e2ac518aab13c8d528a0468c",
      "parents": [
        "eff4b0b9fe37873d3dc7ade0e08e6f0f89279b8b"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Thu Jul 14 14:35:14 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 23 10:34:07 2011 -0700"
      },
      "message": "TTY: remove tty_locked\n\nWe used it really only serial and ami_serial. The rest of the\ncallsites were BUG/WARN_ONs to check if BTM is held. Now that we\npruned tty_locked from both of the real users, we can get rid of\ntty_lock along with __big_tty_mutex_owner.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "24d406a6bf736f7aebdc8fa0f0ec86e0890c6d24",
      "tree": "3dfb2053f7785508304fd29d6c1bb6e6a42a7d5c",
      "parents": [
        "dbb3b1ca5609d1f3848cd387d06cc60aaacf7f98"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Aug 10 14:59:28 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 23 10:10:38 2011 -0700"
      },
      "message": "TTY: pty, fix pty counting\n\ntty_operations-\u003eremove is normally called like:\nqueue_release_one_tty\n -\u003etty_shutdown\n   -\u003etty_driver_remove_tty\n     -\u003etty_operations-\u003eremove\n\nHowever tty_shutdown() is called from queue_release_one_tty() only if\ntty_operations-\u003eshutdown is NULL. But for pty, it is not.\npty_unix98_shutdown() is used there as -\u003eshutdown.\n\nSo tty_operations-\u003eremove of pty (i.e. pty_unix98_remove()) is never\ncalled. This results in invalid pty_count. I.e. what can be seen in\n/proc/sys/kernel/pty/nr.\n\nI see this was already reported at:\n  https://lkml.org/lkml/2009/11/5/370\nBut it was not fixed since then.\n\nThis patch is kind of a hackish way. The problem lies in -\u003einstall. We\nallocate there another tty (so-called tty-\u003elink). So -\u003einstall is\ncalled once, but -\u003eremove twice, for both tty and tty-\u003elink. The fix\nhere is to count both tty and tty-\u003elink and divide the count by 2 for\nuser.\n\nAnd to have -\u003eremove called, let\u0027s make tty_driver_remove_tty() global\nand call that from pty_unix98_shutdown() (tty_operations-\u003eshutdown).\n\nWhile at it, let\u0027s document that when -\u003eshutdown is defined,\ntty_shutdown() is not called.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ae92c1f5e7b6708371365d262625ac19e67c1e79",
      "tree": "74843691f724fcdd2ceeb04a83aff72847d5d61d",
      "parents": [
        "0e2adc06843a9b5a28af4ca5f796240297907897"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "ffainelli@freebox.fr",
        "time": "Tue May 24 10:43:03 2011 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jun 07 09:37:01 2011 -0700"
      },
      "message": "TTY: export NR_LDISC and N_* line discipline numbers to user-space\n\nSince commit (4564f9e5: consolidate line discipline number definitions)\nthe patch moved all line discipline number from a per-architecture termios.h\nto a shared one: tty.h. However, prior to this consolidation work, the\nline discipline numbers were outside of an ifdef __KERNEL__/endif block\nso these numbers used to be exported to user-space.\n\nSince such numbers are kernel ABI anyway, and tty.h is already included\nfor user- space header processing, just move these relevant defines\noutside of the ifdef __KERNEL__/endif block in include/linux/tty.h.\n\nCC: Maxime Bizon \u003cmbizon@freebox.fr\u003e\nSigned-off-by: Florian Fainelli \u003cffainelli@freebox.fr\u003e\nAcked-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ee4f6b4b89665b92ead67deaa2e5d2ffa1af2b5f",
      "tree": "adaaf31efc06fe2960827cba1510855bea6ea3d3",
      "parents": [
        "0b61d2acb1ea48d8eba798ed92759b7f1b0f4209"
      ],
      "author": {
        "name": "J Freyensee",
        "email": "james_p_freyensee@linux.intel.com",
        "time": "Fri May 06 16:56:50 2011 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 13 16:31:00 2011 -0700"
      },
      "message": "n_tracerouter and n_tracesink ldisc additions.\n\nThe n_tracerouter and n_tracesink line discpline drivers use the\nLinux tty line discpline framework to route trace data coming\nfrom a tty port (say UART for example) to the trace sink line\ndiscipline driver and to another tty port(say USB).  Those\nthese two line discipline drivers can be used together,\nindependently from pti.c, they are part of the original\nimplementation solution of the MIPI P1149.7, compact JTAG, PTI\nsolution for Intel mobile platforms starting with the\nMedfield platform.\n\nSigned-off-by: J Freyensee \u003cjames_p_freyensee@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6716671d8c1c07a8072098764d1b7cbfef7412ad",
      "tree": "7aa2e138fb9565ffd37591bfe1887b379f57dfd7",
      "parents": [
        "c18d77aa00cde1215d9e045ba8f93004fe843f38"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Wed Mar 23 10:48:35 2011 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Apr 19 14:43:01 2011 -0700"
      },
      "message": "TTY: introduce deinit helpers for proper ldisc shutdown\n\nIntroduce deinitialize_tty_struct which should be called after\ninitialize_tty_struct and before successfull tty_ldisc_setup.\n\nIt calls tty_ldisc_deinit which is opposite of tty_ldisc_init. It only\nputs a reference to ldisc and assigns NULL to tty-\u003eldisc.\n\nIt will be used to shut down ldisc when tty_release cannot be called\nyet.\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Julian Anastasov \u003cja@ssi.bg\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f23eb2b2b28547fc70df82dd5049eb39bec5ba12",
      "tree": "144dce462b34d8a232a06f766786ebfb0235fa87",
      "parents": [
        "f741a79e982cf56d7584435bad663553ffe6715f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 16:17:32 2011 -0700"
      },
      "message": "tty: stop using \"delayed_work\" in the tty layer\n\nUsing delayed-work for tty flip buffers ends up causing us to wait for\nthe next tick to complete some actions.  That\u0027s usually not all that\nnoticeable, but for certain latency-critical workloads it ends up being\ntotally unacceptable.\n\nAs an extreme case of this, passing a token back-and-forth over a pty\nwill take two ticks per iteration, so even just a thousand iterations\nwill take 8 seconds assuming a common 250Hz configuration.\n\nAvoiding the whole delayed work issue brings that ping-pong test-case\ndown to 0.009s on my machine.\n\nIn more practical terms, this latency has been a performance problem for\nthings like dive computer simulators (simulating the serial interface\nusing the ptys) and for other environments (Alan mentions a CP/M emulator).\n\nReported-by: Jef Driesen \u003cjefdriesen@telenet.be\u003e\nAcked-by: Greg KH \u003cgregkh@suse.de\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d075b199b9a66ad90296f898f1f15c0ae1511b8",
      "tree": "2189c77c61210a4d24608f3fb49daf0bd6309f64",
      "parents": [
        "94c2273d6c1b65eaaf2a6446c7147bdf6e5ae924"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:27:53 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 12:03:52 2011 -0800"
      },
      "message": "tty: add a helper for setting termios data from kernel side\n\nThis basically encapsulates the small bit of locking knowledge needed. While\nwe are at it make sure we blow up on any more abusers and unsafe misuses of\nioctl for this kind of stuff.\n\nWe change the function to return an argument as at some point it needs to\nhonour the POSIX \u0027I asked for changes but got none of them\u0027 error reporting\ncorner case.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "94c2273d6c1b65eaaf2a6446c7147bdf6e5ae924",
      "tree": "d95044379346dc5540f4c3079a1551429704c904",
      "parents": [
        "6caa76b7786891b42b66a0e61e2c2fff2c884620"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 12:02:51 2011 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 12:02:51 2011 -0800"
      },
      "message": "tty: fix build error in vt_ioctl.c if CONFIG_COMPAT is enabled\n\nThis was caused by the previous patch to remove the file pointer\nfrom the tty ioctl handler.\n\nCc: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "6caa76b7786891b42b66a0e61e2c2fff2c884620",
      "tree": "eb6e387e080a44680d6d8686999336e69ec97e71",
      "parents": [
        "00a0d0d65b61241a718d0aee96f46b9a2d93bf26"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Feb 14 16:27:22 2011 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 17 11:59:56 2011 -0800"
      },
      "message": "tty: now phase out the ioctl file pointer for good\n\nOnly oddities here are a couple of drivers that bogusly called the ldisc\nhelpers instead of returning -ENOIOCTLCMD. Fix the bug and the rest goes\naway.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "eed5ee1a3ab3020168cd67fdde2500452b0628c9",
      "tree": "9548c5a4851b1a1e832b7800baf1e72b33bc7a66",
      "parents": [
        "435a5aebf609624bdf7c5a9a7705c260d0076195",
        "a5880a9e5bb40fbae55de60051d69a29091053c3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 12:58:16 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 02 12:58:16 2010 -0800"
      },
      "message": "Merge branch \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6\n\n* \u0027tty-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:\n  serial: mfd: adjust the baud rate setting\n  TTY: open/hangup race fixup\n  TTY: don\u0027t allow reopen when ldisc is changing\n  NET: wan/x25, fix ldisc-\u003eopen retval\n  TTY: ldisc, fix open flag handling\n  serial8250: Mark console as CON_ANYTIME\n"
    },
    {
      "commit": "acfa747baf73922021a047f2d87a2d866f5dbab5",
      "tree": "f47037d4c02341a9e4102eddd7dc6c774e6b439d",
      "parents": [
        "e2efafbf139d2bfdfe96f2901f03189fecd172e4"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jslaby@suse.cz",
        "time": "Mon Nov 29 10:16:54 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Nov 29 14:52:48 2010 -0800"
      },
      "message": "TTY: open/hangup race fixup\n\nLike in the \"TTY: don\u0027t allow reopen when ldisc is changing\" patch,\nthis one fixes a TTY WARNING as described in the option 1) there:\n1) __tty_hangup from tty_ldisc_hangup to tty_ldisc_enable. During this\nsection tty_lock is held. However tty_lock is temporarily dropped in\nthe middle of the function by tty_ldisc_hangup.\n\nThe fix is to introduce a new flag which we set during the unlocked\nwindow and check it in tty_reopen too. The flag is TTY_HUPPING and is\ncleared after TTY_HUPPED is set.\n\nWhile at it, remove duplicate TTY_HUPPED set_bit. The one after\ncalling ops-\u003ehangup seems to be more correct. But anyway, we hold\ntty_lock, so there should be no difference.\n\nAlso document the function it does that kind of crap.\n\nNicely reproducible with two forked children:\nstatic void do_work(const char *tty)\n{\n\tif (signal(SIGHUP, SIG_IGN) \u003d\u003d SIG_ERR) exit(1);\n\tsetsid();\n\twhile (1) {\n\t\tint fd \u003d open(tty, O_RDWR|O_NOCTTY);\n\t\tif (fd \u003c 0) continue;\n\t\tif (ioctl(fd, TIOCSCTTY)) continue;\n\t\tif (vhangup()) continue;\n\t\tclose(fd);\n\t}\n\texit(0);\n}\n\nSigned-off-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nReported-by: \u003cValdis.Kletnieks@vt.edu\u003e\nReported-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "451a3c24b0135bce54542009b5fde43846c7cf67",
      "tree": "f0fbbcc155aef2a1ffcb8aa593fe7a966d0e6900",
      "parents": [
        "55f6561c6941713ab5ae9180525b026dd40b7d14"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Nov 17 16:26:55 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 17 08:59:32 2010 -0800"
      },
      "message": "BKL: remove extraneous #include \u003csmp_lock.h\u003e\n\nThe big kernel lock has been removed from all these files at some point,\nleaving only the #include.\n\nRemove this too as a cleanup.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "65f8e441ed3c31c456aa70db1fbe50fb42079375",
      "tree": "34a4ba481948f23c2583f9e9b787b163a466e14d",
      "parents": [
        "3da39bca44d285d87e4a886c6de84e57bd8ef3bf"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Tue Nov 09 10:48:25 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Nov 09 14:36:23 2010 -0800"
      },
      "message": "tty: Fix formatting in tty.h\n\nSomeone added a new ldisc number and messed up the tabbing. Fix it before\nanyone else copies it.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "3c80fe4ac9cfb13b1bfa4edf1544e8b656716694",
      "tree": "c605435b642323cd76eea9567a43d8c67b9c9db1",
      "parents": [
        "f7a998a9491f2da1d3e44d150aa611d10093da4f"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Wed Dec 09 14:19:31 2009 +0000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Oct 30 08:45:25 2010 -0400"
      },
      "message": "audit: Call tty_audit_push_task() outside preempt disabled\n\nWhile auditing all tasklist_lock read_lock sites I stumbled over the\nfollowing call chain:\n\naudit_prepare_user_tty()\n  read_lock(\u0026tasklist_lock);\n  tty_audit_push_task();\n     mutex_lock(\u0026buf-\u003emutex);\n\n     --\u003e buf-\u003emutex is locked with preemption disabled.\n\nSolve this by acquiring a reference to the task struct under\nrcu_read_lock and call tty_audit_push_task outside of the preempt\ndisabled region.\n\nMove all code which needs to be protected by sighand lock into\ntty_audit_push_task() and use lock/unlock_sighand as we do not hold\ntasklist_lock.\n\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Eric Paris \u003ceparis@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "e4c5bf8e3dca827a1b3a6fac494eae8c74b7e1e7",
      "tree": "ea51b391f7d74ca695dcb9f5e46eb02688a92ed9",
      "parents": [
        "81280572ca6f54009edfa4deee563e8678784218",
        "a4ac0d847af9dd34d5953a5e264400326144b6b2"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 28 09:44:56 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 28 09:44:56 2010 -0700"
      },
      "message": "Merge \u0027staging-next\u0027 to Linus\u0027s tree\n\nThis merges the staging-next tree to Linus\u0027s tree and resolves\nsome conflicts that were present due to changes in other trees that were\naffected by files here.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f573bd1764f0f3f47754ca1ae7b2eb2909798a60",
      "tree": "bfc4c03b38bc74bb29dbacce212fe2efc802eb46",
      "parents": [
        "8a28af7f7e42cd0f107e0d84e4ece89e7ef24d3f"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@kernel.org",
        "time": "Tue Aug 24 07:48:34 2010 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:19:58 2010 -0700"
      },
      "message": "tty: Remove __GFP_NOFAIL from tty_add_file()\n\nThis patch removes __GFP_NOFAIL use from tty_add_file() and adds proper error\nhandling to the call-sites of the function.\n\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@kernel.org\u003e\nAcked-by: David Rientjes \u003crientjes@google.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "30004ac9c090dcdcca99556b4587b3bad828731a",
      "tree": "bf8931378abc6912d7e08f2d870d3ac058e78e83",
      "parents": [
        "f6f94e2ab1b33f0082ac22d71f66385a60d8157f"
      ],
      "author": {
        "name": "Dmitry Eremin-Solenikov",
        "email": "dbaryshkov@gmail.com",
        "time": "Mon Aug 09 18:22:49 2010 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:19:56 2010 -0700"
      },
      "message": "tty: add tty_struct-\u003edev pointer to corresponding device instance\n\nSome device drivers (mostly tty line disciplines) would like to have way\nknow a struct device instance corresponding to passed tty_struct. Add\na struct device pointer to struct tty_struct and populate it during\ninitialize_tty_struct().\n\nSigned-off-by: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "40fb29a777d23b1161271ec88fd21739835e4f6a",
      "tree": "d35dce49cd0ed9e02bb53e59401c8b9597939ba1",
      "parents": [
        "7e24cce38a99f373450db67bf576fe73e8168d66"
      ],
      "author": {
        "name": "Pavan Savoy",
        "email": "pavan_savoy@ti.com",
        "time": "Thu Sep 30 16:13:28 2010 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 05 11:48:07 2010 -0700"
      },
      "message": "tty.h: new ldisc for TI WiLink ST\n\nTexas Instrument\u0027s WiLink7 connectivity devices pack wireless connectivity\ntechnologies like Bluetooth, FM Radio Receiver and Transmitter, GPS and WLAN\ninto a single die.\nThe BT, FM and GPS core on the chip are interfaced to application\nprocessors via a single UART.\n\nThis line discipline driver allows such different technologies to be used\nsimultaneous and independent of each other.\nSigned-off-by: Pavan Savoy \u003cpavan_savoy@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "d996b62a8df1d935b01319bf8defb95b5709f7b8",
      "tree": "d81f8240da776336845a2063555d7bb4dce684bd",
      "parents": [
        "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:36 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "tty: fix fu_list abuse\n\ntty: fix fu_list abuse\n\ntty code abuses fu_list, which causes a bug in remount,ro handling.\n\nIf a tty device node is opened on a filesystem, then the last link to the inode\nremoved, the filesystem will be allowed to be remounted readonly. This is\nbecause fs_may_remount_ro does not find the 0 link tty inode on the file sb\nlist (because the tty code incorrectly removed it to use for its own purpose).\nThis can result in a filesystem with errors after it is marked \"clean\".\n\nTaking idea from Christoph\u0027s initial patch, allocate a tty private struct\nat file-\u003eprivate_data and put our required list fields in there, linking\nfile and tty. This makes tty nodes behave the same way as other device nodes\nand avoid meddling with the vfs, and avoids this bug.\n\nThe error handling is not trivial in the tty code, so for this bugfix, I take\nthe simple approach of using __GFP_NOFAIL and don\u0027t worry about memory errors.\nThis is not a problem because our allocator doesn\u0027t fail small allocs as a rule\nanyway. So proper error handling is left as an exercise for tty hackers.\n\n[ Arguably filesystem\u0027s device inode would ideally be divorced from the\ndriver\u0027s pseudo inode when it is opened, but in practice it\u0027s not clear whether\nthat will ever be worth implementing. ]\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "ee2ffa0dfdd2db19705f2ba1c6a4c0bfe8122dd8",
      "tree": "e48400d1a33f8d2e68589ccfd61637aa64462f08",
      "parents": [
        "b04f784e5d19ed58892833dae845738972cea260"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@kernel.dk",
        "time": "Wed Aug 18 04:37:35 2010 +1000"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Aug 18 08:35:47 2010 -0400"
      },
      "message": "fs: cleanup files_lock locking\n\nfs: cleanup files_lock locking\n\nLock tty_files with a new spinlock, tty_files_lock; provide helpers to\nmanipulate the per-sb files list; unexport the files_lock spinlock.\n\nCc: linux-kernel@vger.kernel.org\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@kernel.dk\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "b07471fa51358ce64cc25e1501544502362e4404",
      "tree": "0bd1889eb3cbabe51f15cc5e971f9644cdced0f3",
      "parents": [
        "ddcd9fb66ae7f448b517242c10a31d4e17bcad45"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Aug 06 21:40:30 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "tty: implement BTM as mutex instead of BKL\n\nThe tty locking now follows the rules for mutexes, so\nwe can replace the BKL usage with a new subsystem\nwide mutex.\n\nUsing a regular mutex here will change the behaviour\nwhen blocked on the BTM from spinning to sleeping,\nbut that should not be visible to the user.\n\nUsing the mutex also means that all the BTM is now\ncovered by lockdep.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ddcd9fb66ae7f448b517242c10a31d4e17bcad45",
      "tree": "54c5894f3c1dd45580cd45c621bbeb9174da879b",
      "parents": [
        "203652192634c1fce5e79df0a8ff2fabfaefd3ab"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:08 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:44 2010 -0700"
      },
      "message": "tty: remove tty_lock_nested\n\nThis changes all remaining users of tty_lock_nested\nto be non-recursive, which lets us kill this function.\nAs a consequence, we won\u0027t need to keep the lock count\nany more, which allows more simplifications later.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "be1bc2889a4db4961ef69f47fb471ecae9f23ade",
      "tree": "fd6d5e46e69efd9d66e6baa184988461f608f49a",
      "parents": [
        "4e608671674b62e97166f903830d5553e37970e8"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:05 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:43 2010 -0700"
      },
      "message": "tty: introduce wait_event_interruptible_tty\n\nCalling wait_event_interruptible implicitly\nreleases the BKL when it sleeps, but we need\nto do this explcitly when we have converted\nit to a mutex.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ec79d6056de58511d8e46d9ae59d3878f958dc3e",
      "tree": "8e73cf399c4cb3c31dbf3caced385cfc018a706a",
      "parents": [
        "3f582b8c11014e4ce310d9839fb335164195333f"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Jun 01 22:53:01 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:43 2010 -0700"
      },
      "message": "tty: replace BKL with a new tty_lock\n\nAs a preparation for replacing the big kernel lock\nin the TTY layer, wrap all the callers in new\nmacros tty_lock, tty_lock_nested and tty_unlock.\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "26df6d13406d1a53b0bda08bd712f1924affd7cd",
      "tree": "db17328acbd7cac9dc20bc854509527c1c89ca01",
      "parents": [
        "a3c8ed693da9782f924223f65da9261da796e49b"
      ],
      "author": {
        "name": "hyc@symas.com",
        "email": "hyc@symas.com",
        "time": "Tue Jun 22 10:14:49 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Aug 10 13:47:39 2010 -0700"
      },
      "message": "tty: Add EXTPROC support for LINEMODE\n\nThis patch is against the 2.6.34 source.\n\nParaphrased from the 1989 BSD patch by David Borman @ cray.com:\n\n     These are the changes needed for the kernel to support\n     LINEMODE in the server.\n\n     There is a new bit in the termios local flag word, EXTPROC.\n     When this bit is set, several aspects of the terminal driver\n     are disabled.  Input line editing, character echo, and mapping\n     of signals are all disabled.  This allows the telnetd to turn\n     off these functions when in linemode, but still keep track of\n     what state the user wants the terminal to be in.\n\n     New ioctl:\n         TIOCSIG         Generate a signal to processes in the\n                         current process group of the pty.\n\n     There is a new mode for packet driver, the TIOCPKT_IOCTL bit.\n     When packet mode is turned on in the pty, and the EXTPROC bit\n     is set, then whenever the state of the pty is changed, the\n     next read on the master side of the pty will have the TIOCPKT_IOCTL\n     bit set.  This allows the process on the server side of the pty\n     to know when the state of the terminal has changed; it can then\n     issue the appropriate ioctl to retrieve the new state.\n\nSince the original BSD patches accompanied the source code for telnet\nI\u0027ve left that reference here, but obviously the feature is useful for\nany remote terminal protocol, including ssh.\n\nThe corresponding feature has existed in the BSD tty driver since 1989.\nFor historical reference, a good copy of the relevant files can be found\nhere:\n\nhttp://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev\u003d17741\n\nSigned-off-by: Howard Chu \u003chyc@symas.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "31d1d48e199e99077fb30f6fb9a793be7bec756f",
      "tree": "7f9dddbd89030765f6544e5820c401849193dca8",
      "parents": [
        "1e456a124353a753e9d1fadfbf5cd459c2f197ae"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Fri Aug 06 16:34:43 2010 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 06 09:17:02 2010 -0700"
      },
      "message": "Fix init ordering of /dev/console vs callers of modprobe\n\nMake /dev/console get initialised before any initialisation routine that\ninvokes modprobe because if modprobe fails, it\u0027s going to want to open\n/dev/console, presumably to write an error message to.\n\nThe problem with that is that if the /dev/console driver is not yet\ninitialised, the chardev handler will call request_module() to invoke\nmodprobe, which will fail, because we never compile /dev/console as a\nmodule.\n\nThis will lead to a modprobe loop, showing the following in the kernel\nlog:\n\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\trequest_module: runaway loop modprobe char-major-5-1\n\nThis can happen, for example, when the built in md5 module can\u0027t find\nthe built in cryptomgr module (because the latter fails to initialise).\nThe md5 module comes before the call to tty_init(), presumably because\n\u0027crypto\u0027 comes before \u0027drivers\u0027 alphabetically.\n\nFix this by calling tty_init() from chrdev_init().\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e1eaea46bb4020b38a141b84f88565d4603f8dd0",
      "tree": "ade3efe84cf4aff3cb29ec2ea2be30c97b141ad7",
      "parents": [
        "1ff454ef9b1e852e8f4d295a68a715b1dddf233c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri Mar 26 11:32:54 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:34:29 2010 -0700"
      },
      "message": "tty: n_gsm line discipline\n\nAdd an implementation of GSM 0710 MUX. The implementation currently supports\n\n- Basic and advanced framing (as either end of the link)\n- UI or UIH data frames\n- Adaption layer 1-4 (1 and 2 via tty, 3 and 4 as skbuff lists)\n- Modem and control messages including the correct retry process\n- Flow control\n\nand exposes the MUX channels as a set of virtual tty devices including modem\nsignals. This is an experimental driver.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1ff454ef9b1e852e8f4d295a68a715b1dddf233c",
      "tree": "72332c82c1fbbdf329c8c0ca7a7b861715315d94",
      "parents": [
        "be991593f8e9994697a53d6a53112bfb951a8892"
      ],
      "author": {
        "name": "Pavan Savoy",
        "email": "pavan_savoy@ti.com",
        "time": "Thu Apr 08 13:16:52 2010 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 21 09:34:29 2010 -0700"
      },
      "message": "serial: TTY: new ldiscs for staging\n\nPush the max ldiscs by a few number to allow ldiscs\nto exist in the staging directory and elsewhere.\n\nSigned-off-by: Pavan Savoy \u003cpavan_savoy@ti.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4a35ecf8bf1c4b039503fa554100fe85c761de76",
      "tree": "9b75f5d5636004d9a9aa496924377379be09aa1f",
      "parents": [
        "b4d562e3c3553ac58c7120555c4e4aefbb090a2a",
        "fb9e2d887243499b8d28efcf80821c4f6a092395"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 06 23:53:30 2010 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/bonding/bond_main.c\n\tdrivers/net/via-velocity.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn.c\n"
    },
    {
      "commit": "9b27105b4a44c54bf91ecd7d0315034ae75684f7",
      "tree": "f23691d85d007358a7e52b92f7f4f6a1d6d9f00c",
      "parents": [
        "edc7616c307ad315159a8aa050142237f524e079"
      ],
      "author": {
        "name": "Sjur Braendeland",
        "email": "sjur.brandeland@stericsson.com",
        "time": "Tue Mar 30 13:56:30 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 30 19:08:50 2010 -0700"
      },
      "message": "net-caif-driver: add CAIF serial driver (ldisc)\n\nAdd CAIF Serial driver. This driver is implemented as a line discipline.\n\ncaif_serial uses the following module parameters:\nser_use_stx - specifies if STart of frame eXtension is in use.\nser_loop    - sets the interface in loopback mode.\n\nSigned-off-by: Sjur Braendeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "336cee42dd52824e360ab419eab4e8888eb054ec",
      "tree": "893babf1f6804b35a944ac413d16f7107d922e14",
      "parents": [
        "231443665882a02214c3748b9f86615a3ce9e5c2"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Mon Mar 08 21:50:11 2010 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:17:57 2010 -0700"
      },
      "message": "tty_port,usb-console: Fix usb serial console open/close regression\n\nCommit e1108a63e10d344284011cccc06328b2cd3e5da3 (\"usb_serial: Use the\nshutdown() operation\") breaks the ability to use a usb console\nstarting in 2.6.33.  This was observed when using\nconsole\u003dttyUSB0,115200 as a boot argument with an FTDI device.  The\nerror is:\n\nftdi_sio ttyUSB0: ftdi_submit_read_urb - failed submitting read urb, error -22\n\nThe handling of the ASYNCB_INITIALIZED changed in 2.6.32 such that in\ntty_port_shutdown() it always clears the flag if it is set.  The fix\nis to add a variable to the tty_port struct to indicate when the tty\nport is a console.\n\nCC: Alan Cox \u003calan@linux.intel.com\u003e\nCC: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCC: Oliver Neukum \u003coliver@neukum.org\u003e\nCC: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "352fa6ad16b89f8ffd1a93b4419b1a8f2259feab",
      "tree": "b08df3f006762cc213543f2ccd1095f2d9afab52",
      "parents": [
        "87a6aca504d65f242589583e04df5e74b5eae1fe"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Tue Mar 02 22:24:19 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Mar 19 07:17:53 2010 -0700"
      },
      "message": "tty: Take a 256 byte padding into account when buffering below sub-page units\n\nThe TTY layer takes some care to ensure that only sub-page allocations\nare made with interrupts disabled. It does this by setting a goal of\n\"TTY_BUFFER_PAGE\" to allocate. Unfortunately, while TTY_BUFFER_PAGE takes the\nsize of tty_buffer into account, it fails to account that tty_buffer_find()\nrounds the buffer size out to the next 256 byte boundary before adding on\nthe size of the tty_buffer.\n\nThis patch adjusts the TTY_BUFFER_PAGE calculation to take into account the\nsize of the tty_buffer and the padding. Once applied, tty_buffer_alloc()\nshould not require high-order allocations.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "572b9adbd40b5565dc413db04af9cc234f72bf19",
      "tree": "038e00dc5f3b5b1e8835b083df7dccabb2cfd88f",
      "parents": [
        "b3e63afe8a74c0134d05a551cc74facc3b3ec0d7"
      ],
      "author": {
        "name": "Rodolfo Giometti",
        "email": "giometti@linux.it",
        "time": "Wed Mar 10 15:23:46 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 12 15:52:43 2010 -0800"
      },
      "message": "ldisc n_tty: add new method n_tty_inherit_ops()\n\nThis new method can be used to init a new struct tty_ldisc_ops as the\ndefault tty_ldisc_N_TTY struct.\n\nSigned-off-by: Rodolfo Giometti \u003cgiometti@linux.it\u003e\nCc: David Woodhouse \u003cdwmw2@infradead.org\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Alexander Gordeev \u003clasaine@lvk.cs.msu.su\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d9661adfb8e53a7647360140af3b92284cbe52d4",
      "tree": "92946118969a8cbd5918ac6b35142f0051aabc4e",
      "parents": [
        "4165fe4ef7305609a96c7f248cefb9c414d0ede5"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Feb 18 16:43:47 2010 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 02 14:43:23 2010 -0800"
      },
      "message": "tty: Keep the default buffering to sub-page units\n\nWe allocate during interrupts so while our buffering is normally diced up\nsmall anyway on some hardware at speed we can pressure the VM excessively\nfor page pairs. We don\u0027t really need big buffers to be linear so don\u0027t try\nso hard.\n\nIn order to make this work well we will tidy up excess callers to request_room,\nwhich cannot itself enforce this break up.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ],
  "next": "2427b8e3eaea3719e53bbed7b3375382c3aa6f13"
}
