From f6ae3948bc6aeac8aba70ce28c347c8882d8bf47 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 14 Nov 2017 04:30:08 +0100 Subject: tests/boot-stage1: Fix build of kcanary module In bfe9c928c18583d3adfb5978a55b48c392649ef5 the default kernel has been updated to version 4.14 and the declarations for allow_signal() and signal_pending() are no longer exposed via kthread.h, so let's actually use the right header files. I've added a condition for kernel 4.10 and upwards to include the linux/sched/signal.h header file, because that got introduced in version 4.10. Even if the declaration would still reside in kthread.h (I haven't checked) for version 4.10 it won't hurt and the compilation will still succeed. Tested against kernel 4.9 and 4.14 and the build now succeeds. Signed-off-by: aszlig --- nixos/tests/boot-stage1.nix | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'nixos/tests/boot-stage1.nix') diff --git a/nixos/tests/boot-stage1.nix b/nixos/tests/boot-stage1.nix index 50186525cf39..eeaca9f50edc 100644 --- a/nixos/tests/boot-stage1.nix +++ b/nixos/tests/boot-stage1.nix @@ -21,11 +21,16 @@ import ./make-test.nix ({ pkgs, ... }: { # the boot process kills any kthread by accident, like what happened in # issue #15226. kcanary = compileKernelModule "kcanary" '' + #include #include #include #include #include #include + #include + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) + #include + #endif struct task_struct *canaryTask; -- cgit 1.4.1