Post by Mike Gilbert
The fchmod_opath() function in systemd seems like a hacky workaround
for a limitation in the kernel -- you can't call fchmod() on an fd
opened with O_PATH, and fchmodat() doesn't support the AT_EMPTY_PATH
Has any attempt been made to add this functionality in the kernel? If
someone has already tried and failed, I will refrain from making an
They opened up a couple of syscalls to O_PATH over time. Hence maybe
this actually does work on current kernels, it's worth checking
again. But even if, this wouldn't be good enough for us, since we need
to support older kernels for a while again.
And no, I have not heard of or was involved in any attempt to fix the
kernel in this regard.
Lennart Poettering, Red Hat