mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 01:30:30 -04:00
add a sanity check to the system call registration code
A system call number should be at least reserved. We do not expect an attempt to register a fixed number system call when nothing at all is known about it. MFC after: 3 weeks Sponsored by: Panzura
This commit is contained in:
parent
c590fd27de
commit
64ebbdd54d
1 changed files with 6 additions and 3 deletions
|
|
@ -120,11 +120,14 @@ kern_syscall_register(struct sysent *sysents, int *offset,
|
|||
if (i == SYS_MAXSYSCALL)
|
||||
return (ENFILE);
|
||||
*offset = i;
|
||||
} else if (*offset < 0 || *offset >= SYS_MAXSYSCALL)
|
||||
} else if (*offset < 0 || *offset >= SYS_MAXSYSCALL) {
|
||||
return (EINVAL);
|
||||
else if (sysents[*offset].sy_call != (sy_call_t *)lkmnosys &&
|
||||
sysents[*offset].sy_call != (sy_call_t *)lkmressys)
|
||||
} else if (sysents[*offset].sy_call != (sy_call_t *)lkmnosys &&
|
||||
sysents[*offset].sy_call != (sy_call_t *)lkmressys) {
|
||||
KASSERT(sysents[*offset].sy_call != NULL,
|
||||
("undefined syscall %d", *offset));
|
||||
return (EEXIST);
|
||||
}
|
||||
|
||||
KASSERT(sysents[*offset].sy_thrcnt == SY_THR_ABSENT,
|
||||
("dynamic syscall is not protected"));
|
||||
|
|
|
|||
Loading…
Reference in a new issue