[pve-devel] [PATCH pve-common] syscall: use mknodat instead of mknod
Kamil Trzcinski
ayufan at ayufan.eu
Mon Aug 11 09:56:14 CEST 2025
On arm64 the `SYS_mknod` is not available,
replace it with use of `SYS_mknodat`.
Signed-off-by: Kamil Trzcinski <ayufan at ayufan.eu>
---
src/PVE/Syscall.pm | 2 +-
src/PVE/Tools.pm | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/PVE/Syscall.pm b/src/PVE/Syscall.pm
index 68e16fe..503d3fe 100644
--- a/src/PVE/Syscall.pm
+++ b/src/PVE/Syscall.pm
@@ -17,7 +17,7 @@ BEGIN {
openat => &SYS_openat,
close => &SYS_close,
mkdirat => &SYS_mkdirat,
- mknod => &SYS_mknod,
+ mknodat => &SYS_mknodat,
faccessat => &SYS_faccessat,
setresuid => &SYS_setresuid,
fallocate => &SYS_fallocate,
diff --git a/src/PVE/Tools.pm b/src/PVE/Tools.pm
index fe9616e..f3c6e81 100644
--- a/src/PVE/Tools.pm
+++ b/src/PVE/Tools.pm
@@ -1817,7 +1817,7 @@ sub mkdirat($$$) {
sub mknod($$$) {
my ($filename, $mode, $dev) = @_;
- return syscall(PVE::Syscall::mknod, $filename, int($mode), int($dev)) == 0;
+ return syscall(PVE::Syscall::mknodat, AT_FDCWD, $filename, int($mode), int($dev)) == 0;
}
sub fchownat($$$$$) {
--
2.47.2
More information about the pve-devel
mailing list