[PATCH v4 0/4] Support opening a symlink with O_PATH | O_NOFOLLOW

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Jan 20 15:07:00 GMT 2020


On Jan 20 14:57, Ken Brown wrote:
> On 1/20/2020 4:56 AM, Corinna Vinschen wrote:
> > On Jan 17 16:10, Ken Brown wrote:
> >> Currently, opening a symlink with O_NOFOLLOW fails with ELOOP.
> >> Following Linux, the first patch in this series allows the call to
> >> succeed if O_PATH is also specified.
> >>
> >> According to the Linux man page for open(2), "the call returns a file
> >> descriptor referring to the symbolic link.  This file descriptor can
> >> be used as the dirfd argument in calls to fchownat(2), fstatat(2),
> >> linkat(2), and readlinkat(2) with an empty pathname to have the calls
> >> operate on the symbolic link."
> >>
> >> The second patch achieves this for readlinkat.  The third patch does
> >> this for fstatat and fchownat by adding support for the AT_EMPTY_PATH
> >> flag.  Nothing needs to be done for linkat, which already supports the
> >> AT_EMPTY_PATH flag.
> >>
> >>
> >> Ken Brown (4):
> >>    Cygwin: allow opening a symlink with O_PATH | O_NOFOLLOW
> >>    Cygwin: readlinkat: allow pathname to be empty
> >>    Cygwin: fstatat, fchownat: support the AT_EMPTY_PATH flag
> >>    Cygwin: document recent changes
> >>
> >>   winsup/cygwin/release/3.1.3 | 19 +++++++++--
> >>   winsup/cygwin/syscalls.cc   | 68 ++++++++++++++++++++++++++++++++-----
> >>   winsup/doc/new-features.xml | 19 +++++++++++
> >>   3 files changed, 94 insertions(+), 12 deletions(-)
> > 
> > This looks good to me.  Please push.  I just wonder if this isn't
> > new feature enough to bump the Cygwin version to 3.2...
> 
> Maybe.  You're in a better position to judge this than I am.  If you decide to 
> do it, I'll tweak the documentation accordingly.

I'm not sure yet.  Just push as is for now.  Tweaking the docs for
3.2 is trivial.


Thanks,
Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20200120/8005d2c2/attachment.sig>


More information about the Cygwin-patches mailing list