[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5350DDE9.1040102@gmx.at>
Date: Fri, 18 Apr 2014 10:10:17 +0200
From: Manfred Schlaegl <manfred.schlaegl@....at>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jslaby@...e.cz>,
Peter Hurley <peter@...leysoftware.com>,
Alan Cox <alan@...hat.com>, linux-kernel@...r.kernel.org,
Manfred Schlaegl <manfred.schlaegl@...zinger.com>
Subject: Re: [PATCH] tty: Fix race condition between __tty_buffer_request_room
and flush_to_ldisc
On 2014-04-08 14:42, Manfred Schlaegl wrote:
> The race was introduced while development of linux-3.11 by
> e8437d7ecbc50198705331449367d401ebb3181f and
> e9975fdec0138f1b2a85b9624e41660abd9865d4.
> Originally it was found and reproduced on linux-3.12.15 and
> linux-3.12.15-rt25, by sending 500 byte blocks with 115kbaud to the
> target uart in a loop with 100 milliseconds delay.
>
> In short:
> 1. The consumer flush_to_ldisc is on to remove the head tty_buffer.
> 2. The producer adds a number of bytes, so that a new tty_buffer must
> be allocated and added by __tty_buffer_request_room.
> 3. The consumer removes the head tty_buffer element, without handling
> newly committed data.
Hi!
Reminder: The Problem is still existent in linux-3.11, 3.12, 3.13. 3.14 and pre 3.15 kernels.
The lastly delivered patch cleanly applies to pre 3.15 (torvalds tree) and 3.14(.1).
Manfred
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists