From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [PATCH] xencons missing string allocation Date: Fri, 09 Dec 2005 13:37:33 -0700 Message-ID: <1134160653.6463.6.camel@tdi> References: <1134153451.6136.14.camel@tdi> <20051209185448.GD9830@granada.merseine.nu> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20051209185448.GD9830@granada.merseine.nu> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Muli Ben-Yehuda Cc: xen-devel List-Id: xen-devel@lists.xenproject.org On Fri, 2005-12-09 at 20:54 +0200, Muli Ben-Yehuda wrote: > On Fri, Dec 09, 2005 at 11:37:31AM -0700, Alex Williamson wrote: > > > > > I was trying to boot dom0 w/ "xencons=ttyS1 console=ttyS1". It gives > > some weird error messages: > > > > Warning: dev (ttyS2) tty->count(2) != #fd's(1) in release_dev > > Warning: dev (ttyS2) tty->count(3) != #fd's(1) in tty_open > > > > And blows up with a page fault. The page fault is because we don't > > actually allocate a buffer for the tty driver name. > > Errr... the patch looks curious. Why does it work when ->name points > to the heap but not when it points to the data segment? they should be > equivalent and many tty drivers appear to set ->name to the data > segment. Is something trying to modify xencons_driver->name later? You're right, I guess a lot of tty/char drivers seem to have the name on the heap. However, it would suggest there's a path where the name is referenced outside of the context of that function since it prevents a page fault. I'll keep looking to make sure I'm not just getting lucky. > (also, do you know why do we need the fugly DRV() macro in that code?) No idea, I'm not a fan either. Thanks, Alex -- Alex Williamson HP Linux & Open Source Lab