lkml.org 
[lkml]   [2009]   [Dec]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [Bugme-new] [Bug 14832] New: futimens (AT_FDCWD, arg) should fail
Date
Eric Blake <ebb9@byu.net> writes:

>> afacit, if filename==NULL and dfd==-1 then fget() will return NULL and
>> the syscall returns -EBAFD.
>
> Yes, that's true if dfd==-1. But My complaint was not about dfd==-1, but
> about dfd==AT_FDCWD, in which case, this block of code is skipped, and you
> end up operating on the current directory ".". My point is that the line:
> if (filename == NULL && dfd != AT_FDCWD) {
> should probably be:
> if (filename == NULL) {
> assuming that fget(AT_FDCWD) likewise fails.

No, it changes utimensat() behavior. If error was EBADF, it seems fd
shouldn't be AT_FDCWD. So, this behavior would be right thing as
utimensat().

[EBADF] The path argument does not specify an absolute path and the fd
argument is neither AT_FDCWD nor a valid file descriptor open for
reading or searching.

>> Your report doesn't tell us what kernel version you're testing. We did
>> fix a few things ni this area, but it was a long time ago.
>
> Yesterday, Ulrich patched glibc to avoid the issue from the library side
> of things (I first raised the report against glibc 2 months ago, along
> with a proposed patch:
> http://sources.redhat.com/bugzilla/show_bug.cgi?id=10992). But there is
> still the case of newer kernels and unpatched glibc, where it would also
> be nice to patch the kernel. I reproduced the bug on
> 2.6.31.6-166.fc12.i686, where this test (part of coreutils' configure
> script) failed with status 2:

--
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>


\
 
 \ /
  Last update: 2009-12-24 12:05    [W:0.024 / U:13.680 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site