BUG can fill process table

André Cruz (afafc@rnl.ist.utl.pt)
Fri, 3 Aug 2001 13:18:37 +0100

When a process (say dhcpcd) changes the IFF_UP flag to TRUE on an
interface (say eth0) to bring it up, a new process is created named
after the interface (eth0 in this case) and it's PPID is dhcpcd.

If dhcpcd later changes the IFF_UP flag to FALSE to bring the interface
down, the eth0 process dies but stays as a zombie. The problem is that
dhcpcd never receives a sigchld (suposedly eth0 is it's child) and even
if it executes a wait() no process is reaped and wait() returns -1.

The worse part of this is that when dhcpcd wants to bring up the
interface again a NEW eth0 process is created and so this starts to fill
up the process table.

I see two solutions for this: either the interface process start with a
PPID of 1 (I noticed that init has no problems dealing with them when
they die) or dhcpcd should receive a sigchld and be able to reap them.

Btw why are these process even created? 2.2 didn't do it I think.

I don't know where the problem lies so if someone could tell me who to
contact about this that would be great. Or maybe if this is already


André Cruz

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