kernel: usercopy functions

This commit is contained in:
Matheus
2024-06-09 19:31:26 -03:00
parent 429f56aced
commit 50b4b45d00
53 changed files with 712 additions and 260 deletions
+6 -2
View File
@@ -21,7 +21,11 @@ syscallret_t syscall_setsockopt(context_t *, int fd, int level, int optname, voi
ret.errno = ENOMEM;
return ret;
}
memcpy(buffer, val, len);
ret.errno = usercopy_fromuser(buffer, val, len);
if (ret.errno) {
free(buffer);
return ret;
}
}
file_t *file = fd_get(fd);
@@ -43,7 +47,7 @@ syscallret_t syscall_setsockopt(context_t *, int fd, int level, int optname, voi
switch (optname) {
case SO_BINDTODEVICE: {
if (val) {
socket->netdev = netdev_getdev(val);
socket->netdev = netdev_getdev(buffer);
ret.errno = socket->netdev ? 0 : ENODEV;
} else {
socket->netdev = NULL;