Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753821AbXITVCk (ORCPT ); Thu, 20 Sep 2007 17:02:40 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751987AbXITVCY (ORCPT ); Thu, 20 Sep 2007 17:02:24 -0400 Received: from palinux.external.hp.com ([192.25.206.14]:37850 "EHLO mail.parisc-linux.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751938AbXITVCX (ORCPT ); Thu, 20 Sep 2007 17:02:23 -0400 Date: Thu, 20 Sep 2007 15:02:22 -0600 From: Matthew Wilcox To: linux-kernel@vger.kernel.org Cc: Alan Cox , linux-serial@vger.kernel.org Subject: Don't cross the (tty) streams Message-ID: <20070920210221.GC10625@parisc-linux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.13 (2006-08-11) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1284 Lines: 39 Connect two machines with a serial cable. On the victim: willy@rowlf:~$ cat /dev/ttyS1 -bash: echo: write error: Input/output error Oops, that's not a serial port. No output on rowlf, as expected. OK, carrying on ... willy@teeth:~$ echo bar >/dev/ttyS0 And yet on rowlf, we now see: foo bar Looks like there's an error path that doesn't throw away data on -EIO. This bug exists on at least these two kernels (because I tested it in both directions: Linux rowlf 2.6.19-rc6-g70d6673f #1 SMP Thu Nov 16 20:49:15 EST 2006 ia64 GNU/Linux Linux teeth 2.6.23-rc3-g68dba7a9-dirty #209 SMP PREEMPT Thu Sep 20 15:57:42 EDT 2007 i686 GNU/Linux Neither kernel has any modifications to its serial code. -- Intel are signing my paycheques ... these opinions are still mine "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/