You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
virtio/queue.rs has a panic in pop()/try_enable_notification(), to
avoid DoS scenarios of the guest asking firecracker to process the same
virtio descriptor multiple times. However, this panic is not only
triggered at VM runtime, but also by various snapshot calls (parsing rx
buffers on net restore, vsock notifying used buffers), where ideally we
shouldn't panic on malformed snapshots, but instead report an error back
to the user. It also make fuzz-testing of firecracker more difficult,
because this panic represents a false-positive.
To avoid all of this, turn the panic into an error variant, and bubble
it out of the virtio stack. This way, the event loop and
unwrap()/panic!() when it encounters this error, while other usecases
and report the error properly (snapshot code) or ignore it (fuzzing).
Signed-off-by: Patrick Roy <[email protected]>
0 commit comments