From nobody Thu Mar 5 23:48:25 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fRmSp3KJhz6TsCC for ; Thu, 05 Mar 2026 23:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fRmSp0j7Hz3MCp for ; Thu, 05 Mar 2026 23:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772754506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2wiofUv0kcOKGuCsZZdqFD+I1P7EnDNRM9zHffzIvw=; b=Sth+nDTeQCSQu09SOm/qigfQPcWoCZ/33G0KIkudOfEqYhTs1pB1OwFDyjorNTRV4nwz5F 8Acy7aVhowGhKMc14CxCvcRDhCxDM/aiqniWX9G3f+soDW4nHQYX5EeihS4CjfDERyVDKt JySbziAff3e0sj4YYcX9HaJLPxuy9cp+3D7rLSkaAmeh98//WxMvwISEUuEmhJKytQtTgK vi5lzxL+cCcvuk8OpYXuS1fpA8Uk9IxE9JbyTMuXDD6CsF23EklZTqSQh9NY4VzLJ5c6FX YgZ66hQSCC32k7Qq+Ku+GJUpwyMjUsLNqCpcwKQQjutuB2yYNJy0BlyMG7+i8A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772754506; a=rsa-sha256; cv=none; b=Ri1da0W5HDAZhO3WkbaMeMOI86BlsLJwJfr847UL8i6/916aHDjWw1Ja/g38F/+CPRrCy8 DaY/fs1TPyd9ZuI0bECAukIKBej1KA3E5JwZOff3OqV7zs7kaMhdnnV2CM1LXYgyS/7FOo dJl/6d1fbW8Z892N3YwIFYVv+sMmm8GhUhAmhuyak3ZBAvklTgwTREYouyx1YnyIBaKxXQ kpyRIA2P0fSs3jvk/GF13uNJ/eJZjpad+b13WVfdxHZvmUOH8HtiiVCFoLEt7KvGp8GKef xB2NxAgA5cFvfLl0M5fJ2xDBMGBlP9nG7y/xCIy119fM3TFttUwPL9+L0g+Vpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772754506; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=O2wiofUv0kcOKGuCsZZdqFD+I1P7EnDNRM9zHffzIvw=; b=kxGn03oJb7+gMYAN6tu1ZgjTtzKa//se4SGGvhB1Xn6xV7c+cyiK1W33l3y/n4Cz8So5zr IFTSJOzcyO5YKhk79RGGTE6TjmYkxy56uTzYsxY4MOpI1fBNE3THOACzCjOfs1Etpkugrv VL/93vuzgPKjTg+cqR3+8AWn5zpik19TEEu5zp8igaQxOYlCTGxsN9fD1+mbhCB8/de+wB shPWCW3PkACcfD3037GrQRt+4TLwnP/wE2luZyoKjhoCNitlGUJdYu2haBkp7SAomrl9mP K/ZT3eajymLmXDlyI3seucRvqp7fpRweER9cZkPpETuHJYXUmjKDYzYqhhFEdw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fRmSp03LSzygM for ; Thu, 05 Mar 2026 23:48:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f02d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 05 Mar 2026 23:48:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: ef8292e33957 - main - Regen List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ef8292e339572dc669409d233f9e3d43f13acb87 Auto-Submitted: auto-generated Date: Thu, 05 Mar 2026 23:48:25 +0000 Message-Id: <69aa1649.3f02d.5f09581c@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ef8292e339572dc669409d233f9e3d43f13acb87 commit ef8292e339572dc669409d233f9e3d43f13acb87 Author: Konstantin Belousov AuthorDate: 2026-02-26 18:47:52 +0000 Commit: Konstantin Belousov 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_