The branch main has been updated by kevans:

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

commit 10708fdc0b4c0ed92b7e556a04f81b011fd7f8d7
Author:     Kyle Evans <kev...@freebsd.org>
AuthorDate: 2025-08-15 04:06:10 +0000
Commit:     Kyle Evans <kev...@freebsd.org>
CommitDate: 2025-08-15 04:06:20 +0000

    sysent: regenerate after bumping setgroups/getgroups
---
 lib/libsys/_libsys.h                           |   8 +-
 lib/libsys/syscalls.map                        |   8 +-
 sys/compat/freebsd32/freebsd32_syscall.h       |   8 +-
 sys/compat/freebsd32/freebsd32_syscalls.c      |   6 +-
 sys/compat/freebsd32/freebsd32_sysent.c        |   6 +-
 sys/compat/freebsd32/freebsd32_systrace_args.c | 104 ++++++++++++-------------
 sys/kern/init_sysent.c                         |   6 +-
 sys/kern/syscalls.c                            |   6 +-
 sys/kern/systrace_args.c                       | 104 ++++++++++++-------------
 sys/sys/syscall.h                              |   8 +-
 sys/sys/syscall.mk                             |   8 +-
 sys/sys/sysproto.h                             |  36 ++++++---
 12 files changed, 167 insertions(+), 141 deletions(-)

diff --git a/lib/libsys/_libsys.h b/lib/libsys/_libsys.h
index 2f89e8fea92b..34eebc1aa67a 100644
--- a/lib/libsys/_libsys.h
+++ b/lib/libsys/_libsys.h
@@ -121,8 +121,6 @@ typedef int (__sys_munmap_t)(void *, size_t);
 typedef int (__sys_mprotect_t)(void *, size_t, int);
 typedef int (__sys_madvise_t)(void *, size_t, int);
 typedef int (__sys_mincore_t)(const void *, size_t, char *);
-typedef int (__sys_getgroups_t)(int, gid_t *);
-typedef int (__sys_setgroups_t)(int, const gid_t *);
 typedef int (__sys_getpgrp_t)(void);
 typedef int (__sys_setpgid_t)(int, int);
 typedef int (__sys_setitimer_t)(int, const struct itimerval *, struct 
itimerval *);
@@ -468,6 +466,8 @@ typedef int (__sys_setcred_t)(u_int, const struct setcred 
*, size_t);
 typedef int (__sys_exterrctl_t)(u_int, u_int, void *);
 typedef int (__sys_inotify_add_watch_at_t)(int, int, const char *, uint32_t);
 typedef int (__sys_inotify_rm_watch_t)(int, int);
+typedef int (__sys_getgroups_t)(int, gid_t *);
+typedef int (__sys_setgroups_t)(int, const gid_t *);
 
 _Noreturn void __sys__exit(int rval);
 int __sys_fork(void);
@@ -525,8 +525,6 @@ int __sys_munmap(void * addr, size_t len);
 int __sys_mprotect(void * addr, size_t len, int prot);
 int __sys_madvise(void * addr, size_t len, int behav);
 int __sys_mincore(const void * addr, size_t len, char * vec);
-int __sys_getgroups(int gidsetsize, gid_t * gidset);
-int __sys_setgroups(int gidsetsize, const gid_t * gidset);
 int __sys_getpgrp(void);
 int __sys_setpgid(int pid, int pgid);
 int __sys_setitimer(int which, const struct itimerval * itv, struct itimerval 
* oitv);
@@ -872,6 +870,8 @@ int __sys_setcred(u_int flags, const struct setcred * 
wcred, size_t size);
 int __sys_exterrctl(u_int op, u_int flags, void * ptr);
 int __sys_inotify_add_watch_at(int fd, int dfd, const char * path, uint32_t 
mask);
 int __sys_inotify_rm_watch(int fd, int wd);
+int __sys_getgroups(int gidsetsize, gid_t * gidset);
+int __sys_setgroups(int gidsetsize, const gid_t * gidset);
 __END_DECLS
 
 #endif /* __LIBSYS_H_ */
diff --git a/lib/libsys/syscalls.map b/lib/libsys/syscalls.map
index dbb011343c8f..4cf80a2ffc69 100644
--- a/lib/libsys/syscalls.map
+++ b/lib/libsys/syscalls.map
@@ -117,10 +117,6 @@ FBSDprivate_1.0 {
        __sys_madvise;
        _mincore;
        __sys_mincore;
-       _getgroups;
-       __sys_getgroups;
-       _setgroups;
-       __sys_setgroups;
        _getpgrp;
        __sys_getpgrp;
        _setpgid;
@@ -813,4 +809,8 @@ FBSDprivate_1.0 {
        __sys_inotify_add_watch_at;
        _inotify_rm_watch;
        __sys_inotify_rm_watch;
+       _getgroups;
+       __sys_getgroups;
+       _setgroups;
+       __sys_setgroups;
 };
diff --git a/sys/compat/freebsd32/freebsd32_syscall.h 
b/sys/compat/freebsd32/freebsd32_syscall.h
index 971510ebb6b6..90cd21a80923 100644
--- a/sys/compat/freebsd32/freebsd32_syscall.h
+++ b/sys/compat/freebsd32/freebsd32_syscall.h
@@ -83,8 +83,8 @@
                                /* 76 is obsolete vhangup */
                                /* 77 is obsolete vlimit */
 #define        FREEBSD32_SYS_mincore   78
-#define        FREEBSD32_SYS_getgroups 79
-#define        FREEBSD32_SYS_setgroups 80
+#define        FREEBSD32_SYS_freebsd14_getgroups       79
+#define        FREEBSD32_SYS_freebsd14_setgroups       80
 #define        FREEBSD32_SYS_getpgrp   81
 #define        FREEBSD32_SYS_setpgid   82
 #define        FREEBSD32_SYS_freebsd32_setitimer       83
@@ -513,4 +513,6 @@
 #define        FREEBSD32_SYS_exterrctl 592
 #define        FREEBSD32_SYS_inotify_add_watch_at      593
 #define        FREEBSD32_SYS_inotify_rm_watch  594
-#define        FREEBSD32_SYS_MAXSYSCALL        595
+#define        FREEBSD32_SYS_getgroups 595
+#define        FREEBSD32_SYS_setgroups 596
+#define        FREEBSD32_SYS_MAXSYSCALL        597
diff --git a/sys/compat/freebsd32/freebsd32_syscalls.c 
b/sys/compat/freebsd32/freebsd32_syscalls.c
index 79c414b675b1..f0f8d26554b5 100644
--- a/sys/compat/freebsd32/freebsd32_syscalls.c
+++ b/sys/compat/freebsd32/freebsd32_syscalls.c
@@ -84,8 +84,8 @@ const char *freebsd32_syscallnames[] = {
        "obs_vhangup",                  /* 76 = obsolete vhangup */
        "obs_vlimit",                   /* 77 = obsolete vlimit */
        "mincore",                      /* 78 = mincore */
-       "getgroups",                    /* 79 = getgroups */
-       "setgroups",                    /* 80 = setgroups */
+       "compat14.getgroups",           /* 79 = freebsd14 getgroups */
+       "compat14.setgroups",           /* 80 = freebsd14 setgroups */
        "getpgrp",                      /* 81 = getpgrp */
        "setpgid",                      /* 82 = setpgid */
        "freebsd32_setitimer",                  /* 83 = freebsd32_setitimer */
@@ -600,4 +600,6 @@ const char *freebsd32_syscallnames[] = {
        "exterrctl",                    /* 592 = exterrctl */
        "inotify_add_watch_at",                 /* 593 = inotify_add_watch_at */
        "inotify_rm_watch",                     /* 594 = inotify_rm_watch */
+       "getgroups",                    /* 595 = getgroups */
+       "setgroups",                    /* 596 = setgroups */
 };
diff --git a/sys/compat/freebsd32/freebsd32_sysent.c 
b/sys/compat/freebsd32/freebsd32_sysent.c
index 1a4b0d87722c..12f1a346c3e9 100644
--- a/sys/compat/freebsd32/freebsd32_sysent.c
+++ b/sys/compat/freebsd32/freebsd32_sysent.c
@@ -146,8 +146,8 @@ 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 },     /* 76 = obsolete vhangup */
        { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, 
.sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT },     /* 77 = obsolete vlimit */
        { .sy_narg = AS(mincore_args), .sy_call = (sy_call_t *)sys_mincore, 
.sy_auevent = AUE_MINCORE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = 
SY_THR_STATIC },        /* 78 = mincore */
-       { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, 
.sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = 
SY_THR_STATIC },  /* 79 = getgroups */
-       { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, 
.sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },       
/* 80 = setgroups */
+       { compat14(AS(freebsd14_getgroups_args),getgroups), .sy_auevent = 
AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },      
/* 79 = freebsd14 getgroups */
+       { compat14(AS(freebsd14_setgroups_args),setgroups), .sy_auevent = 
AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },   /* 80 = freebsd14 
setgroups */
        { .sy_narg = 0, .sy_call = (sy_call_t *)sys_getpgrp, .sy_auevent = 
AUE_GETPGRP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },       /* 
81 = getpgrp */
        { .sy_narg = AS(setpgid_args), .sy_call = (sy_call_t *)sys_setpgid, 
.sy_auevent = AUE_SETPGRP, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },     /* 
82 = setpgid */
        { .sy_narg = AS(freebsd32_setitimer_args), .sy_call = (sy_call_t 
*)freebsd32_setitimer, .sy_auevent = AUE_SETITIMER, .sy_flags = SYF_CAPENABLED, 
.sy_thrcnt = SY_THR_STATIC },  /* 83 = freebsd32_setitimer */
@@ -662,4 +662,6 @@ struct sysent freebsd32_sysent[] = {
        { .sy_narg = AS(exterrctl_args), .sy_call = (sy_call_t *)sys_exterrctl, 
.sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC 
},       /* 592 = exterrctl */
        { .sy_narg = AS(inotify_add_watch_at_args), .sy_call = (sy_call_t 
*)sys_inotify_add_watch_at, .sy_auevent = AUE_INOTIFY, .sy_flags = 
SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },      /* 593 = 
inotify_add_watch_at */
        { .sy_narg = AS(inotify_rm_watch_args), .sy_call = (sy_call_t 
*)sys_inotify_rm_watch, .sy_auevent = AUE_INOTIFY, .sy_flags = SYF_CAPENABLED, 
.sy_thrcnt = SY_THR_STATIC },      /* 594 = inotify_rm_watch */
+       { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, 
.sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = 
SY_THR_STATIC },  /* 595 = getgroups */
+       { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, 
.sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },       
/* 596 = setgroups */
 };
diff --git a/sys/compat/freebsd32/freebsd32_systrace_args.c 
b/sys/compat/freebsd32/freebsd32_systrace_args.c
index f9dc514bee7d..e471c5148021 100644
--- a/sys/compat/freebsd32/freebsd32_systrace_args.c
+++ b/sys/compat/freebsd32/freebsd32_systrace_args.c
@@ -457,22 +457,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, 
int *n_args)
                *n_args = 3;
                break;
        }
-       /* getgroups */
-       case 79: {
-               struct getgroups_args *p = params;
-               iarg[a++] = p->gidsetsize; /* int */
-               uarg[a++] = (intptr_t)p->gidset; /* gid_t * */
-               *n_args = 2;
-               break;
-       }
-       /* setgroups */
-       case 80: {
-               struct setgroups_args *p = params;
-               iarg[a++] = p->gidsetsize; /* int */
-               uarg[a++] = (intptr_t)p->gidset; /* const gid_t * */
-               *n_args = 2;
-               break;
-       }
        /* getpgrp */
        case 81: {
                *n_args = 0;
@@ -3413,6 +3397,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, 
int *n_args)
                *n_args = 2;
                break;
        }
+       /* getgroups */
+       case 595: {
+               struct getgroups_args *p = params;
+               iarg[a++] = p->gidsetsize; /* int */
+               uarg[a++] = (intptr_t)p->gidset; /* gid_t * */
+               *n_args = 2;
+               break;
+       }
+       /* setgroups */
+       case 596: {
+               struct setgroups_args *p = params;
+               iarg[a++] = p->gidsetsize; /* int */
+               uarg[a++] = (intptr_t)p->gidset; /* const gid_t * */
+               *n_args = 2;
+               break;
+       }
        default:
                *n_args = 0;
                break;
@@ -4112,32 +4112,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                        break;
                };
                break;
-       /* getgroups */
-       case 79:
-               switch (ndx) {
-               case 0:
-                       p = "int";
-                       break;
-               case 1:
-                       p = "userland gid_t *";
-                       break;
-               default:
-                       break;
-               };
-               break;
-       /* setgroups */
-       case 80:
-               switch (ndx) {
-               case 0:
-                       p = "int";
-                       break;
-               case 1:
-                       p = "userland const gid_t *";
-                       break;
-               default:
-                       break;
-               };
-               break;
        /* getpgrp */
        case 81:
                break;
@@ -9222,6 +9196,32 @@ systrace_entry_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                        break;
                };
                break;
+       /* getgroups */
+       case 595:
+               switch (ndx) {
+               case 0:
+                       p = "int";
+                       break;
+               case 1:
+                       p = "userland gid_t *";
+                       break;
+               default:
+                       break;
+               };
+               break;
+       /* setgroups */
+       case 596:
+               switch (ndx) {
+               case 0:
+                       p = "int";
+                       break;
+               case 1:
+                       p = "userland const gid_t *";
+                       break;
+               default:
+                       break;
+               };
+               break;
        default:
                break;
        };
@@ -9488,16 +9488,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                if (ndx == 0 || ndx == 1)
                        p = "int";
                break;
-       /* getgroups */
-       case 79:
-               if (ndx == 0 || ndx == 1)
-                       p = "int";
-               break;
-       /* setgroups */
-       case 80:
-               if (ndx == 0 || ndx == 1)
-                       p = "int";
-               break;
        /* getpgrp */
        case 81:
        /* setpgid */
@@ -11130,6 +11120,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                if (ndx == 0 || ndx == 1)
                        p = "int";
                break;
+       /* getgroups */
+       case 595:
+               if (ndx == 0 || ndx == 1)
+                       p = "int";
+               break;
+       /* setgroups */
+       case 596:
+               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 c0a5479c9634..fcd232cde21e 100644
--- a/sys/kern/init_sysent.c
+++ b/sys/kern/init_sysent.c
@@ -145,8 +145,8 @@ struct sysent sysent[] = {
        { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, 
.sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT },     /* 76 = obsolete vhangup */
        { .sy_narg = 0, .sy_call = (sy_call_t *)nosys, .sy_auevent = AUE_NULL, 
.sy_flags = 0, .sy_thrcnt = SY_THR_ABSENT },     /* 77 = obsolete vlimit */
        { .sy_narg = AS(mincore_args), .sy_call = (sy_call_t *)sys_mincore, 
.sy_auevent = AUE_MINCORE, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = 
SY_THR_STATIC },        /* 78 = mincore */
-       { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, 
.sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = 
SY_THR_STATIC },  /* 79 = getgroups */
-       { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, 
.sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },       
/* 80 = setgroups */
+       { compat14(AS(freebsd14_getgroups_args),getgroups), .sy_auevent = 
AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },      
/* 79 = freebsd14 getgroups */
+       { compat14(AS(freebsd14_setgroups_args),setgroups), .sy_auevent = 
AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },   /* 80 = freebsd14 
setgroups */
        { .sy_narg = 0, .sy_call = (sy_call_t *)sys_getpgrp, .sy_auevent = 
AUE_GETPGRP, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },       /* 
81 = getpgrp */
        { .sy_narg = AS(setpgid_args), .sy_call = (sy_call_t *)sys_setpgid, 
.sy_auevent = AUE_SETPGRP, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },     /* 
82 = setpgid */
        { .sy_narg = AS(setitimer_args), .sy_call = (sy_call_t *)sys_setitimer, 
.sy_auevent = AUE_SETITIMER, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = 
SY_THR_STATIC },  /* 83 = setitimer */
@@ -661,4 +661,6 @@ struct sysent sysent[] = {
        { .sy_narg = AS(exterrctl_args), .sy_call = (sy_call_t *)sys_exterrctl, 
.sy_auevent = AUE_NULL, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC 
},       /* 592 = exterrctl */
        { .sy_narg = AS(inotify_add_watch_at_args), .sy_call = (sy_call_t 
*)sys_inotify_add_watch_at, .sy_auevent = AUE_INOTIFY, .sy_flags = 
SYF_CAPENABLED, .sy_thrcnt = SY_THR_STATIC },      /* 593 = 
inotify_add_watch_at */
        { .sy_narg = AS(inotify_rm_watch_args), .sy_call = (sy_call_t 
*)sys_inotify_rm_watch, .sy_auevent = AUE_INOTIFY, .sy_flags = SYF_CAPENABLED, 
.sy_thrcnt = SY_THR_STATIC },      /* 594 = inotify_rm_watch */
+       { .sy_narg = AS(getgroups_args), .sy_call = (sy_call_t *)sys_getgroups, 
.sy_auevent = AUE_GETGROUPS, .sy_flags = SYF_CAPENABLED, .sy_thrcnt = 
SY_THR_STATIC },  /* 595 = getgroups */
+       { .sy_narg = AS(setgroups_args), .sy_call = (sy_call_t *)sys_setgroups, 
.sy_auevent = AUE_SETGROUPS, .sy_flags = 0, .sy_thrcnt = SY_THR_STATIC },       
/* 596 = setgroups */
 };
diff --git a/sys/kern/syscalls.c b/sys/kern/syscalls.c
index 09bf4d519927..4122f9261871 100644
--- a/sys/kern/syscalls.c
+++ b/sys/kern/syscalls.c
@@ -84,8 +84,8 @@ const char *syscallnames[] = {
        "obs_vhangup",                  /* 76 = obsolete vhangup */
        "obs_vlimit",                   /* 77 = obsolete vlimit */
        "mincore",                      /* 78 = mincore */
-       "getgroups",                    /* 79 = getgroups */
-       "setgroups",                    /* 80 = setgroups */
+       "compat14.getgroups",           /* 79 = freebsd14 getgroups */
+       "compat14.setgroups",           /* 80 = freebsd14 setgroups */
        "getpgrp",                      /* 81 = getpgrp */
        "setpgid",                      /* 82 = setpgid */
        "setitimer",                    /* 83 = setitimer */
@@ -600,4 +600,6 @@ const char *syscallnames[] = {
        "exterrctl",                    /* 592 = exterrctl */
        "inotify_add_watch_at",                 /* 593 = inotify_add_watch_at */
        "inotify_rm_watch",                     /* 594 = inotify_rm_watch */
+       "getgroups",                    /* 595 = getgroups */
+       "setgroups",                    /* 596 = setgroups */
 };
diff --git a/sys/kern/systrace_args.c b/sys/kern/systrace_args.c
index 4dfc63924da9..2b1ea9eed8d4 100644
--- a/sys/kern/systrace_args.c
+++ b/sys/kern/systrace_args.c
@@ -454,22 +454,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, 
int *n_args)
                *n_args = 3;
                break;
        }
-       /* getgroups */
-       case 79: {
-               struct getgroups_args *p = params;
-               iarg[a++] = p->gidsetsize; /* int */
-               uarg[a++] = (intptr_t)p->gidset; /* gid_t * */
-               *n_args = 2;
-               break;
-       }
-       /* setgroups */
-       case 80: {
-               struct setgroups_args *p = params;
-               iarg[a++] = p->gidsetsize; /* int */
-               uarg[a++] = (intptr_t)p->gidset; /* const gid_t * */
-               *n_args = 2;
-               break;
-       }
        /* getpgrp */
        case 81: {
                *n_args = 0;
@@ -3500,6 +3484,22 @@ systrace_args(int sysnum, void *params, uint64_t *uarg, 
int *n_args)
                *n_args = 2;
                break;
        }
+       /* getgroups */
+       case 595: {
+               struct getgroups_args *p = params;
+               iarg[a++] = p->gidsetsize; /* int */
+               uarg[a++] = (intptr_t)p->gidset; /* gid_t * */
+               *n_args = 2;
+               break;
+       }
+       /* setgroups */
+       case 596: {
+               struct setgroups_args *p = params;
+               iarg[a++] = p->gidsetsize; /* int */
+               uarg[a++] = (intptr_t)p->gidset; /* const gid_t * */
+               *n_args = 2;
+               break;
+       }
        default:
                *n_args = 0;
                break;
@@ -4199,32 +4199,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                        break;
                };
                break;
-       /* getgroups */
-       case 79:
-               switch (ndx) {
-               case 0:
-                       p = "int";
-                       break;
-               case 1:
-                       p = "userland gid_t *";
-                       break;
-               default:
-                       break;
-               };
-               break;
-       /* setgroups */
-       case 80:
-               switch (ndx) {
-               case 0:
-                       p = "int";
-                       break;
-               case 1:
-                       p = "userland const gid_t *";
-                       break;
-               default:
-                       break;
-               };
-               break;
        /* getpgrp */
        case 81:
                break;
@@ -9367,6 +9341,32 @@ systrace_entry_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                        break;
                };
                break;
+       /* getgroups */
+       case 595:
+               switch (ndx) {
+               case 0:
+                       p = "int";
+                       break;
+               case 1:
+                       p = "userland gid_t *";
+                       break;
+               default:
+                       break;
+               };
+               break;
+       /* setgroups */
+       case 596:
+               switch (ndx) {
+               case 0:
+                       p = "int";
+                       break;
+               case 1:
+                       p = "userland const gid_t *";
+                       break;
+               default:
+                       break;
+               };
+               break;
        default:
                break;
        };
@@ -9633,16 +9633,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                if (ndx == 0 || ndx == 1)
                        p = "int";
                break;
-       /* getgroups */
-       case 79:
-               if (ndx == 0 || ndx == 1)
-                       p = "int";
-               break;
-       /* setgroups */
-       case 80:
-               if (ndx == 0 || ndx == 1)
-                       p = "int";
-               break;
        /* getpgrp */
        case 81:
        /* setpgid */
@@ -11365,6 +11355,16 @@ systrace_return_setargdesc(int sysnum, int ndx, char 
*desc, size_t descsz)
                if (ndx == 0 || ndx == 1)
                        p = "int";
                break;
+       /* getgroups */
+       case 595:
+               if (ndx == 0 || ndx == 1)
+                       p = "int";
+               break;
+       /* setgroups */
+       case 596:
+               if (ndx == 0 || ndx == 1)
+                       p = "int";
+               break;
        default:
                break;
        };
diff --git a/sys/sys/syscall.h b/sys/sys/syscall.h
index d703a11fda01..2d6903967e15 100644
--- a/sys/sys/syscall.h
+++ b/sys/sys/syscall.h
@@ -85,8 +85,8 @@
                                /* 76 is obsolete vhangup */
                                /* 77 is obsolete vlimit */
 #define        SYS_mincore     78
-#define        SYS_getgroups   79
-#define        SYS_setgroups   80
+#define        SYS_freebsd14_getgroups 79
+#define        SYS_freebsd14_setgroups 80
 #define        SYS_getpgrp     81
 #define        SYS_setpgid     82
 #define        SYS_setitimer   83
@@ -533,4 +533,6 @@
 #define        SYS_exterrctl   592
 #define        SYS_inotify_add_watch_at        593
 #define        SYS_inotify_rm_watch    594
-#define        SYS_MAXSYSCALL  595
+#define        SYS_getgroups   595
+#define        SYS_setgroups   596
+#define        SYS_MAXSYSCALL  597
diff --git a/sys/sys/syscall.mk b/sys/sys/syscall.mk
index b7ded62cacb4..d1172c2dc7bf 100644
--- a/sys/sys/syscall.mk
+++ b/sys/sys/syscall.mk
@@ -65,8 +65,8 @@ MIASM =  \
        mprotect.o \
        madvise.o \
        mincore.o \
-       getgroups.o \
-       setgroups.o \
+       freebsd14_getgroups.o \
+       freebsd14_setgroups.o \
        getpgrp.o \
        setpgid.o \
        setitimer.o \
@@ -436,4 +436,6 @@ MIASM =  \
        setcred.o \
        exterrctl.o \
        inotify_add_watch_at.o \
-       inotify_rm_watch.o
+       inotify_rm_watch.o \
+       getgroups.o \
+       setgroups.o
diff --git a/sys/sys/sysproto.h b/sys/sys/sysproto.h
index 8d666f9c8ee9..98311a6dbf94 100644
--- a/sys/sys/sysproto.h
+++ b/sys/sys/sysproto.h
@@ -273,14 +273,6 @@ struct mincore_args {
        char len_l_[PADL_(size_t)]; size_t len; char len_r_[PADR_(size_t)];
        char vec_l_[PADL_(char *)]; char * vec; char vec_r_[PADR_(char *)];
 };
-struct getgroups_args {
-       char gidsetsize_l_[PADL_(int)]; int gidsetsize; char 
gidsetsize_r_[PADR_(int)];
-       char gidset_l_[PADL_(gid_t *)]; gid_t * gidset; char 
gidset_r_[PADR_(gid_t *)];
-};
-struct setgroups_args {
-       char gidsetsize_l_[PADL_(int)]; int gidsetsize; char 
gidsetsize_r_[PADR_(int)];
-       char gidset_l_[PADL_(const gid_t *)]; const gid_t * gidset; char 
gidset_r_[PADR_(const gid_t *)];
-};
 struct getpgrp_args {
        syscallarg_t dummy;
 };
@@ -1901,6 +1893,14 @@ struct inotify_rm_watch_args {
        char fd_l_[PADL_(int)]; int fd; char fd_r_[PADR_(int)];
        char wd_l_[PADL_(int)]; int wd; char wd_r_[PADR_(int)];
 };
+struct getgroups_args {
+       char gidsetsize_l_[PADL_(int)]; int gidsetsize; char 
gidsetsize_r_[PADR_(int)];
+       char gidset_l_[PADL_(gid_t *)]; gid_t * gidset; char 
gidset_r_[PADR_(gid_t *)];
+};
+struct setgroups_args {
+       char gidsetsize_l_[PADL_(int)]; int gidsetsize; char 
gidsetsize_r_[PADR_(int)];
+       char gidset_l_[PADL_(const gid_t *)]; const gid_t * gidset; char 
gidset_r_[PADR_(const gid_t *)];
+};
 int    sys__exit(struct thread *, struct _exit_args *);
 int    sys_fork(struct thread *, struct fork_args *);
 int    sys_read(struct thread *, struct read_args *);
@@ -1957,8 +1957,6 @@ int       sys_munmap(struct thread *, struct munmap_args 
*);
 int    sys_mprotect(struct thread *, struct mprotect_args *);
 int    sys_madvise(struct thread *, struct madvise_args *);
 int    sys_mincore(struct thread *, struct mincore_args *);
-int    sys_getgroups(struct thread *, struct getgroups_args *);
-int    sys_setgroups(struct thread *, struct setgroups_args *);
 int    sys_getpgrp(struct thread *, struct getpgrp_args *);
 int    sys_setpgid(struct thread *, struct setpgid_args *);
 int    sys_setitimer(struct thread *, struct setitimer_args *);
@@ -2305,6 +2303,8 @@ int       sys_setcred(struct thread *, struct 
setcred_args *);
 int    sys_exterrctl(struct thread *, struct exterrctl_args *);
 int    sys_inotify_add_watch_at(struct thread *, struct 
inotify_add_watch_at_args *);
 int    sys_inotify_rm_watch(struct thread *, struct inotify_rm_watch_args *);
+int    sys_getgroups(struct thread *, struct getgroups_args *);
+int    sys_setgroups(struct thread *, struct setgroups_args *);
 
 #ifdef COMPAT_43
 
@@ -2799,6 +2799,16 @@ int      freebsd13_swapoff(struct thread *, struct 
freebsd13_swapoff_args *);
 
 #ifdef COMPAT_FREEBSD14
 
+struct freebsd14_getgroups_args {
+       char gidsetsize_l_[PADL_(int)]; int gidsetsize; char 
gidsetsize_r_[PADR_(int)];
+       char gidset_l_[PADL_(gid_t *)]; gid_t * gidset; char 
gidset_r_[PADR_(gid_t *)];
+};
+struct freebsd14_setgroups_args {
+       char gidsetsize_l_[PADL_(int)]; int gidsetsize; char 
gidsetsize_r_[PADR_(int)];
+       char gidset_l_[PADL_(const gid_t *)]; const gid_t * gidset; char 
gidset_r_[PADR_(const gid_t *)];
+};
+int    freebsd14_getgroups(struct thread *, struct freebsd14_getgroups_args *);
+int    freebsd14_setgroups(struct thread *, struct freebsd14_setgroups_args *);
 
 #endif /* COMPAT_FREEBSD14 */
 
@@ -2873,8 +2883,8 @@ int       freebsd13_swapoff(struct thread *, struct 
freebsd13_swapoff_args *);
 #define        SYS_AUE_mprotect        AUE_MPROTECT
 #define        SYS_AUE_madvise AUE_MADVISE
 #define        SYS_AUE_mincore AUE_MINCORE
-#define        SYS_AUE_getgroups       AUE_GETGROUPS
-#define        SYS_AUE_setgroups       AUE_SETGROUPS
+#define        SYS_AUE_freebsd14_getgroups     AUE_GETGROUPS
+#define        SYS_AUE_freebsd14_setgroups     AUE_SETGROUPS
 #define        SYS_AUE_getpgrp AUE_GETPGRP
 #define        SYS_AUE_setpgid AUE_SETPGRP
 #define        SYS_AUE_setitimer       AUE_SETITIMER
@@ -3289,6 +3299,8 @@ int       freebsd13_swapoff(struct thread *, struct 
freebsd13_swapoff_args *);
 #define        SYS_AUE_exterrctl       AUE_NULL
 #define        SYS_AUE_inotify_add_watch_at    AUE_INOTIFY
 #define        SYS_AUE_inotify_rm_watch        AUE_INOTIFY
+#define        SYS_AUE_getgroups       AUE_GETGROUPS
+#define        SYS_AUE_setgroups       AUE_SETGROUPS
 
 #undef PAD_
 #undef PADL_

Reply via email to