)]}'
{
  "log": [
    {
      "commit": "0fc00e2440b717e19bab1ae0015f03936bdf7967",
      "tree": "4ae26ce4c71511fad3bad97384dce22a69c16bb6",
      "parents": [
        "543821c6f5dea5221426eaf1eac98b100249c7ac"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Nov 07 01:24:56 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:14:19 2007 -0800"
      },
      "message": "[TTY]: Fix network driver interactions with TCGET/SET calls.\n\nDave Miller noted various cases where line disciplines for things like\nppp go poking around in termios themselves in ways that broke with the\nnew termios code. Rather than have them all learning about termios\ninternals provide proper methods for this\n\n- tty_mode_ioctl()\n\n\tThis handles all the terminal mode handling for speed/carrier\netc and none of the methods are ldisc dependant so they can be called\nby any user\n\n- tty_perform_flush()\n\n\tThis extracts the flush functionality and enables pppd the ppp\nlayer to share it cleanly.\n\nThe existing n_tty_ioctl code is refactored in this patch to provide\nthe new functions and to call them itself appropriately. This patch\nhas no (intended) behaviour changes and simply prepares for the other\nfixes.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5f519d728169fa9975bcba001de425f11e18e8e3",
      "tree": "41631c3b5a7a2fb5273dc758a3f4e1bb0fdcd540",
      "parents": [
        "ca025282e9f13471cd4bf44d854bbd6dcbcb39c1"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 16 23:30:07 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:58 2007 -0700"
      },
      "message": "tty: expose new methods needed for drivers to get termios right\n\nThis adds three new functions (or in one case to be more exact makes it\nalways available)\n\ntty_termios_copy_hw\n\nCopies all the hardware settings from one termios structure to the other.\nThis is intended for drivers that support little or no hardware setting\n\ntty_termios_encode_baud_rate\n\nAllows you to set the input and output baud rate in a termios structure.  A\ndriver is supposed to set the resulting baud rate from a request so most\nwill want to use this function to set the resulting input and output rates\nto match the hardware values.  Internally it knows about keeping Bxxx\nencoding when possible to maximise compatibility.\n\ntty_encode_baud_rate\n\nAs above but for the tty\u0027s own current termios structure\n\nI suspect this will initially need some tweaking as it gets enabled by\ndriver patches over the next few mm cycles so consider this lot -mm only\nfor the moment so it can stabilize and end up neat before it goes to base.\n\nI\u0027ve tried not to break any obscure architectures - if you get a speed you\ncan\u0027t represent the code will print warnings on non updated termios systems\nbut not break.\n\nOnce this is merged and seems sane I\u0027ve got a growing pile of driver\nupdates to use it - notably for USB serial drivers.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "328dfd0f78136082d32d5663d08b514ecba91e68",
      "tree": "c6bd04bf63af394ec4d8b556a5f104efc26b47df",
      "parents": [
        "42b2dd0a02c512cf59c96f5c227bf54bfe5bbf08"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Tue Oct 16 23:27:31 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Oct 17 08:42:55 2007 -0700"
      },
      "message": "tty.h: remove dead define\n\nNo longer used. TTY_FLIPBUF_SIZE will also go soon but needs a couple of\nother cleanups first\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dc8c85871c9728c5fddca6854a191fd41eb9438c",
      "tree": "d56e7a4c4d797d6696f24ef374cfd35865d5a5dd",
      "parents": [
        "45aaae9c51d768d5a8fd53fb372b1eb714f37691"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Wed Aug 15 12:25:38 2007 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:09 2007 -0700"
      },
      "message": "PTY: add kernel parameter to overwrite legacy pty count\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "42fd552e8647316757ded0176466c41d17934dcf",
      "tree": "07b0f4ed1934c05c6495c62ba943ab90bde6be84",
      "parents": [
        "f8a745942b1b7f052cb76bb8a893d12cb6329c84"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Aug 10 13:01:05 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Aug 11 15:47:41 2007 -0700"
      },
      "message": "fix serial buffer memory leak\n\nPatch c5c34d4862e18ef07c1276d233507f540fb5a532 (tty: flush flip buffer on\nldisc input queue flush) introduces a race condition which can lead to memory\nleaks.\n\nThe problem can be triggered when tcflush() is called when data are being\npushed to the line discipline driver by flush_to_ldisc().\n\nflush_to_ldisc() releases tty-\u003ebuf.lock when calling the line discipline\nreceive_buf function. At that poing tty_buffer_flush() kicks in and sets both\ntty-\u003ebuf.head and tty-\u003ebuf.tail to NULL. When flush_to_ldisc() finishes, it\nrestores tty-\u003ebuf.head but doesn\u0027t touch tty-\u003ebuf.tail. This corrups the\nbuffer queue, and the next call to tty_buffer_request_room() will allocate a\nnew buffer and overwrite tty-\u003ebuf.head. The previous buffer is then lost\nforever without being released.\n\n(Thanks to Laurent for the above text, for finding, disgnosing and reporting\nthe bug)\n\n- Use tty-\u003eflags bits for the flush status.\n\n- Wait for the flag to clear again before returning\n\n- Fix the doc error noted\n\n- Fix flush of empty queue leaving stale flushpending\n\n[akpm@linux-foundation.org: cleanup]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Laurent Pinchart \u003claurentp@cse-semaphore.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "522ed7767e800cff6c650ec64b0ee0677303119c",
      "tree": "f65ecb29f2cf885018d3557f840de3ef4be6ec64",
      "parents": [
        "4f27c00bf80f122513d3a5be16ed851573164534"
      ],
      "author": {
        "name": "Miloslav Trmac",
        "email": "mitr@redhat.com",
        "time": "Sun Jul 15 23:40:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:47 2007 -0700"
      },
      "message": "Audit: add TTY input auditing\n\nAdd TTY input auditing, used to audit system administrator\u0027s actions.  This is\nrequired by various security standards such as DCID 6/3 and PCI to provide\nnon-repudiation of administrator\u0027s actions and to allow a review of past\nactions if the administrator seems to overstep their duties or if the system\nbecomes misconfigured for unknown reasons.  These requirements do not make it\nnecessary to audit TTY output as well.\n\nCompared to an user-space keylogger, this approach records TTY input using the\naudit subsystem, correlated with other audit events, and it is completely\ntransparent to the user-space application (e.g.  the console ioctls still\nwork).\n\nTTY input auditing works on a higher level than auditing all system calls\nwithin the session, which would produce an overwhelming amount of mostly\nuseless audit events.\n\nAdd an \"audit_tty\" attribute, inherited across fork ().  Data read from TTYs\nby process with the attribute is sent to the audit subsystem by the kernel.\nThe audit netlink interface is extended to allow modifying the audit_tty\nattribute, and to allow sending explanatory audit events from user-space (for\nexample, a shell might send an event containing the final command, after the\ninteractive command-line editing and history expansion is performed, which\nmight be difficult to decipher from the TTY input alone).\n\nBecause the \"audit_tty\" attribute is inherited across fork (), it would be set\ne.g.  for sshd restarted within an audited session.  To prevent this, the\naudit_tty attribute is cleared when a process with no open TTY file\ndescriptors (e.g.  after daemon startup) opens a TTY.\n\nSee https://www.redhat.com/archives/linux-audit/2007-June/msg00000.html for a\nmore detailed rationale document for an older version of this patch.\n\n[akpm@linux-foundation.org: build fix]\nSigned-off-by: Miloslav Trmac \u003cmitr@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nCc: Steve Grubb \u003csgrubb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9c1729db3e6d738f872bcb090212af00473bf666",
      "tree": "be68b99784607953fb50d9330d34c2728215be57",
      "parents": [
        "c9c64155f5a81b4b41e98f9fb9c464a565c1bf72"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Sun Jul 15 23:39:43 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:41 2007 -0700"
      },
      "message": "Prevent an O_NDELAY writer from blocking when a tty write is blocked by the tty atomic writer mutex\n\nWithout this a tty write could block if a previous blocking tty write was\nin progress on the same tty and blocked by a line discipline or hardware\nevent.  Originally found and reported by Dave Johnson.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nAcked-by: Dave Johnson \u003cdjohnson+linux-kernel@sw.starentnetworks.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "98a27ba485c7508ef9d9527fe06e4686f3a163dc",
      "tree": "73d5dca7f1b5120ecf1bbcc664094044bc35dc56",
      "parents": [
        "2a65f1d9fe78475720bd8f0e0fbbf1973b1b5ac2"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Tue May 08 00:26:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:04 2007 -0700"
      },
      "message": "tty: introduce no_tty and use it in selinux\n\nWhile researching the tty layer pid leaks I found a weird case in selinux when\nwe drop a controlling tty because of inadequate permissions we don\u0027t do the\nnormal hangup processing.  Which is a problem if it happens the session leader\nhas exec\u0027d something that can no longer access the tty.\n\nWe already have code in the kernel to handle this case in the form of the\nTIOCNOTTY ioctl.  So this patch factors out a helper function that is the\nessence of that ioctl and calls it from the selinux code.\n\nThis removes the inconsistency in handling dropping of a controlling tty and\nwho knows it might even make some part of user space happy because it received\na SIGHUP it was expecting.\n\nIn addition since this removes the last user of proc_set_tty outside of\ntty_io.c proc_set_tty is made static and removed from tty.h\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ab521dc0f8e117fd808d3e425216864d60390500",
      "tree": "f9d6449c4d8c9508fd43edfe845108043e1536b2",
      "parents": [
        "3e7cd6c413c9e6fbb5e1ee2acdadb4ababd2d474"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:53:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] tty: update the tty layer to work with struct pid\n\nOf kernel subsystems that work with pids the tty layer is probably the largest\nconsumer.  But it has the nice virtue that the assiation with a session only\nlasts until the session leader exits.  Which means that no reference counting\nis required.  So using struct pid winds up being a simple optimization to\navoid hash table lookups.\n\nIn the long term the use of pid_nr also ensures that when we have multiple pid\nspaces mixed everything will work correctly.\n\nSigned-off-by: Eric W. Biederman \u003ceric@maxwell.lnxi.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3e7cd6c413c9e6fbb5e1ee2acdadb4ababd2d474",
      "tree": "de97d00794ee0c787b6c551a91e33fb1faa48caa",
      "parents": [
        "0475ac0845f9295bc5f69af45f58dff2c104c8d1"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:52:58 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:32 2007 -0800"
      },
      "message": "[PATCH] pid: replace is_orphaned_pgrp with is_current_pgrp_orphaned\n\nEvery call to is_orphaned_pgrp passed in process_group(current) which is racy\nwith respect to another thread changing our process group.  It didn\u0027t bite us\nbecause we were dealing with integers and the worse we would get would be a\nstale answer.\n\nIn switching the checks to use struct pid to be a little more efficient and\nprepare the way for pid namespaces this race became apparent.\n\nSo I simplified the calls to the more specialized is_current_pgrp_orphaned so\nI didn\u0027t have to worry about making logic changes to avoid the race.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cdc623300841bc8f1625c320d5a6cbc52c43c60d",
      "tree": "b9c8f56847eb78aa4d92e3948579be9d2f647b63",
      "parents": [
        "939b00df0306bc4b5cd25c3c3c78e89b91e72fc8"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Feb 12 00:52:51 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:31 2007 -0800"
      },
      "message": "[PATCH] tty: make __proc_set_tty static\n\nThe aim of this patch set is to start wrapping up the struct pid conversions.\nAs such this patchset culminates with the removal of kill_pg, kill_pg_info,\n__kill_pg_info, do_each_task_pid, and while_each_task_pid.\n\nkill_proc, daemonize, and kernel_thread are still in my sights but there is\nstill work to get to them.\n\nThe first three are basic cleanups around disassociate_ctty, while working on\nconverting it I found several issues.  tty_old_pgrp can be a tricky concept to\nwrap your head around.\n\n 1 tty: Make __proc_set_tty static.\n 2 tty: Clarify disassociate_ctty\n 3 tty: Fix the locking for signal-\u003esession in disassociate_ctty\n\nThese just stop using the old helper functions.\n\n 4 signal: Use kill_pgrp not kill_pg in the sunos compatibility code.\n 5 signal: Rewrite kill_something_info so it uses newer helpers.\n\nThen the grind to convert the tty layer and all of it\u0027s helper functions to\nstruct pid.\n\n 6 pid: Make session_of_pgrp use struct pid instead of pid_t.\n 7 pid: Use struct pid for talking about process groups in exit.c\n 8 pid: Replace is_orphaned_pgrp with is_current_pgrp_orphaned\n 9 tty: Update the tty layer to work with struct pid.\n\nA final helper function update.\n\n10 pid: Replace do/while_each_task_pid with do/while_each_pid_task\n\nAnd the removal of the functions that are now unused.\n11 pid: Remove now unused do_each_task_pid and while_each_task_pid\n12 pid: Remove the now unused kill_pg kill_pg_info and __kill_pg_info\n\nAll of these should be fairly simple and to the point.\n\nThis patch:\n\nCurrently all users of __proc_set_tty are in tty_io.c so make the function\nstatic.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4564f9e5fd00767d11fcf61e0d52787706dfcc87",
      "tree": "e7d2dd2c80099c23a7dadfb53f8faa74dba7d484",
      "parents": [
        "4a3b0a490d49ada8bbf3f426be1a0ace4dcd0a55"
      ],
      "author": {
        "name": "Tilman Schmidt",
        "email": "tilman@imap.cc",
        "time": "Sat Feb 10 01:45:00 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:26 2007 -0800"
      },
      "message": "[PATCH] consolidate line discipline number definitions\n\nThe line discipline numbers N_* are currently defined for each architecture\nindividually, but (except for a seeming mistake) identically, in\nasm/termios.h.  There is no obvious reason why these numbers should be\narchitecture specific, nor any apparent relationship with the termios\nstructure.  The total number of these, NR_LDISCS, is defined in linux/tty.h\nanyway.  So I propose the following patch which moves the definitions of\nthe individual line disciplines to linux/tty.h too.\n\nThree of these numbers (N_MASC, N_PROFIBUS_FDL, and N_SMSBLOCK) are unused\nin the current kernel, but the patch still keeps the complete set in case\nthere are plans to use them yet.\n\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nCc: \u003clinux-arch@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8b6312f4dcc1efe7975731b6c47dd134282bd9ac",
      "tree": "71c94b01bda940c5610d448d0f4a2aa3c7665b4c",
      "parents": [
        "0a7b35cb18c52d651f6ed9cd59edc979200ab880"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Sat Feb 10 01:44:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:24 2007 -0800"
      },
      "message": "[PATCH] vt: refactor console SAK processing\n\nThis does several things.\n- It moves looking up of the current foreground console into process\n  context where we can safely take the semaphore that protects this\n  operation.\n- It uses the new flavor of work queue processing.\n- This generates a factor of do_SAK, __do_SAK that runs immediately.\n- This calls __do_SAK with the console semaphore held ensuring nothing\n  else happens to the console while we process the SAK operation.\n- With the console SAK processing moved into process context this\n  patch removes the xchg operations that I used to attempt to attomically\n  update struct pid, because of the strange locking used in the SAK processing.\n  With SAK using the normal console semaphore nothing special is needed.\n\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edc6afc5496875a640bef0913604be7550c1795d",
      "tree": "b05cd34a9a0d71edc9d6d7487ad551f0e15887b8",
      "parents": [
        "be90038a24c814dc98bc5a813f41855779000018"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Fri Dec 08 02:38:44 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:56 2006 -0800"
      },
      "message": "[PATCH] tty: switch to ktermios and new framework\n\nThis is the core of the switch to the new framework.  I\u0027ve split it from the\ndriver patches which are mostly search/replace and would encourage people to\ngive this one a good hard stare.\n\nThe references to BOTHER and ISHIFT are the termios values that must be\ndefined by a platform once it wants to turn on \"new style\" ioctl support.  The\ncode patches here ensure that providing\n\n1. The termios overlays the ktermios in memory\n2. The only new kernel only fields are c_ispeed/c_ospeed (or none)\n\nthe existing behaviour is retained.  This is true for the patches at this\npoint in time.\n\nFuture patches will define BOTHER, ISHIFT and enable newer termios structures\nfor each architecture, and once they are all done some of the ifdefs also\nvanish.\n\n[akpm@osdl.org: warning fix]\n[akpm@osdl.org: IRDA fix]\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517",
      "tree": "2ff478b1925159eeac007913c2a8f19d5f5e6010",
      "parents": [
        "562f9c574e0707f9159a729ea41faf53b221cd30"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Fri Dec 08 02:36:04 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:38 2006 -0800"
      },
      "message": "[PATCH] tty: -\u003esignal-\u003etty locking\n\nFix the locking of signal-\u003etty.\n\nUse -\u003esighand-\u003esiglock to protect -\u003esignal-\u003etty; this lock is already used\nby most other members of -\u003esignal/-\u003esighand.  And unless we are \u0027current\u0027\nor the tasklist_lock is held we need -\u003esiglock to access -\u003esignal anyway.\n\n(NOTE: sys_unshare() is broken wrt -\u003esighand locking rules)\n\nNote that tty_mutex is held over tty destruction, so while holding\ntty_mutex any tty pointer remains valid.  Otherwise the lifetime of ttys\nare governed by their open file handles.  This leaves some holes for tty\naccess from signal-\u003etty (or any other non file related tty access).\n\nIt solves the tty SLAB scribbles we were seeing.\n\n(NOTE: the change from group_send_sig_info to __group_send_sig_info needs to\n       be examined by someone familiar with the security framework, I think\n       it is safe given the SEND_SIG_PRIV from other __group_send_sig_info\n       invocations)\n\n[schwidefsky@de.ibm.com: 3270 fix]\n[akpm@osdl.org: various post-viro fixes]\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Prarit Bhargava \u003cprarit@redhat.com\u003e\nCc: Chris Wright \u003cchrisw@sous-sol.org\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: Stephen Smalley \u003csds@tycho.nsa.gov\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jan Kara \u003cjack@ucw.cz\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "01107d343076c34b9e1ce5d073292bd7f3097fda",
      "tree": "075dcadaff7c124022157c8ee819550cd1023440",
      "parents": [
        "94fbcded4ea0dc14cbfb222a5c68372f150d1476"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Aug 07 22:19:37 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Dec 01 14:51:59 2006 -0800"
      },
      "message": "Driver core: convert tty core to use struct device\n\nConverts from using struct \"class_device\" to \"struct device\" making\neverything show up properly in /sys/devices/ with symlinks from the\n/sys/class directory.\n\nAlso fixes up the isdn drivers that were putting something in the class\ndevice\u0027s directory.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "52bad64d95bd89e08c49ec5a071fa6dcbe5a1a9c",
      "tree": "5849b4e3c17daa70a7e81cfdeaddac9ac8a0e953",
      "parents": [
        "0f9005a6f7a82f4aacbd72f7b92322a8ca1c3f97"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:54:01 2006 +0000"
      },
      "message": "WorkStruct: Separate delayable and non-delayable events.\n\nSeparate delayable work items from non-delayable work items be splitting them\ninto a separate structure (delayed_work), which incorporates a work_struct and\nthe timer_list removed from work_struct.\n\nThe work_struct struct is huge, and this limits it\u0027s usefulness.  On a 64-bit\narchitecture it\u0027s nearly 100 bytes in size.  This reduces that by half for the\nnon-delayable type of event.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "07f3f05c1e3052b8656129b2a5aca9f888241a34",
      "tree": "3338b004d518a0d2189efdc3fb88e94e1c02c0ce",
      "parents": [
        "65e6f5bc8149165efb9d7bdbd142bb837d5edfeb"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Sep 30 20:52:18 2006 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@kernel.dk",
        "time": "Sat Sep 30 20:52:18 2006 +0200"
      },
      "message": "[PATCH] BLOCK: Move extern declarations out of fs/*.c into header files [try #6]\n\nCreate a new header file, fs/internal.h, for common definitions local to the\nsources in the fs/ directory.\n\nMove extern definitions that should be in header files from fs/*.c to\nfs/internal.h or other main header files where they span directories.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "5785c95baede8459d70c4aa0f7becb6e8b5fde4b",
      "tree": "17744eac694b4eab81cba4db28c4e083d779b753",
      "parents": [
        "54306cf04c0ea0a8c432603dbc657ab62a438668"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Fri Sep 29 02:00:43 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:16 2006 -0700"
      },
      "message": "[PATCH] tty: make termios_sem a mutex\n\n[akpm@osdl.org: fix]\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "402749ea2538be9ddad981a990739b93a0178bc6",
      "tree": "71a611f825f956f6cc43906b100fb09635dbdcf1",
      "parents": [
        "2e0c1f6ce7b816f63fea2af3e5e2cb20c66430e9"
      ],
      "author": {
        "name": "Matthias Urlichs",
        "email": "smurf@smurf.noris.de",
        "time": "Fri Sep 29 01:59:37 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 29 09:18:09 2006 -0700"
      },
      "message": "[PATCH] Remove unused tty_struct field\n\nUnused: tty_struct.max_flip_cnt\n\n$ git grep max_flip_cnt\ninclude/linux/tty.h:    int max_flip_cnt;\n$\n\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "01da5fd83d6b2c5e36b77539f6cbdd8f49849225",
      "tree": "70c1f1cb8325fe4801b952346bd2ef79d08882b5",
      "parents": [
        "af9b897ee639d96b2bd29b65b50cd0a1f2b6d6c9"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Sun Aug 27 01:24:02 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Aug 27 11:01:34 2006 -0700"
      },
      "message": "[PATCH] Fix tty layer DoS and comment relevant code\n\nUnlike the other tty comment patch this one has code changes.  Specifically\nit limits the queue size for a tty to 64K characters (128Kbytes) worst case\neven if the tty is ignoring tty-\u003ethrottle.  This is because certain drivers\ndon\u0027t honour the throttle value correctly, although it is a useful\nsafeguard anyway.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "894673ee6122a3ce1958e1fe096901ba5356a96b",
      "tree": "2fe842e63046ead098c5c61c0938ad8128934412",
      "parents": [
        "a8f340e394ff30b79ab5b03c67ab4c94b2ac3646"
      ],
      "author": {
        "name": "Jon Smirl",
        "email": "jonsmir@gmail.com",
        "time": "Mon Jul 10 04:44:13 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:16 2006 -0700"
      },
      "message": "[PATCH] tty: Remove include of screen_info.h from tty.h\n\nscreen_info.h doesn\u0027t have anything to do with the tty layer and shouldn\u0027t be\nincluded by tty.h.  This patches removes the include and modifies all users to\ndirectly include screen_info.h.  struct screen_info is mainly used to\ncommunicate with the console drivers in drivers/video/console.  Note that this\npatch touches every arch and I have no way of testing it.  If there is a\nmistake the worst thing that will happen is a compile error.\n\n[akpm@osdl.org: fix arm build]\n[akpm@osdl.org: fix alpha build]\nSigned-off-by: Jon Smirl \u003cjonsmir@gmail.com\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "a8f340e394ff30b79ab5b03c67ab4c94b2ac3646",
      "tree": "54bb79dba4f3943e893bacd1efe7b265d7f86aaa",
      "parents": [
        "67eb5db5874076db01febed5a1a9281628fa9fb4"
      ],
      "author": {
        "name": "Jon Smirl",
        "email": "jonsmir@gmail.com",
        "time": "Mon Jul 10 04:44:12 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Mon Jul 10 13:24:16 2006 -0700"
      },
      "message": "[PATCH] vt: Remove VT-specific declarations and definitions from tty.h\n\nMAX_NR_CONSOLES, fg_console, want_console and last_console are more of a\nfunction of the VT layer than the TTY one.  Moving these to vt.h and vt_kern.h\nallows all of the framebuffer and VT console drivers to remove their\ndependency on tty.h.\n\n[akpm@osdl.org: fix alpha build]\nSigned-off-by: Jon Smirl \u003cjonsmir@gmail.com\u003e\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33b37a33c242542fac2980b8ccd90977388b7a8d",
      "tree": "e3a18605e57e1d1268dd04e9a3e5276f7f0488fe",
      "parents": [
        "2c3bb20f46709a0adfa7ea408013edbcab945d5a"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Wed Jun 28 04:26:49 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:05 2006 -0700"
      },
      "message": "[PATCH] remove active field from tty buffer structure\n\nRemove \u0027active\u0027 field from tty buffer structure.  This was added in 2.6.16\nas part of a patch to make the new tty buffering SMP safe.  This field is\nunnecessary with the more intelligently written flush_to_ldisc that adds\nreceive_room handling.\n\nRemoving this field reverts to simpler logic where the tail buffer is\nalways the \u0027active\u0027 buffer, which should not be freed by flush_to_ldisc.\n(active \u003d\u003d buffer being filled with new data)\n\nThe result is simpler, smaller, and faster tty buffer code.\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "817d6d3bceaf34c99f5343820f9b9e6021f0655c",
      "tree": "651104833124262db46c2a372b7adb55289cd8dd",
      "parents": [
        "e0ac4761fa52acda90f9f53819c81474b511e3af"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Wed Jun 28 04:26:47 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 14:59:05 2006 -0700"
      },
      "message": "[PATCH] remove TTY_DONT_FLIP\n\nRemove TTY_DONT_FLIP tty flag.  This flag was introduced in 2.1.X kernels\nto prevent the N_TTY line discipline functions read_chan() and\nn_tty_receive_buf() from running at the same time.  2.2.15 introduced\ntty-\u003eread_lock to protect access to the N_TTY read buffer, which is the\nonly state requiring protection between these two functions.\n\nThe current TTY_DONT_FLIP implementation is broken for SMP, and is not\nuniversally honored by drivers that send data directly to the line\ndiscipline receive_buf function.\n\nBecause TTY_DONT_FLIP is not necessary, is broken in implementation, and is\nnot universally honored, it is removed.\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1cdcb6b43fda7424b7435dac8f80b2b5d8a48899",
      "tree": "3090342c60b9b8f0f8144f67962d3cb3ce2a9207",
      "parents": [
        "53877d06d53a412d901bb323f080296c363d8b51"
      ],
      "author": {
        "name": "Hansjoerg Lipp",
        "email": "hjlipp@web.de",
        "time": "Sat Apr 22 18:36:53 2006 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:40:47 2006 -0700"
      },
      "message": "[PATCH] TTY: return class device pointer from tty_register_device()\n\nLet tty_register_device() return a pointer to the class device it creates.\nThis allows registrants to add their own sysfs files under the class\ndevice node.\n\nSigned-off-by: Hansjoerg Lipp \u003chjlipp@web.de\u003e\nSigned-off-by: Tilman Schmidt \u003ctilman@imap.cc\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "62c4f0a2d5a188f73a94f2cb8ea0dba3e7cf0a7f",
      "tree": "e85ca2d0dd43f90dccf758338764c3caa55f333f",
      "parents": [
        "089f26d5e31b7bf42a9a8fefec08b30cd27f4b0e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Wed Apr 26 12:56:16 2006 +0100"
      },
      "message": "Don\u0027t include linux/config.h from anywhere else in include/\n\nSigned-off-by: David Woodhouse \u003cdwmw2@infradead.org\u003e\n"
    },
    {
      "commit": "70522e121a521aa09bd0f4e62e1aa68708b798e1",
      "tree": "1233412da73361b48ed01290a33ab7c90e36359a",
      "parents": [
        "d4f9af9dac4ecb75818f909168f87b441cc95653"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 23 03:00:31 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Mar 23 07:38:11 2006 -0800"
      },
      "message": "[PATCH] sem2mutex: tty\n\nSemaphore to mutex conversion.\n\nThe conversion was generated via scripts, and the result was validated\nautomatically via a script as well.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: Russell King \u003crmk@arm.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8977d929e49021d9a6e031310aab01fa72f849c2",
      "tree": "13697e607b1153666139114242964f9982acc328",
      "parents": [
        "f0188f47482efdbd2e005103bb4f0224a835dfad"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Fri Feb 10 01:51:14 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 10 08:13:12 2006 -0800"
      },
      "message": "[PATCH] tty buffering stall fix\n\nPrevent stalled processing of received data when a driver allocates tty\nbuffer space but does not immediately follow the allocation with more data\nand a call to schedule receive tty processing.  (example: hvc_console) This\nbug was introduced by the first locking patch for the new tty buffering.\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "808249ceba49cdb3054c0aa5b75a61862d6cab94",
      "tree": "246d11a687db3e8a775e746ed8f0da1aeedae70c",
      "parents": [
        "546cfdf47f2ea2438b01f8626a60b87f9d8d1e53"
      ],
      "author": {
        "name": "Paul Fulghum",
        "email": "paulkf@microgate.com",
        "time": "Fri Feb 03 03:04:41 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Feb 03 08:32:09 2006 -0800"
      },
      "message": "[PATCH] new tty buffering locking fix\n\nChange locking in the new tty buffering facility from using tty-\u003eread_lock,\nwhich is currently ignored by drivers and thus ineffective.  New locking\nuses a new tty buffering specific lock enforced centrally in the tty\nbuffering code.\n\nTwo drivers (esp and cyclades) are updated to use the tty buffering\nfunctions instead of accessing tty buffering internals directly.  This is\nrequired for the new locking to work.\n\nMinor checks for NULL buffers added to\ntty_prepare_flip_string/tty_prepare_flip_string_flags\n\nSigned-off-by: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "33f0f88f1c51ae5c2d593d26960c760ea154c2e2",
      "tree": "f53a38cf49406863f079d74d0e8f91b276f7c1a9",
      "parents": [
        "6ed80991a2dce4afc113be35089c564d62fa1f11"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jan 09 20:54:13 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jan 10 08:01:59 2006 -0800"
      },
      "message": "[PATCH] TTY layer buffering revamp\n\nThe API and code have been through various bits of initial review by\nserial driver people but they definitely need to live somewhere for a\nwhile so the unconverted drivers can get knocked into shape, existing\ndrivers that have been updated can be better tuned and bugs whacked out.\n\nThis replaces the tty flip buffers with kmalloc objects in rings. In the\nnormal situation for an IRQ driven serial port at typical speeds the\nbehaviour is pretty much the same, two buffers end up allocated and the\nkernel cycles between them as before.\n\nWhen there are delays or at high speed we now behave far better as the\nbuffer pool can grow a bit rather than lose characters. This also means\nthat we can operate at higher speeds reliably.\n\nFor drivers that receive characters in blocks (DMA based, USB and\nespecially virtualisation) the layer allows a lot of driver specific\ncode that works around the tty layer with private secondary queues to be\nremoved. The IBM folks need this sort of layer, the smart serial port\npeople do, the virtualisers do (because a virtualised tty typically\noperates at infinite speed rather than emulating 9600 baud).\n\nFinally many drivers had invalid and unsafe attempts to avoid buffer\noverflows by directly invoking tty methods extracted out of the innards\nof work queue structs. These are no longer needed and all go away. That\nfixes various random hangs with serial ports on overflow.\n\nThe other change in here is to optimise the receive_room path that is\nused by some callers. It turns out that only one ldisc uses receive room\nexcept asa constant and it updates it far far less than the value is\nread. We thus make it a variable not a function call.\n\nI expect the code to contain bugs due to the size alone but I\u0027ll be\nwatching and squashing them and feeding out new patches as it goes.\n\nBecause the buffers now dynamically expand you should only run out of\nbuffering when the kernel runs out of memory for real.  That means a lot of\nthe horrible hacks high performance drivers used to do just aren\u0027t needed any\nmore.\n\nDescription:\n\ntty_insert_flip_char is an old API and continues to work as before, as does\ntty_flip_buffer_push() [this is why many drivers dont need modification].  It\ndoes now also return the number of chars inserted\n\nThere are also\n\ntty_buffer_request_room(tty, len)\n\nwhich asks for a buffer block of the length requested and returns the space\nfound.  This improves efficiency with hardware that knows how much to\ntransfer.\n\nand tty_insert_flip_string_flags(tty, str, flags, len)\n\nto insert a string of characters and flags\n\nFor a smart interface the usual code is\n\n    len \u003d tty_request_buffer_room(tty, amount_hardware_says);\n    tty_insert_flip_string(tty, buffer_from_card, len);\n\nMore description!\n\nAt the moment tty buffers are attached directly to the tty.  This is causing a\nlot of the problems related to tty layer locking, also problems at high speed\nand also with bursty data (such as occurs in virtualised environments)\n\nI\u0027m working on ripping out the flip buffers and replacing them with a pool of\ndynamically allocated buffers.  This allows both for old style \"byte I/O\"\ndevices and also helps virtualisation and smart devices where large blocks of\ndata suddenely materialise and need storing.\n\nSo far so good.  Lots of drivers reference tty-\u003eflip.*.  Several of them also\ncall directly and unsafely into function pointers it provides.  This will all\nbreak.  Most drivers can use tty_insert_flip_char which can be kept as an API\nbut others need more.\n\nAt the moment I\u0027ve added the following interfaces, if people think more will\nbe needed now is a good time to say\n\n int tty_buffer_request_room(tty, size)\n\nTry and ensure at least size bytes are available, returns actual room (may be\nzero).  At the moment it just uses the flipbuf space but that will change.\nRepeated calls without characters being added are not cumulative.  (ie if you\ncall it with 1, 1, 1, and then 4 you\u0027ll have four characters of space.  The\nother functions will also try and grow buffers in future but this will be a\nmore efficient way when you know block sizes.\n\n int tty_insert_flip_char(tty, ch, flag)\n\nAs before insert a character if there is room.  Now returns 1 for success, 0\nfor failure.\n\n int tty_insert_flip_string(tty, str, len)\n\nInsert a block of non error characters.  Returns the number inserted.\n\n int tty_prepare_flip_string(tty, strptr, len)\n\nAdjust the buffer to allow len characters to be added.  Returns a buffer\npointer in strptr and the length available.  This allows for hardware that\nneeds to use functions like insl or mencpy_fromio.\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nCc: Paul Fulghum \u003cpaulkf@microgate.com\u003e\nSigned-off-by: Hirokazu Takata \u003ctakata@linux-m32r.org\u003e\nSigned-off-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Jeff Dike \u003cjdike@addtoit.com\u003e\nSigned-off-by: John Hawkes \u003chawkes@sgi.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "7e7f358c8f8f836c504faa293fda0c1c0733b63c",
      "tree": "b06ef1742fe9e5533f754b46cb0e0e56ee619b0a",
      "parents": [
        "389cd6ec086e9b5421fe479d14d20a1faf74848d"
      ],
      "author": {
        "name": "Brian Gerst",
        "email": "bgerst@didntduck.org",
        "time": "Sun Jan 08 01:04:54 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jan 08 20:14:05 2006 -0800"
      },
      "message": "[PATCH] Split out screen_info from tty.h\n\nThis makes it possible for boot code to use screen_info without dragging in\nall of tty.h.\n\nSigned-off-by: Brian Gerst \u003cbgerst@didntduck.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "d2d58384fc5d4c0fe2d8e34bc2d15a90a9bb372a",
      "tree": "6b28b34161e7ca2db38014b473690e9c9954779a",
      "parents": [
        "7726e9e10fc6e026ed2dc00e48f4a3ffc1254ad2"
      ],
      "author": {
        "name": "Antonino A. Daplas",
        "email": "adaplas@gmail.com",
        "time": "Fri Sep 09 13:04:31 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Fri Sep 09 13:57:58 2005 -0700"
      },
      "message": "[PATCH] vesafb: Add blanking support\n\nAdd rudimentary support by manipulating the VGA registers.  However, not\nall vesa modes are VGA compatible, so VGA compatiblity is checked first.\nOnly 2 levels are supported, powerup and powerdown.\n\nSigned-off-by: Antonino Daplas \u003cadaplas@pol.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bfb07599da289881d3bcbb601a110e997fc7444b",
      "tree": "601c5e683c87e103de37bd68f014ec1f57d09bc7",
      "parents": [
        "790a19cd5711133f40daad7c55bf148de2b1d12c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Jun 23 00:10:32 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Thu Jun 23 09:45:35 2005 -0700"
      },
      "message": "[PATCH] Introduce tty_unregister_ldisc()\n\nIt\u0027s a bit strange to see tty_register_ldisc call in modules\u0027 exit\nfunctions.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
