From 29747255f9672035ccf9cc310b7ff66b1f35f1d2 Mon Sep 17 00:00:00 2001 From: Mathias Krause Date: Tue, 6 Jul 2021 15:27:13 +0200 Subject: compat: account for grsecurity backports and changes grsecurity kernels tend to carry additional backports and changes, like commit b60b87fc2996 ("netlink: add ethernet address policy types") or the SYM_FUNC_* changes. RAP nowadays hooks the latter, therefore no diversion to RAP_ENTRY is needed any more. Instead of relying on the kernel version test, also test for the macros we're about to define to not already be defined to account for these additional changes in the grsecurity patch without breaking compatibility to the older public ones. Also test for CONFIG_PAX instead of RAP_PLUGIN for the timer API related changes as these don't depend on the RAP plugin to be enabled but just a PaX/grsecurity patch to be applied. While there is no preprocessor knob for the latter, use CONFIG_PAX as this will likely be enabled in every kernel that uses the patch. Signed-off-by: Mathias Krause [zx2c4: small changes to include a header nearby a macro def test] Signed-off-by: Jason A. Donenfeld --- src/compat/compat-asm.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/compat/compat-asm.h') diff --git a/src/compat/compat-asm.h b/src/compat/compat-asm.h index fde21da..5bfdb94 100644 --- a/src/compat/compat-asm.h +++ b/src/compat/compat-asm.h @@ -22,7 +22,7 @@ #endif /* PaX compatibility */ -#if defined(RAP_PLUGIN) +#if defined(RAP_PLUGIN) && defined(RAP_ENTRY) #undef ENTRY #define ENTRY RAP_ENTRY #endif @@ -51,7 +51,7 @@ #undef pull #endif -#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 76) && !defined(ISCENTOS8S) +#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 4, 76) && !defined(ISCENTOS8S) && !defined(SYM_FUNC_START) #define SYM_FUNC_START ENTRY #define SYM_FUNC_END ENDPROC #endif -- cgit v1.2.3