shawnanastasio / libkvmchan

An implementation of the Xen vchan API on KVM
Other
10 stars 4 forks source link

Split struct ringbuf into two separate structs, a trusted one and an untrusted one #2

Closed shawnanastasio closed 5 years ago

shawnanastasio commented 5 years ago

As pointed out in #1, the existing monolithic ringbuf struct architecture is both error prone and introduces unnecessary overhead.

Instead, the struct should be split in to two structs, a local and shared one. This would remove the ability of attackers to modify critical data in the local one, and reduce the amount of checking that has to be done, since only the shared one needs to be checked.