LKL (Linux Kernel library) libfuzzer

https://github.com/lkl/linux

Compile options

export FUZZ_CXXFLAGS=”-O2 -fno-omit-frame-pointer -gline-tables-only -fsanitize=address,undefined,fuzzer-no-link”

CXX=”clang++ $FUZZ_CXXFLAGS” CC=”clang $FUZZ_CXXFLAGS” make -C tools/lkl -j12

Makefile

CC = gcc
CFLAGS = -I/home/asd/Documents/lkl/linux/tools/lkl/include
LKL_LIBS = -L/home/asd/Documents/lkl/linux/tools/lkl/lib -llkl

hello_lkl: hello_lkl.o
	$(CC) -o hello_lkl hello_lkl.o $(LKL_LIBS)

hello_lkl.o: hello_lkl.c
	$(CC) $(CFLAGS) -c hello_lkl.c

clean:
	rm -f hello_lkl hello_lkl.o

Simple LKL application that starts the linux kernel

#include <stdio.h>
#include <lkl.h>
#include <lkl_host.h>

#include "/home/asd/Documents/lkl/linux/tools/lkl/tests/test.h"
 

static int lkl_test_start_kernel(void)
{
	int ret;

	ret = lkl_start_kernel("mem=32M loglevel=8 ");

	return ret == 0 ? TEST_SUCCESS : TEST_FAILURE;
}

int main(int argc, const char **argv)
{
	int ret;

	lkl_init(&lkl_host_ops);

	lkl_test_start_kernel();
	while (1)
	{
		/* code */
	}
	
	lkl_cleanup();

	return ret;
}

Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir