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é.
next prev parent 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