|
@@ -1,6 +1,7 @@
|
|
#ifndef _LINUX_KASAN_H
|
|
#ifndef _LINUX_KASAN_H
|
|
#define _LINUX_KASAN_H
|
|
#define _LINUX_KASAN_H
|
|
|
|
|
|
|
|
+#include <linux/sched.h>
|
|
#include <linux/types.h>
|
|
#include <linux/types.h>
|
|
|
|
|
|
struct kmem_cache;
|
|
struct kmem_cache;
|
|
@@ -13,7 +14,6 @@ struct vm_struct;
|
|
|
|
|
|
#include <asm/kasan.h>
|
|
#include <asm/kasan.h>
|
|
#include <asm/pgtable.h>
|
|
#include <asm/pgtable.h>
|
|
-#include <linux/sched.h>
|
|
|
|
|
|
|
|
extern unsigned char kasan_zero_page[PAGE_SIZE];
|
|
extern unsigned char kasan_zero_page[PAGE_SIZE];
|
|
extern pte_t kasan_zero_pte[PTRS_PER_PTE];
|
|
extern pte_t kasan_zero_pte[PTRS_PER_PTE];
|
|
@@ -43,6 +43,8 @@ static inline void kasan_disable_current(void)
|
|
|
|
|
|
void kasan_unpoison_shadow(const void *address, size_t size);
|
|
void kasan_unpoison_shadow(const void *address, size_t size);
|
|
|
|
|
|
|
|
+void kasan_unpoison_task_stack(struct task_struct *task);
|
|
|
|
+
|
|
void kasan_alloc_pages(struct page *page, unsigned int order);
|
|
void kasan_alloc_pages(struct page *page, unsigned int order);
|
|
void kasan_free_pages(struct page *page, unsigned int order);
|
|
void kasan_free_pages(struct page *page, unsigned int order);
|
|
|
|
|
|
@@ -66,6 +68,8 @@ void kasan_free_shadow(const struct vm_struct *vm);
|
|
|
|
|
|
static inline void kasan_unpoison_shadow(const void *address, size_t size) {}
|
|
static inline void kasan_unpoison_shadow(const void *address, size_t size) {}
|
|
|
|
|
|
|
|
+static inline void kasan_unpoison_task_stack(struct task_struct *task) {}
|
|
|
|
+
|
|
static inline void kasan_enable_current(void) {}
|
|
static inline void kasan_enable_current(void) {}
|
|
static inline void kasan_disable_current(void) {}
|
|
static inline void kasan_disable_current(void) {}
|
|
|
|
|