On Tue, 6 Nov 2007, Paul Brook wrote:
If you're not careful you get double-copying. Once copying the struct from guest to host space, and then again when converting layout/endianess.
Yes, it would be easy to do that by mistake. The approach that has been taken has been to use typed copy_*_user_<type>() routines for the structs instead of using a seperate untyped copy_*_user() followed by a convert_<type>() routine. The copy_*_user_<type>() routines do the copy and convert in a single step. This will never be as fast as an optimized buffer copy, but it will also not be as slow as having seperate routines. Stuart Stuart R. Anderson [EMAIL PROTECTED] Network & Software Engineering http://www.netsweng.com/ 1024D/37A79149: 0791 D3B8 9A4C 2CDC A31F BD03 0A62 E534 37A7 9149