Re: [Bugme-new] [Bug 10737] New: pktgen procfs problem
From: Ben Greear <hidden>
Date: 2008-05-19 22:20:38
Eric W. Biederman wrote:
Patrick McHardy [off-list ref] writes:quoted
Patrick McHardy wrote:quoted
quoted
quoted
quoted
I've been looking into the same problem, without much success so far. The problem appears to affect any /proc/net file, but not files outside of /proc/net, so I'm guessing its net-ns related. A testcase found by Ben Greear is opening the file multiple times: # /tmp/open /proc/net/kpktgen_0 => refcnt goes to 1 ^C => refcnt goes to 0 Without ^C and opening the file a second time: # /tmp/open /proc/net/kpktgen_0 => refcnt goes to 2 (sometimes also 11) ^C => refcnt stays at previous value. The refcnt even leaks if the file can't be successfully opened, for example because of lacking permissions.How are you reading the refcount on kpktgen_0? Just a printk in the kernel code?quoted
quoted
Some more information: the problem seems to occur only if the file is opened by two different processes. I'm starting a bisection now.git-bisect identified e9720acd ([NET]: Make /proc/net a symlink on /proc/self/net (v3)) as the guilty commit. I couldn't find the problem in that commit, so someone with a better understanding of how this is supposed to work should look into it.To recap: - The problem is that we get complaints from remove_proc_entry on unload of the pktgen module. - The problem appears to only happen when multiple processes open the file. - The problem only appears after we moved /proc/net into /proc/<pid>/net
Just to be clear, the problem I saw with too many refs would not even let me remove a module. They may be the same root problem, but not necessarily. I also saw the problem on multiple modules with proc/net/ file systems, not just pktgen. The part about multiple processes opening the file is definitely true with my bug report, but based on email I saw, I'm not sure it is true for the remove_proc_entry problem reported by someone else. Thanks, Ben -- Ben Greear [off-list ref] Candela Technologies Inc http://www.candelatech.com