lkml.org 
[lkml]   [1998]   [Jul]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: minor patch for 2.1.111 fs/open.c
Bill Hawes writes:
> In reviewing the usage of inuse filps I found a minor race problem in
> do_open. Following an open failure the dentry is dput(), but the
> filp->f_dentry field needs to be cleared first. If this is not done, a
> block in dput() may allow the filp to be observed with a stale dentry
> pointer, and an attempt to dereference it could be a problem.

Could this possibly be related to an ongoing problem I've observed
with corrupted /etc/mtab files? As you know, mount(8) creates
/etc/mtab~ with O_EXCL for locking purposes. I have noticed for a long
time now that sometimes (say when stopping automount daemons) that
/etc/mtab gets corrupted. I've looked at the mount(8) code and it
appears to be doing the correct thing. It may be that there is a race
condition with open(2) and O_EXCL (I have an SMP machine).

Whatever the bug is, it's really annoying, as many times when I reboot
I end up doing fsck, which is not fun when you have a lot of disc :-(
Note that I have about 13 automount daemons running, so if there is a
race condition I'm more likely to hit it than someone with just one or
two.

Regards,

Richard....
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html

\
 
 \ /
  Last update: 2005-03-22 13:43    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site