Data in &'static kernel entry point argument seems corrupted

Rust reserves the right to re-optimize the layout of each non-repr(C) struct and enum each time it compiles, even though it appears to you that the layout(s) is/are the same. See this recent URLO comment for an example of why this could happen.