Hi Corinna, I had a look over the patches and they all make sense. I also tested the code to make sure that the `tar xf` regression I needed to be fixed is also addressed by this patch series.
As I don't really know the customs of the Cygwin project, please feel free to add any Reviewed-by:, Acked-by: or whatever footers (or, if none of those are appropriate, I am of course totally okay with no footer at all). Thank you so much for fixing this! Johannes On Mon, 24 Jul 2023, Corinna Vinschen wrote: > Johannes? Ping? > > On Jul 12 14:07, Corinna Vinschen wrote: > > From: Corinna Vinschen <cori...@vinschen.de> > > > > The GLIBC extension AT_EMPTY_PATH allows the functions fchownat > > and fstatat to operate on dirfd alone, if the given pathname is an > > empty string. This also allows to operate on any file type, not > > only directories. > > > > Commit fa84aa4dd2fb4 broke this. It only allows dirfd to be a > > directory in calls to these two functions. > > > > Fix that by handling AT_EMPTY_PATH right in gen_full_path_at. > > A valid dirfd and an empty pathname is now a valid combination > > and, noticably, this returns a valid path in path_ret. That > > in turn allows to remove the additional path generation code > > from the callers. > > > > Fixes: fa84aa4dd2fb ("Cygwin: fix errno values set by readlinkat") > > Reported-by: Johannes Schindelin <johannes.schinde...@gmx.de> > > Signed-off-by: Corinna Vinschen <cori...@vinschen.de> > > > > Corinna Vinschen (5): > > Cygwin: gen_full_path_at: drop never reached code > > Define _AT_NULL_PATHNAME_ALLOWED > > Cygwin: use new _AT_NULL_PATHNAME_ALLOWED flag > > Cygwin: Fix and streamline AT_EMPTY_PATH handling > > Cygwin: add AT_EMPTY_PATH fix to release message > > > > newlib/libc/include/sys/_default_fcntl.h | 11 +++-- > > winsup/cygwin/release/3.4.8 | 4 ++ > > winsup/cygwin/syscalls.cc | 61 ++++++------------------ > > 3 files changed, 25 insertions(+), 51 deletions(-) > > > > -- > > 2.40.1 >