Re: A patch for the file kernel/fork.c

From: Chris Wedgwood
Date: Wed May 04 2005 - 13:44:27 EST


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.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/