mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 09:17:36 +00:00
Kernel: Use static_ptr_cast to convert between Userspace<T*> types
Some calls of copy_to_user were converting Userspace<T*> to Userspace<U*> via the implicit conversion to FlatPtr. Change them to use the static_ptr_cast overload that is designed to express this conversion
This commit is contained in:
parent
194456efdc
commit
7243bcb7da
4 changed files with 5 additions and 5 deletions
|
@ -74,7 +74,7 @@ ErrorOr<void> InodeFile::ioctl(OpenFileDescription& description, unsigned reques
|
||||||
}
|
}
|
||||||
case FIONREAD: {
|
case FIONREAD: {
|
||||||
int remaining_bytes = inode().size() - description.offset();
|
int remaining_bytes = inode().size() - description.offset();
|
||||||
return copy_to_user(Userspace<int*>(arg), &remaining_bytes);
|
return copy_to_user(static_ptr_cast<int*>(arg), &remaining_bytes);
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
return EINVAL;
|
return EINVAL;
|
||||||
|
|
|
@ -763,7 +763,7 @@ ErrorOr<void> IPv4Socket::ioctl(OpenFileDescription&, unsigned request, Userspac
|
||||||
|
|
||||||
case FIONREAD: {
|
case FIONREAD: {
|
||||||
int readable = m_receive_buffer->immediately_readable();
|
int readable = m_receive_buffer->immediately_readable();
|
||||||
return copy_to_user(Userspace<int*>(arg), &readable);
|
return copy_to_user(static_ptr_cast<int*>(arg), &readable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -425,7 +425,7 @@ ErrorOr<void> LocalSocket::ioctl(OpenFileDescription& description, unsigned requ
|
||||||
switch (request) {
|
switch (request) {
|
||||||
case FIONREAD: {
|
case FIONREAD: {
|
||||||
int readable = receive_buffer_for(description)->immediately_readable();
|
int readable = receive_buffer_for(description)->immediately_readable();
|
||||||
return copy_to_user(Userspace<int*>(arg), &readable);
|
return copy_to_user(static_ptr_cast<int*>(arg), &readable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -193,12 +193,12 @@ ErrorOr<void> StorageDevice::ioctl(OpenFileDescription&, unsigned request, Users
|
||||||
switch (request) {
|
switch (request) {
|
||||||
case STORAGE_DEVICE_GET_SIZE: {
|
case STORAGE_DEVICE_GET_SIZE: {
|
||||||
size_t disk_size = m_max_addressable_block * block_size();
|
size_t disk_size = m_max_addressable_block * block_size();
|
||||||
return copy_to_user(Userspace<size_t*>(arg), &disk_size);
|
return copy_to_user(static_ptr_cast<size_t*>(arg), &disk_size);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case STORAGE_DEVICE_GET_BLOCK_SIZE: {
|
case STORAGE_DEVICE_GET_BLOCK_SIZE: {
|
||||||
size_t size = block_size();
|
size_t size = block_size();
|
||||||
return copy_to_user(Userspace<size_t*>(arg), &size);
|
return copy_to_user(static_ptr_cast<size_t*>(arg), &size);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue