> From: Eric Blake [mailto:ebl...@redhat.com] > Sent: Friday, December 16, 2011 2:42 PM > To: Joachim Schmitz > Cc: 'Jim Meyering'; 10...@debbugs.gnu.org; egg...@cs.ucla.edu; bug- > gnu...@gnu.org > Subject: Re: bug#10305: coreutils-8.14, "rm -r" fails with EBADF > > On 12/16/2011 06:02 AM, Joachim Schmitz wrote: > > Hmm, I can dup() an fd for a directory if or had been open()'d > > O_RDONLY, but not if opened O_WRONLY or O_RDWR, I'll get an EISDIR > from open() then. > > But you shouldn't be able to open() a directory O_WRONLY or O_RDWR in the > first place, under POSIX.
Right. > Is this a bug in our open() wrapper for permitting a > bad open() on a directory, which then renders the fd un-dup()able? Or is it > really some other O_* flag causing the issue? It is not O_NOCTTY or O_NONBLOCK and the others (O_SEARCH, O_DIRECTORY, O_NOFOLLOW, O_NOATIME) don't exist here. Bye, Jojo