Should `Stat` et al be repr(C)?
As far as I am aware, the current layout of this stuct and the others is undefined, which makes it impossible to reliably use from C. With Rust code in libc, it could be copied to a C struct, but that would be inefficient.
It is repr(packed)
, but I think that still allows Rust to reorder the elements. I don't know if this is currently an issue, but it is in principle undefined behavior. (And it could theoretically change in a future Rust version too, breaking the kernel ABI, though we may not care about that.)