> Hi Richard,
> I sent Heinz a patch to try out, and if you have a similar problem
> perhaps you could test it as well? I've appended the text of my prior
> message.
>From the first view this looks good. The problem was the missing ddrop().
> Does your /proc code install a custom inode_operations in the inodes?
No it doesnt, it uses the create_proc_entry/remove_proc_entry interface
from fs/proc/generic.c
The problem manifested in having two files with the same inode, catting
the first gives contents of the second and other weirdness.
Another problem related to proc and binfmt_misc is a race condition I
can trigger (by doing extremly stress testing on the binfmt_misc interface)
is removing the binfmt_entry (and freeing the proc_dir_entry) while
another process has opened the file, the subsequent catting of the file
leads to an oops (obviously, the proc_dir_entry and the binfmt data
structure are no longer there). This race condition is there for every
proc file that gets removed, but its really easy to tigger with binfmt_misc.
(This one is probably not worth fixing)
Richard.