Skip to content

virtio-queue: verification: prevent loop in load and store methods #373

@MatiasVara

Description

@MatiasVara

Kani needs to iterate through VolatileSlices in the load and store methods mentioned in [1]. To handle this, we would need to unroll a loop. However, Kani doesn’t support unrolling a specific loop, it only allows setting a global unroll count [2]. Setting all loops to unroll once leads to problems, e.g., the execution gets stuck in infinite unrolling. For now, we’ve disabled the verify_add_used() proof (see #371), but this should ideally be addressed with a proper fix later.

[1] rust-vmm/vm-memory@66b9427
[2] https://model-checking.github.io/kani/tutorial-loop-unwinding.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions