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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions