[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: fchmodat.c & lchmod.c - O_PATH & AT_EMPTY_PATH on older kernels
From: |
Paul Eggert |
Subject: |
Re: fchmodat.c & lchmod.c - O_PATH & AT_EMPTY_PATH on older kernels |
Date: |
Sat, 11 Jun 2022 17:05:48 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 |
On 6/8/22 13:27, Lance Fredrickson wrote:
Would be nice to see a fix upstream before more projects update gnulib
and the issue becomes broader.
It sounds like a source-code configuration issue, as your platform's
headers in /usr/include correspond to a kernel newer than what you're
running (which is not supported in general).
That being said, it might not hurt to simplify this messy old code so
that it's more portable to messy old platforms. Also, now that I'm
thinking about it, the Gnulib code didn't work if fstatat fails with
EOVERFLOW and should be using readlinkat instead. Please try the first
attached patch, which I've installed in Gnulib. I also installed the 2nd
attached patch which is just a doc update.
0001-fchmodat-port-to-old-Linux-kernel-newer-headers.patch
Description: Text Data
0002-fcntl-document-O_PATH.patch
Description: Text Data