I noticed that libxenvchan has undefined behavior: it passes pointers to guest memory to memcpy() even though they can be concurrently changed.
Would it make sense to reuse some of Xen's copy_from_guest() code instead? There might be a licensing problem (GPL vs LGPL), though. I think the only approach that isn't UB and has decent performance is to do the whole copy in assembly. -- Sincerely, Demi Marie Obenour (she/her/hers)
OpenPGP_0xB288B55FFF9C22C1.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
