blob: a07fbcd6512bc6655e2aa6671921fcd634a692a2 [file]
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include "init.h"
static bool __is_kasan_setup = false;
int setup_kasan_bare_metal(void) {
__is_kasan_setup = true;
return 0;
}
bool is_kasan_setup(void)
{
return __is_kasan_setup;
}
static int init_kasan(void) {
sleep(1);
if (!is_kasan_setup())
return -EINVAL;
return 0;
}
static int detect_kasan(void) {
return 1;
}
struct init_fn kasan_init_fn __init_fn(INIT_EARLY) = {
.detect = detect_kasan,
.early_init = init_kasan,
.name = "Kasan",
.critical = true,
};