The open() system call in f8 really broken...

Jakub Jelinek jakub at redhat.com
Thu Aug 16 14:46:17 UTC 2007


On Thu, Aug 16, 2007 at 10:34:03AM -0400, Steve Dickson wrote:
> >Only people that run their $$$$$$ servers on rawhide...
> No.. but they do on RHEL and today's rawhide is tomorrow's RHEL...

Well, next years or so, that's different.  There is plenty of time
to fix these bugs.

> >It is not yet F8test2, there is plenty of time to fix all or most
> >of these bugs still in rawhide.
> >Most uses of open(1) are actually with compile time constant
> >second argument and in that case glibc will issue compile time
> >errors when open ("foo", O_CREAT|O_RDWR); etc. is seen.
> >Only when it is known only at runtime we do runtime checking.
> So is there a possibility of making that runtime check a warning
> instead of an abort?

No.  But if you want to make sure packages you built successfully
against glibc-2.6.90-* or later don't die at runtime for these errors,
it is pretty easy to just check all calls to __open{,at}{,64}_2
functions (i.e. calls which don't pass mode argument to open*
and it is not clear whether O_CREAT is or is not used at compile time),
they will be pretty rare and in each case you can study the code to
determine if the passed flags can contain O_CREAT or not.  If they can,
you must supply the mode argument, if it can't, you are ok.

	Jakub




More information about the Fedora-maintainers mailing list