This how it's done in 2.4. In 3.0/master we plan to use zero-copy, so kernels will have to work with real C3.