[lkml]   [2009]   [Dec]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [Bugme-new] [Bug 14832] New: futimens (AT_FDCWD, arg) should fail
Eric Blake <> 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

[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:
> 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
>, where this test (part of coreutils' configure
> script) failed with status 2:

OGAWA Hirofumi <>

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