Linux: drop O_PATH usage

O_PATH is available since Linux 2.6.39, but we are using fstat(2) on the
returned file descriptor in LinuxProcessList_statProcessDir(), which
is only supported since Linux 3.6.

Fixes #534
This commit is contained in:
Christian Göttsche 2021-06-09 10:55:22 +02:00 committed by BenBE
parent 8154125d4b
commit faabbaa71e
1 changed files with 1 additions and 7 deletions

View File

@ -60,12 +60,6 @@ in the source distribution for its full text.
#endif #endif
// CentOS 6's kernel doesn't provide a definition of O_PATH
// based on definition taken from uapi/asm-generic/fcnth.h in Linux kernel tree
#ifndef O_PATH
# define O_PATH 010000000
#endif
static long long btime = -1; static long long btime = -1;
static long jiffy; static long jiffy;
@ -1313,7 +1307,7 @@ static bool LinuxProcessList_recurseProcTree(LinuxProcessList* this, openat_arg_
proc->isUserlandThread = proc->pid != proc->tgid; proc->isUserlandThread = proc->pid != proc->tgid;
#ifdef HAVE_OPENAT #ifdef HAVE_OPENAT
int procFd = openat(dirFd, entry->d_name, O_PATH | O_DIRECTORY | O_NOFOLLOW); int procFd = openat(dirFd, entry->d_name, O_RDONLY | O_DIRECTORY | O_NOFOLLOW);
if (procFd < 0) if (procFd < 0)
goto errorReadingProcess; goto errorReadingProcess;
#else #else