LWN.net Logo

POSIX-compliant version of fchmodat with flag argument

From:  Andrew Ayer <agwa@andrewayer.name>
To:  Alexander Viro <viro@zeniv.linux.org.uk>
Subject:  [PATCH 0/2 RESEND] POSIX-compliant version of fchmodat with flag argument
Date:  Thu, 12 Jan 2012 17:53:44 -0800
Message-ID:  <1326419626-22568-1-git-send-email-agwa@andrewayer.name>
Cc:  linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Archive-link:  Article, Thread

Hi,

The below patches implement a 4 argument version of fchmodat (fchmodat4)
that has a flag argument, as specified by POSIX.  This is needed to
implement a proper glibc wrapper.

fchmodat4 supports the same two flags as fchownat: AT_SYMLINK_NOFOLLOW
and AT_EMPTY_PATH.

Besides the POSIX-compliance, this patch will make it possible to
ensure, in a race-free way, that you do not follow symlinks when
chmodding. Previously, you could open a file with O_NOFOLLOW and fchmod
it, but this only worked if you had read or write permissions on the
file.  Now you can open the file with O_PATH|O_NOFOLLOW and do fchmodat
with AT_EMPTY_PATH.

Could this patch be applied?  Any feedback is welcome.

Cheers, 
Andrew
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds