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 <aszlig@nix.build>
This commit is contained in:
parent
ba45205b84
commit
f6ae3948bc
@ -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 <linux/version.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/signal.h>
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
|
||||
#include <linux/sched/signal.h>
|
||||
#endif
|
||||
|
||||
struct task_struct *canaryTask;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user