diff options
author | marcel <marcel@FreeBSD.org> | 2001-10-07 00:16:31 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2001-10-07 00:16:31 +0000 |
commit | 36b166d5a03f91501ad718e3337179223ae8df40 (patch) | |
tree | c076f201c383ecb0fc934b7f0b5f50cf60eebd10 | |
parent | d45f75145fcc859cfaeea928dae298d1af56ed3a (diff) | |
download | FreeBSD-src-36b166d5a03f91501ad718e3337179223ae8df40.zip FreeBSD-src-36b166d5a03f91501ad718e3337179223ae8df40.tar.gz |
Fix breakage caused by previous commit. The lkmnosys and lkmressys
syscalls are of type NODEF but not in a way that fits the given
definition of that type. The exact difference of lkmressys and
lkmnosys is unclear, which makes it all the more confusing. A
reevaluation of what we have and what we really need is in order.
Spotted by: Maxime Henrion <mux@qualys.com>
Pointy hat: marcel
-rw-r--r-- | sys/kern/makesyscalls.sh | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/kern/makesyscalls.sh b/sys/kern/makesyscalls.sh index 63b701b..069314d 100644 --- a/sys/kern/makesyscalls.sh +++ b/sys/kern/makesyscalls.sh @@ -208,7 +208,7 @@ s/\$//g } if ($2 == "NODEF") { funcname=$4 - argssize = "AS(" $4 "_args)" + argssize = "AS(" $6 ")" return } if ($f != "{") @@ -316,12 +316,15 @@ s/\$//g argname[i], argtype[i]) > sysarg printf("};\n") > sysarg } - else if($2 != "NOARGS" && $2 != "NOPROTO") + else if ($2 != "NOARGS" && $2 != "NOPROTO" && \ + $2 != "NODEF") printf("struct %s {\n\tregister_t dummy;\n};\n", argalias) > sysarg } - if ($2 != "NOPROTO" && (!nosys || funcname != "nosys") && \ - (!lkmnosys || funcname != "lkmnosys") && $2 != "NODEF") { + if (($2 != "NOPROTO" && $2 != "NODEF" && \ + (funcname != "nosys" || !nosys)) || \ + (funcname == "lkmnosys" && !lkmnosys) || \ + funcname == "lkmressys") { printf("%s\t%s __P((struct thread *, struct %s *))", rettype, funcname, argalias) > sysdcl printf(";\n") > sysdcl @@ -337,7 +340,7 @@ s/\$//g column = column + length("nosys") + 3 } else if ($2 == "NOSTD") { printf("%s },", "lkmressys") > sysent - column = column + length("lkmnosys") + 3 + column = column + length("lkmressys") + 3 } else { printf("%s },", funcname) > sysent column = column + length(funcname) + 3 |