
6 Feb
2018
6 Feb
'18
9:45 a.m.
On Tue, Feb 06, 2018 at 09:24:02AM +0100, Simon Goldschmidt wrote:
in this particular case, it seems that the u8 typedef is done at the architecture level, and efi.h doesn't include asm/types.h that define it. Maybe it's as simple as that. Otherwise, it includes linux/types.h that defines uint8_t, we can use that instead.
Digging into this again, it seems clear that this doesn't work since 'u8' is meant for kernel space while user space should use '__u8'. Envcrc *is* userspace, so using uint8_t everywhere makes more sense.
Yes, but the offending variable is in include/efi.h, which would be included by both (but probably not intentionally in the envcrc case).
Maxime
--
Maxime Ripard, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com