From: Lennart Poettering Date: Mon, 8 Dec 2025 12:33:55 +0000 (+0100) Subject: kernel-image: pass through XAT_FDROOT X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7e64b58f4c1d37a033f63a6dc4a1bfbcea1eef4f;p=thirdparty%2Fsystemd.git kernel-image: pass through XAT_FDROOT --- diff --git a/src/shared/kernel-image.c b/src/shared/kernel-image.c index ed8fde1fb21..d3e18d19f41 100644 --- a/src/shared/kernel-image.c +++ b/src/shared/kernel-image.c @@ -3,6 +3,7 @@ #include "alloc-util.h" #include "env-file.h" #include "fd-util.h" +#include "fs-util.h" #include "kernel-image.h" #include "log.h" #include "pe-binary.h" @@ -134,12 +135,12 @@ int inspect_kernel( _cleanup_close_ int fd = -EBADF; int r; - assert(dir_fd >= 0 || dir_fd == AT_FDCWD); + assert(dir_fd >= 0 || IN_SET(dir_fd, AT_FDCWD, XAT_FDROOT)); assert(filename); - fd = openat(dir_fd, filename, O_RDONLY|O_CLOEXEC); + fd = xopenat(dir_fd, filename, O_RDONLY|O_CLOEXEC); if (fd < 0) - return log_error_errno(errno, "Failed to open kernel image file '%s': %m", filename); + return log_error_errno(fd, "Failed to open kernel image file '%s': %m", filename); r = pe_load_headers(fd, &dos_header, &pe_header); if (r == -EBADMSG) /* not a valid PE file */