From 118e211269fb4f685f2999157eb4aafc8fdd9423 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 27 Feb 2022 02:40:00 +0100 Subject: guard prlimit, reported by Lance Fredrickson --- libc/sysdeps/linux/common/bits/kernel-features.h | 5 +++++ libc/sysdeps/linux/common/prlimit.c | 3 +++ 2 files changed, 8 insertions(+) (limited to 'libc/sysdeps') diff --git a/libc/sysdeps/linux/common/bits/kernel-features.h b/libc/sysdeps/linux/common/bits/kernel-features.h index f1ebe0204..2f4f407bd 100644 --- a/libc/sysdeps/linux/common/bits/kernel-features.h +++ b/libc/sysdeps/linux/common/bits/kernel-features.h @@ -490,6 +490,11 @@ # define __ASSUME_FALLOCATE 1 #endif +/* prlimit64 is available in 2.6.36. */ +#if __LINUX_KERNEL_VERSION >= 0x020624 +# define __ASSUME_PRLIMIT64 1 +#endif + /* getcpu is a syscall for x86-64 since 3.1. */ #if defined __x86_64__ && __LINUX_KERNEL_VERSION >= 0x030100 # define __ASSUME_GETCPU_SYSCALL 1 diff --git a/libc/sysdeps/linux/common/prlimit.c b/libc/sysdeps/linux/common/prlimit.c index cdb64ba0d..f44dc1664 100644 --- a/libc/sysdeps/linux/common/prlimit.c +++ b/libc/sysdeps/linux/common/prlimit.c @@ -17,7 +17,9 @@ #include #include +#include +#if defined __ASSUME_PRLIMIT64 int prlimit (__pid_t pid, enum __rlimit_resource resource, const struct rlimit *new_rlimit, struct rlimit *old_rlimit) @@ -25,3 +27,4 @@ prlimit (__pid_t pid, enum __rlimit_resource resource, return INLINE_SYSCALL (prlimit64, 4, pid, resource, new_rlimit, old_rlimit); } +#endif -- cgit v1.2.3