init/main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/init/main.c b/init/main.c index 91642a4e69be..c1e632582419 100644 --- a/init/main.c +++ b/init/main.c @@ -108,6 +108,8 @@ #include #include +#include + #define CREATE_TRACE_POINTS #include @@ -1488,6 +1490,15 @@ void __weak free_initmem(void) free_initmem_default(POISON_FREE_INITMEM); } +static int test_unaligned(void *unused) +{ + void *buf = vmalloc(PAGE_SIZE); + memset(buf, 0xfe, PAGE_SIZE); + printk("load_unaligned_zeropad = %016lx\n", load_unaligned_zeropad(buf + PAGE_SIZE - 5)); + kthread_exit(0); +} + + static int __ref kernel_init(void *unused) { int ret; @@ -1518,6 +1529,8 @@ static int __ref kernel_init(void *unused) system_state = SYSTEM_RUNNING; numa_default_policy(); +kernel_thread(test_unaligned, NULL, CLONE_FS | CLONE_FILES); + rcu_end_inkernel_boot(); do_sysctl_args();