Mark Ellis wrote:
> 
> Hi all, consistently getting the following when pppd is terminated.

When pppd downs the ppp0 device, unregister_netdevice() is
trying to run /sbin/hotplug in a new kernel thread.  That
thread's `files' structure is copied from pppd, but it is
NULL.  Presumably pppd's files pointer was also NULL.

Try this:

--- linux-2.4.0-test11-ac2/kernel/kmod.c        Tue Nov 21 20:11:21 2000
+++ linux-akpm/kernel/kmod.c    Fri Nov 24 23:03:34 2000
@@ -99,8 +99,10 @@
        flush_signal_handlers(current);
        spin_unlock_irq(&current->sigmask_lock);
 
-       for (i = 0; i < current->files->max_fds; i++ ) {
-               if (current->files->fd[i]) close(i);
+       if (current->files) {
+               for (i = 0; i < current->files->max_fds; i++ ) {
+                       if (current->files->fd[i]) close(i);
+               }
        }
 
        /* Drop the "current user" thing */


Not my area, but I don't think exec_usermodehelper() should assume
that current->files is always valid.

Al, is this correct?  If so, does daemonize() also need this test?
If not, then how did this thread get (current->files == NULL)?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to