  The Verified Software Toolchain (VST) is a system for proving correctness of
C programs using separation logic. By connecting to the verified compiler
CompCert, it produces the strongest possible guarantees of correctness for real
C code that we can compile and run. VST included concurrency from its
inception, in the form of reasoning about lock invariants, but concurrent
separation logic (CSL) has advanced by leaps and bounds since then. In this
paper, we describe efforts to integrate advancements from Iris, a
state-of-the-art mechanized CSL, into VST. Some features of Iris (ghost state
and invariants) are re-implemented in VST from the ground up; others (Iris
Proof Mode) are imported from the Iris development; still others (proof rules
for atomic operations) are axiomatized, with the hope that they will be made
foundational in future versions. The result is a system that can prove
correctness of sophisticated concurrent programs implemented in C, with
fine-grained locking and non-blocking atomic operations, that yields varying
soundness guarantees depending on the features used.
