nOn 08/18/2011 05:31 PM, Kevin Day wrote:
> I am using a custom Hardened Linux From Scratch like uClibc based system....
> Attached is my strace

Thanks, the crucial part of that strace seems to be here:

> utimensat(AT_FDCWD, "directory/3", {{1313713307, 205592471}, {1313713243, 
> 0}}, AT_SYMLINK_NOFOLLOW) = 0
> fchownat(AT_FDCWD, "directory/3", 0, 0, AT_SYMLINK_NOFOLLOW) = 0
> fchmodat(AT_FDCWD, "directory/3", 0777) = -1 ENOENT (No such file or 
> directory)

utimensat and fchownat are being passed the AT_SYMLINK_NOFOLLOW flag,
which is correct, but fchmodat is not being passed a flag.  This
contradicts the POSIX.1-2008 spec for fchmodat
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchmodat.html>.

Can you please check <sys/stat.h>'s declaration of fchmodat?  I presume that
it agrees with POSIX (otherwise there would have been a compile-time failure)
but let's make sure.

Most likely your custom kernel and/or C library 1isn't implementing fchmodat
according to POSIX.  Can you please look into that?


Reply via email to