Skip to content

Commit

Permalink
KASAN option in the kernel
Browse files Browse the repository at this point in the history
  • Loading branch information
R3x committed Jun 8, 2018
1 parent bc72ac8 commit c535dc7
Show file tree
Hide file tree
Showing 4 changed files with 1,440 additions and 0 deletions.
56 changes: 56 additions & 0 deletions sys/arch/amd64/amd64/kasan.c
@@ -0,0 +1,56 @@
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD$");

#include <sys/param.h>

This comment has been minimized.

Copy link
@krytarowski

krytarowski Jun 8, 2018

Collaborator

hmm, maybe at this point we can drop includes

just keep <sys/cdefs.h>

#include <sys/device.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <sys/param.h>
#include <sys/conf.h>
#include <sys/cprng.h>
#include <sys/kmem.h>
#include <sys/systm.h>
#include <sys/types.h>
#include <sys/filedesc.h>

#define DEFINE_ASAN_LOAD_STORE(size) \
void __asan_load##size(unsigned long); \
void __asan_load##size(unsigned long addr) \
{} \
void __asan_load##size##_noabort(unsigned long); \
void __asan_load##size##_noabort(unsigned long addr) \
{} \
void __asan_store##size(unsigned long); \
void __asan_store##size(unsigned long addr) \
{} \
void __asan_store##size##_noabort(unsigned long); \
void __asan_store##size##_noabort(unsigned long addr) \
{} \


DEFINE_ASAN_LOAD_STORE(1);
DEFINE_ASAN_LOAD_STORE(2);
DEFINE_ASAN_LOAD_STORE(4);
DEFINE_ASAN_LOAD_STORE(8);
DEFINE_ASAN_LOAD_STORE(16);

void __asan_loadN(unsigned long, size_t);
void __asan_loadN(unsigned long addr, size_t size)
{}

void __asan_loadN_noabort(unsigned long, size_t);
void __asan_loadN_noabort(unsigned long addr, size_t size)
{}

void __asan_storeN(unsigned long, size_t);
void __asan_storeN(unsigned long addr, size_t size)
{}

void __asan_storeN_noabort(unsigned long, size_t);
void __asan_storeN_noabort(unsigned long addr, size_t size)
{}

/* to shut up compiler complaints */

void __asan_handle_no_return(void);
void __asan_handle_no_return(void) {}

0 comments on commit c535dc7

Please sign in to comment.