[SSI-devel] [ ssic-linux-Bugs-942770 ] open("/etc/ld.so.conf", O_RDONLY|O_EXCL) = -1 EEXIST
Brought to you by:
brucewalker,
rogertsang
From: SourceForge.net <no...@so...> - 2004-05-10 16:59:30
|
Bugs item #942770, was opened at 2004-04-26 23:26 Message generated for change (Comment added) made by jellefoks You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=405834&aid=942770&group_id=32541 Category: Filesystem Group: None Status: Closed Resolution: None Priority: 5 Submitted By: ecoleman (gcc80x86) Assigned to: David B. Zafman (dzafman) Summary: open("/etc/ld.so.conf", O_RDONLY|O_EXCL) = -1 EEXIST Initial Comment: calling open(2) with RDONLY|EXCL is handled incorectly? It returns the error file exists. the only time it should return that error is when O_CREAT and O_EXCL is used together. I've been busy learning the innards of the openssi kernel code these past few weeks, and i think (but not sure) it has something to do with the context symlink code in fs/namei.c and fs/open.c openssi-debian (RC4) `ldconfig -v` to produce the error. i found this bug adding my /usr/X11R6/lib directory to /etc/ld.so.config file ---------------------------------------------------------------------- Comment By: Jelle Foks (jellefoks) Date: 2004-05-10 12:59 Message: Logged In: YES user_id=1038480 How about int cfs_open() in cluster/ssi/cfs/inode.c + if ((filp->f_flags & O_EXCL) + && !(CFS_FLAGS(inode) & CCREATED)) { + error = -EEXIST; + goto out; Perhaps that needs to be changed into something like: + if (((filp->f_flags & O_EXCL) && (filp->f_flags & O_CREAT)) ---------------------------------------------------------------------- Comment By: David B. Zafman (dzafman) Date: 2004-04-30 17:03 Message: Logged In: YES user_id=297844 Fix checked into openssi/kernel/cluster/ssi/cfs/inode.c 1.9.2.8 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=405834&aid=942770&group_id=32541 |