Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261307AbVEDTE4 (ORCPT ); Wed, 4 May 2005 15:04:56 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261388AbVEDTE4 (ORCPT ); Wed, 4 May 2005 15:04:56 -0400 Received: from p4.gsnoc.net ([209.51.147.210]:34263 "EHLO p4.gsnoc.net") by vger.kernel.org with ESMTP id S261307AbVEDTEv (ORCPT ); Wed, 4 May 2005 15:04:51 -0400 Message-ID: <42791CD2.5070408@cachola.com.br> Date: Wed, 04 May 2005 16:04:50 -0300 From: =?ISO-8859-1?Q?Andr=E9_Pereira_de_Almeida?= User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.7) Gecko/20050420 Debian/1.7.7-2 X-Accept-Language: en MIME-Version: 1.0 To: Chris Wedgwood CC: linux-kernel@vger.kernel.org Subject: Re: A patch for the file kernel/fork.c References: <4278E03A.1000605@cachola.com.br> <20050504175457.GA31789@taniwha.stupidest.org> <427913E4.3070908@cachola.com.br> <20050504184318.GA644@taniwha.stupidest.org> In-Reply-To: <20050504184318.GA644@taniwha.stupidest.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - p4.gsnoc.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - cachola.com.br X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2040 Lines: 67 Chris Wedgwood wrote: >On Wed, May 04, 2005 at 03:26:44PM -0300, Andr? Pereira de Almeida wrote: > > > >>>>- if (tsk->clear_child_tid && atomic_read(&mm->mm_users) > 1) { >>>>+ if (mm && tsk->clear_child_tid && atomic_read(&mm->mm_users) > 1) >>>> >>>> > > > >>In a preemptible kernel with the serport module and a serial port try to >>run the following program: >> >>int main(int argc, char **argv) >>{ >> int ldisc,fd; >> >> fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NONBLOCK); >> ldisc = N_MOUSE; >> ioctl(fd, TIOCSETD, &ldisc); >> read(fd, NULL, 0); >> return 0; >>} >> >>and kill it. In my case it will hang the computer. I think this is >>a problem with the serport module. With this patch, the serial mouse >>stop working, but the computer don't hang. >> >> > >then above something like: > > BUG_ON(!mm); > >or something might be better and eyeball the stack trace. > > In my example, a stack trace will be already generated by an oops: [4300748.423000] Unable to handle kernel paging request at virtual address 6b6b6b7b [4300748.423000] printing eip: [4300748.423000] d0927366 [4300748.423000] *pde = 00000000 [4300748.423000] Oops: 0000 [#1] [4300748.423000] PREEMPT and so on, with a call trace: [4300748.423000] Call Trace: [4300748.423000] [] show_stack+0x7a/0x90 [4300748.423000] [] show_registers+0x14d/0x1b0 [4300748.423000] [] die+0x14c/0x2c0 [4300748.423000] [] do_page_fault+0x31f/0x638 [4300748.423000] [] error_code+0x4f/0x54 [4300748.423000] [] tty_wakeup+0x5d/0x60 I think that maybe it's good to put a: WARN_ON(!mm); but a BUG_ON or without this patch, the kernel will halt, even if the problem is not so severe. Andr?. - 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/