← Back to team overview

kernel-packages team mailing list archive

[Bug 1208740] Re: Large pastes into readline enabled programs causes breakage from kernels v2.6.31 onwards

 

Attaching patch that is being sent to Kernel Team by e-mail.


** Patch added: "Trusty-pull-request-upstream-n_tty-Fix-buffer-overru.patch"
   https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1208740/+attachment/4162192/+files/Trusty-pull-request-upstream-n_tty-Fix-buffer-overru.patch

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1208740

Title:
  Large pastes into readline enabled programs causes breakage from
  kernels v2.6.31 onwards

Status in “linux” package in Ubuntu:
  Fix Released
Status in “linux” source package in Precise:
  Fix Released
Status in “linux” source package in Quantal:
  Fix Released
Status in “linux” source package in Raring:
  Fix Released
Status in “linux” source package in Saucy:
  Fix Released

Bug description:
  SRU Justification:

  Impact: Large pastes over 4KB in a console may not be pasted
  correctly.

  Fix: A patch was posted here https://lkml.org/lkml/2013/9/3/539, that
  resolves the issue. It is not upstreamed yet, pending additional
  analysis.

  Testcase:
  1. gedit /usr/share/common-licenses/GPL (replace " with blanks)
  2. select all and copy contents
  3. open a terminal type "
  4. paste contents

  If the whole contents are pasted without any errors then we pass.

  Additional Notes:
  While this isn't upstreamed yet, this has already been accepted into Saucy and no additional bug reports or regressions have been detected yet. It would be useful to continue to monitor the upstream thread, and/or more deeply review this patch for potential deadlocks and contribute to the upstream discussion. 

  --

  The bug is described in detail in this mail:
  https://lkml.org/lkml/2013/7/25/205

  This bug affects any readline enabled program, like bash or psql.  A
  "large" paste is any paste of more than 4kb of data (4kb is the size
  of the kernel buffer for reading from the console).

  As can be found in the lkml thread, the issue is caused by the
  constant change between canonical mode and non-canonical mode, done by
  readline for each line being read.  This change means that when the
  buffer is full, some characters might get lost.

  This has been happening for a long time (starting with kernel
  v2.6.31-rc5), but it was barely noticeable for a while.  Some changes
  done in the way the kernel schedules character reading in v2.6.39-rc1
  made it much more noticeable.  Even the most recent kernels are
  affected.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1208740/+subscriptions


References