package/xen: explicitly disable checkpolicy logic
authorPeter Korsgaard <peter@korsgaard.com>
Sun, 19 Jan 2020 17:03:56 +0000 (18:03 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 20 Jan 2020 07:38:43 +0000 (08:38 +0100)
Fixes:
http://autobuild.buildroot.net/results/14af2dc3219847a92c6ec2db14ba387159b61fde

The Xen build system builds and embeds a default XSM FLASK (Flux Advanced
Security Kernel) security policy if it detects SELinux checkpolicy on the
build machine.

If enabled, a gen-policy.py python script is used to convert the binary
FLASK policy to a C array initialization list to embed it in the Xen binary.
Depending on the python version and locale available on the host, this fails
with byte values outside the 0..255 range:

policy.c:7:10: error: unsigned conversion from 'int' to 'unsigned char' changes value from '56575' to '255' [-Werror=overflow]
  0xdc8c, 0xdcff, 0x7c, 0xdcf9, 0x08, 0x00, 0x00, 0x00, 0x58, 0x65, 0x6e, 0x46, 0x6c,

To fix this and ensure a consistent build, pass XEN_HAS_CHECKPOLICY=n to
disable the checkpolicy detection.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/xen/xen.mk

index b0dc2dfe4c54cfdd37f482130e613495f615b096..167f0ad638687e5f6fcc1f5b78258132bcad9636 100644 (file)
@@ -26,6 +26,7 @@ XEN_MAKE_ENV = \
        XEN_TARGET_ARCH=$(XEN_ARCH) \
        CROSS_COMPILE=$(TARGET_CROSS) \
        HOST_EXTRACFLAGS="-Wno-error" \
+       XEN_HAS_CHECKPOLICY=n \
        $(TARGET_CONFIGURE_OPTS)
 
 ifeq ($(BR2_PACKAGE_XEN_HYPERVISOR),y)