public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "André Pereira de Almeida" <andre@cachola.com.br>
To: Chris Wedgwood <cw@f00f.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: A patch for the file kernel/fork.c
Date: Wed, 04 May 2005 16:04:50 -0300	[thread overview]
Message-ID: <42791CD2.5070408@cachola.com.br> (raw)
In-Reply-To: <20050504184318.GA644@taniwha.stupidest.org>

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]  [<c0104bfa>] show_stack+0x7a/0x90
[4300748.423000]  [<c0104d7d>] show_registers+0x14d/0x1b0
[4300748.423000]  [<c0104fcc>] die+0x14c/0x2c0
[4300748.423000]  [<c0118b6f>] do_page_fault+0x31f/0x638
[4300748.423000]  [<c01046df>] error_code+0x4f/0x54
[4300748.423000]  [<c02b88fd>] 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é.

  reply	other threads:[~2005-05-04 19:04 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-04 14:46 A patch for the file kernel/fork.c André Pereira de Almeida
2005-05-04 17:54 ` Chris Wedgwood
2005-05-04 18:26   ` André Pereira de Almeida
2005-05-04 18:43     ` Chris Wedgwood
2005-05-04 19:04       ` André Pereira de Almeida [this message]
2005-05-04 19:16         ` Alexander Nyberg
2005-05-04 19:41           ` Andrew Morton
2005-05-04 20:54             ` André Pereira de Almeida
2005-05-04 21:21             ` Alexander Nyberg
2005-05-05 13:48               ` Steven Rostedt
2005-05-05 15:32                 ` Alexander Nyberg
2005-05-07  1:08                   ` Andrew Morton
2005-05-04 19:11     ` Valdis.Kletnieks
2005-05-04 19:34       ` Dmitry Torokhov
2005-05-04 19:35       ` André Pereira de Almeida

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=42791CD2.5070408@cachola.com.br \
    --to=andre@cachola.com.br \
    --cc=cw@f00f.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox