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