From 0b176595ca1610037d1175e1786d1a8aff1fb43f Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Tue, 6 Aug 2024 21:42:43 -0700 Subject: [PATCH] kexec.c: add MFD_NOEXEC_SEAL flag explicitly Add MFD_NOEXEC_SEAL to avoid kernel warning like below: kexec[970]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set For old kernels, there will be no MFD_NOEXEC_SEAL definition, so fallback to define it to 0. Upstream-Status: Submitted [https://github.com/horms/kexec-tools/pull/7] Signed-off-by: Chen Qi --- kexec/kexec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kexec/kexec.c b/kexec/kexec.c index 6bf12d7..2f8e7cc 100644 --- a/kexec/kexec.c +++ b/kexec/kexec.c @@ -61,6 +61,10 @@ #define KEXEC_LOADED_PATH "/sys/kernel/kexec_loaded" #define KEXEC_CRASH_LOADED_PATH "/sys/kernel/kexec_crash_loaded" +#ifndef MFD_NOEXEC_SEAL +#define MFD_NOEXEC_SEAL 0 +#endif + unsigned long long mem_min = 0; unsigned long long mem_max = ULONG_MAX; unsigned long elfcorehdrsz = 0; @@ -661,7 +665,7 @@ static int copybuf_memfd(const char *kernel_buf, size_t size) { int fd, count; - fd = memfd_create("kernel", MFD_ALLOW_SEALING); + fd = memfd_create("kernel", MFD_ALLOW_SEALING | MFD_NOEXEC_SEAL); if (fd == -1) return fd;