firecracker
firecracker copied to clipboard
Use `u32` to describe vsock related buffer sizes
In #4556, we updated our generic virtio buffer handling code to describe buffer sizes using u32 instead of usize, since the virtio specification states that lengths of virtio-buffers fit into u32 (and header fields in the virtio protocol describing lengths are typed to be 32 bit integers).
From that work, a small follow up is possible in the vsock module, where we can now also describe lengths of vsock packages using u32 instead of usize. This will allow us to get rid of a few more explicit casts. Particularly, we can do the following changes to function signatures:
VsockConnection::peer_avail_creditcan returnu32VsockPacket::buf_sizecan returnu32VsockPacket::read_at_offset_fromshould be(&self, &mut T, u32, u32) -> Result<u32, VsockError>(e..g. the conversion to usize should only happen right around thewrite_volatile_atcall- ditto for
VsockPacket::write_from_offset_toMaybe we can even get away with changing the argumentsIoVecBuffer[Mut]::{read,write}_volatile_attou32s
Can pick this one up as well as a followup to #4556.
Looks like #4637 has been abandoned, I'd be interested in picking it up