git: ef8292e33957 - main - Regen

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Thu, 05 Mar 2026 23:48:25 UTC
The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=ef8292e339572dc669409d233f9e3d43f13acb87

commit ef8292e339572dc669409d233f9e3d43f13acb87
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-02-26 18:47:52 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-03-05 23:46:54 +0000

    Regen
---
 lib/libsys/_libsys.h                           |  2 ++
 lib/libsys/syscalls.map                        |  2 ++
 sys/compat/freebsd32/freebsd32_syscall.h       |  3 +-
 sys/compat/freebsd32/freebsd32_syscalls.c      |  1 +
 sys/compat/freebsd32/freebsd32_sysent.c        |  1 +
 sys/compat/freebsd32/freebsd32_systrace_args.c | 38 ++++++++++++++++++++++++++
 sys/kern/init_sysent.c                         |  1 +
 sys/kern/syscalls.c                            |  1 +
 sys/kern/systrace_args.c                       | 38 ++++++++++++++++++++++++++
 sys/sys/syscall.h                              |  3 +-
 sys/sys/syscall.mk                             |  3 +-
 sys/sys/sysproto.h                             |  9 ++++++
 12 files changed, 99 insertions(+), 3 deletions(-)

diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h
index 2af6d2bb22b3..c454fc3fece9 100644
--- a/lib/libsys/_libsys.h
+++ b/lib/libsys/_libsys.h
@@ -474,6 +474,7 @@ typedef int (__sys_jail_remove_jd_t)(int);
 typedef int (__sys_kexec_load_t)(uint64_t, u_long, struct kexec_segment *, u_long);
 typedef int (__sys_pdrfork_t)(int *, int, int);
 typedef int (__sys_pdwait_t)(int, int *, int, struct __wrusage *, struct __siginfo *);
+typedef int (__sys_renameat2_t)(int, const char *, int, const char *, int);
 
 _Noreturn void __sys__exit(int rval);
 int __sys_fork(void);
@@ -883,6 +884,7 @@ int __sys_jail_remove_jd(int fd);
 int __sys_kexec_load(uint64_t entry, u_long nseg, struct kexec_segment * segments, u_long flags);
 int __sys_pdrfork(int * fdp, int pdflags, int rfflags);
 int __sys_pdwait(int fd, int * status, int options, struct __wrusage * wrusage, struct __siginfo * info);
+int __sys_renameat2(int oldfd, const char * old, int newfd, const char * new, int flags);
 __END_DECLS
 
 #endif /* __LIBSYS_H_ */
diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map
index bc8574681132..928817e57b7c 100644
--- a/lib/libsys/syscalls.map
+++ b/lib/libsys/syscalls.map
@@ -823,4 +823,6 @@ FBSDprivate_1.0 {
 	__sys_pdrfork;
 	_pdwait;
 	__sys_pdwait;
+	_renameat2;
+	__sys_renameat2;
 };
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h b/sys/compat/freebsd32/freebsd32_syscall.h
index 67ff022922a8..9fed7ec58669 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -519,4 +519,5 @@
 #define	FREEBSD32_SYS_jail_remove_jd	598
 #define	FREEBSD32_SYS_pdrfork	600
 #define	FREEBSD32_SYS_freebsd32_pdwait	601
-#define	FREEBSD32_SYS_MAXSYSCALL	602
+#define	FREEBSD32_SYS_renameat2	602
+#define	FREEBSD32_SYS_MAXSYSCALL	603
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c b/sys/compat/freebsd32/freebsd32_syscalls.c
index 54b826098a9d..d91d45130c89 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -607,4 +607,5 @@ const char *freebsd32_syscallnames[] = {
 	"#599",			/* 599 = kexec_load */
 	"pdrfork",			/* 600 = pdrfork */
 	"freebsd32_pdwait",			/* 601 = freebsd32_pdwait */
+	"renameat2",			/* 602 = renameat2 */
 };
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c b/sys/compat/freebsd32/freebsd32_sysent.c
index 2b5609e8a317..68c0388eaa79 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -669,4 +669,5 @@ struct sysent freebsd32_sysent[] = {
 	{ .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT },	/* 599 = freebsd32_kexec_load */
 	{ .sy_narg = AS(pdrfork_args), .sy_call = (sy_call_t *)sys_pdrfork, .sy_auevent = AUE_PDRFORK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 600 = pdrfork */
 	{ .sy_narg = AS(freebsd32_pdwait_args), .sy_call = (sy_call_t *)freebsd32_pdwait, .sy_auevent = AUE_PDWAIT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 601 = freebsd32_pdwait */
+	{ .sy_narg = AS(renameat2_args), .sy_call = (sy_call_t *)sys_renameat2, .sy_auevent = AUE_RENAMEAT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 602 = renameat2 */
 };
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c b/sys/compat/freebsd32/freebsd32_systrace_args.c
index 59a74d365e1c..e85cf4765c98 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -3447,6 +3447,17 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 		*n_args = 5;
 		break;
 	}
+	/* renameat2 */
+	case 602: {
+		struct renameat2_args *p = params;
+		iarg[a++] = p->oldfd; /* int */
+		uarg[a++] = (intptr_t)p->old; /* const char * */
+		iarg[a++] = p->newfd; /* int */
+		uarg[a++] = (intptr_t)p->new; /* const char * */
+		iarg[a++] = p->flags; /* int */
+		*n_args = 5;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9314,6 +9325,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 			break;
 		};
 		break;
+	/* renameat2 */
+	case 602:
+		switch (ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland const char *";
+			break;
+		case 4:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -11242,6 +11275,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* renameat2 */
+	case 602:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	default:
 		break;
 	};
diff --git a/sys/kern/init_sysent.c b/sys/kern/init_sysent.c
index 33586db22600..54f1ada9453c 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -668,4 +668,5 @@ struct sysent sysent[] = {
 	{ .sy_narg = AS(kexec_load_args), .sy_call = (sy_call_t *)sys_kexec_load, .sy_auevent = AUE_NULL, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },	/* 599 = kexec_load */
 	{ .sy_narg = AS(pdrfork_args), .sy_call = (sy_call_t *)sys_pdrfork, .sy_auevent = AUE_PDRFORK, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 600 = pdrfork */
 	{ .sy_narg = AS(pdwait_args), .sy_call = (sy_call_t *)sys_pdwait, .sy_auevent = AUE_PDWAIT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 601 = pdwait */
+	{ .sy_narg = AS(renameat2_args), .sy_call = (sy_call_t *)sys_renameat2, .sy_auevent = AUE_RENAMEAT, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },	/* 602 = renameat2 */
 };
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index e2467c39fe6d..cf54a656d639 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -607,4 +607,5 @@ const char *syscallnames[] = {
 	"kexec_load",			/* 599 = kexec_load */
 	"pdrfork",			/* 600 = pdrfork */
 	"pdwait",			/* 601 = pdwait */
+	"renameat2",			/* 602 = renameat2 */
 };
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c
index 8f5a5cd5153d..18c6462d4207 100644
--- a/sys/kern/systrace_args.c
+++ b/sys/kern/systrace_args.c
@@ -3544,6 +3544,17 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, int *n_args)
 		*n_args = 5;
 		break;
 	}
+	/* renameat2 */
+	case 602: {
+		struct renameat2_args *p = params;
+		iarg[a++] = p->oldfd; /* int */
+		uarg[a++] = (intptr_t)p->old; /* const char * */
+		iarg[a++] = p->newfd; /* int */
+		uarg[a++] = (intptr_t)p->new; /* const char * */
+		iarg[a++] = p->flags; /* int */
+		*n_args = 5;
+		break;
+	}
 	default:
 		*n_args = 0;
 		break;
@@ -9488,6 +9499,28 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 			break;
 		};
 		break;
+	/* renameat2 */
+	case 602:
+		switch (ndx) {
+		case 0:
+			p = "int";
+			break;
+		case 1:
+			p = "userland const char *";
+			break;
+		case 2:
+			p = "int";
+			break;
+		case 3:
+			p = "userland const char *";
+			break;
+		case 4:
+			p = "int";
+			break;
+		default:
+			break;
+		};
+		break;
 	default:
 		break;
 	};
@@ -11511,6 +11544,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char *desc, size_t descsz)
 		if (ndx == 0 || ndx == 1)
 			p = "int";
 		break;
+	/* renameat2 */
+	case 602:
+		if (ndx == 0 || ndx == 1)
+			p = "int";
+		break;
 	default:
 		break;
 	};
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index 814437732df3..0bbbf38ceea0 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -540,4 +540,5 @@
 #define	SYS_kexec_load	599
 #define	SYS_pdrfork	600
 #define	SYS_pdwait	601
-#define	SYS_MAXSYSCALL	602
+#define	SYS_renameat2	602
+#define	SYS_MAXSYSCALL	603
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index e9d54983b5c4..5c9bc8b3c0ab 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -443,4 +443,5 @@ MIASM =  \
 	jail_remove_jd.o \
 	kexec_load.o \
 	pdrfork.o \
-	pdwait.o
+	pdwait.o \
+	renameat2.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 0496077bb555..b3819b8f4bda 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -1925,6 +1925,13 @@ struct pdwait_args {
 	char wrusage_l_[PADL_(struct __wrusage *)]; struct __wrusage * wrusage; char wrusage_r_[PADR_(struct __wrusage *)];
 	char info_l_[PADL_(struct __siginfo *)]; struct __siginfo * info; char info_r_[PADR_(struct __siginfo *)];
 };
+struct renameat2_args {
+	char oldfd_l_[PADL_(int)]; int oldfd; char oldfd_r_[PADR_(int)];
+	char old_l_[PADL_(const char *)]; const char * old; char old_r_[PADR_(const char *)];
+	char newfd_l_[PADL_(int)]; int newfd; char newfd_r_[PADR_(int)];
+	char new_l_[PADL_(const char *)]; const char * new; char new_r_[PADR_(const char *)];
+	char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)];
+};
 int	sys__exit(struct thread *, struct _exit_args *);
 int	sys_fork(struct thread *, struct fork_args *);
 int	sys_read(struct thread *, struct read_args *);
@@ -2334,6 +2341,7 @@ int	sys_jail_remove_jd(struct thread *, struct jail_remove_jd_args *);
 int	sys_kexec_load(struct thread *, struct kexec_load_args *);
 int	sys_pdrfork(struct thread *, struct pdrfork_args *);
 int	sys_pdwait(struct thread *, struct pdwait_args *);
+int	sys_renameat2(struct thread *, struct renameat2_args *);
 
 #ifdef COMPAT_43
 
@@ -3335,6 +3343,7 @@ int	freebsd14_setgroups(struct thread *, struct freebsd14_setgroups_args *);
 #define	SYS_AUE_kexec_load	AUE_NULL
 #define	SYS_AUE_pdrfork	AUE_PDRFORK
 #define	SYS_AUE_pdwait	AUE_PDWAIT
+#define	SYS_AUE_renameat2	AUE_RENAMEAT
 
 #undef PAD_
 #undef PADL_