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

From: André Pereira de Almeida
Date: Wed May 04 2005 - 14:38:55 EST


Valdis.Kletnieks@xxxxxx wrote:

On Wed, 04 May 2005 15:26:44 -0300, =?ISO-8859-1?Q?Andr=E9_Pereira_de_Almeida?= said:



In a preemptible kernel with the serport module and a serial port try to run the following program:





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.



The fact that the mouse stops working is indicative that this patch doesn't
actually fix the problem, it's just pushing it around in the kernel - sooner
or later something *else* is going to go pear-shaped on the null *mm. The right
fix is to figure out why mm is bogus and fix that issue.


This patch is not to fix this problem, but to minimize a bug in other modules (in this case I think it's in the serport module) and to keep the system working, at least to make a clean shutdown or terminate some important process cleanly.

This patch is in the mm_release that should return a null *mm anyway.

The bogus mm came from a pagefault in the do_exit function in kernel/exit.c that occured after the exit_mm call. This pagefault, in my case, come from a filp_close call that called tty_wakeup. I'm trying to identify this problem, but a pagefault like this may came from several different modules.
André
-
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/