Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Dec 2021 18:47:26 GMT
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: adb12675055f - main - syscall_args: remove MAXARGS define
Message-ID:  <202112081847.1B8IlQ2C010710@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks:

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

commit adb12675055fb7114f50f8e809f68ed316fb8ec4
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2021-12-08 18:45:15 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2021-12-08 18:45:41 +0000

    syscall_args: remove MAXARGS define
    
    Use nitems instead and just use a magic `8` for the size of the args
    array.  MAXARGS was rarely used (only in arm64 code) and is an overly
    generic name to polute the namespace with.
    
    Requested by:   kib in D33308
---
 sys/arm64/arm64/trap.c         | 2 +-
 sys/arm64/linux/linux_sysvec.c | 7 ++++---
 sys/sys/proc.h                 | 3 +--
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c
index 891f1024232a..2b357d723e15 100644
--- a/sys/arm64/arm64/trap.c
+++ b/sys/arm64/arm64/trap.c
@@ -159,7 +159,7 @@ cpu_fetch_syscall_args(struct thread *td)
 	KASSERT(sa->callp->sy_narg <= nitems(sa->args),
 	    ("Syscall %d takes too many arguments", sa->code));
 
-	memcpy(dst_ap, ap, (MAXARGS - 1) * sizeof(register_t));
+	memcpy(dst_ap, ap, (nitems(sa->args) - 1) * sizeof(register_t));
 
 	td->td_retval[0] = 0;
 	td->td_retval[1] = 0;
diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c
index c88442a19c53..a63c82b38c73 100644
--- a/sys/arm64/linux/linux_sysvec.c
+++ b/sys/arm64/linux/linux_sysvec.c
@@ -160,9 +160,10 @@ linux_fetch_syscall_args(struct thread *td)
 	else
 		sa->callp = &p->p_sysent->sv_table[sa->code];
 
-	if (sa->callp->sy_narg > MAXARGS)
-		panic("ARM64TODO: Could we have more than %d args?", MAXARGS);
-	memcpy(sa->args, ap, MAXARGS * sizeof(register_t));
+	if (sa->callp->sy_narg > nitems(sa->args))
+		panic("ARM64TODO: Could we have more than %zu args?",
+		    nitems(sa->args));
+	memcpy(sa->args, ap, nitems(sa->args) * sizeof(register_t));
 
 	td->td_retval[0] = 0;
 	return (0);
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index f448c8a9d104..ff97bfbd54a9 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -201,12 +201,11 @@ struct vm_map;
 struct vm_map_entry;
 struct epoch_tracker;
 
-#define MAXARGS	8
 struct syscall_args {
 	u_int code;
 	u_int original_code;
 	struct sysent *callp;
-	register_t args[MAXARGS];
+	register_t args[8];
 };
 
 /*



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202112081847.1B8IlQ2C010710>