kboot: Assert errno is negative

When converting from a Linux error to a FreeBSD errno, assert that the
value passed in is negative, as is Linux's custom.

Suggested by:		brooks
Sponsored by:		Netflix
Reviewed by:		tsoome, brooks
Differential Revision:	https://reviews.freebsd.org/D38357
This commit is contained in:
Warner Losh 2023-02-02 14:08:03 -07:00
parent fb53e7adaf
commit 63c7a483e5

View file

@ -29,6 +29,7 @@
#define _HOST_SYSCALL_H
#include <stand.h>
#include <assert.h>
long host_syscall(int number, ...);
@ -214,6 +215,12 @@ ssize_t host_write(int fd, const void *buf, size_t nbyte);
* function where -1 to -34 are translated to 1 to 34 and all others are EINVAL.
* Pass the linux return value, which will be the -errno.
*/
#define host_to_stand_errno(e) ((-e) > 34 ? EINVAL : (-e))
static __inline int
host_to_stand_errno(int e)
{
assert(e < 0);
return((-e) > 34 ? EINVAL : (-e));
}
#endif