|
@@ -121,4 +121,48 @@ static inline void quarantine_reduce(void) { }
|
|
|
static inline void quarantine_remove_cache(struct kmem_cache *cache) { }
|
|
|
#endif
|
|
|
|
|
|
+/*
|
|
|
+ * Exported functions for interfaces called from assembly or from generated
|
|
|
+ * code. Declarations here to avoid warning about missing declarations.
|
|
|
+ */
|
|
|
+asmlinkage void kasan_unpoison_task_stack_below(const void *watermark);
|
|
|
+void __asan_register_globals(struct kasan_global *globals, size_t size);
|
|
|
+void __asan_unregister_globals(struct kasan_global *globals, size_t size);
|
|
|
+void __asan_loadN(unsigned long addr, size_t size);
|
|
|
+void __asan_storeN(unsigned long addr, size_t size);
|
|
|
+void __asan_handle_no_return(void);
|
|
|
+void __asan_poison_stack_memory(const void *addr, size_t size);
|
|
|
+void __asan_unpoison_stack_memory(const void *addr, size_t size);
|
|
|
+void __asan_alloca_poison(unsigned long addr, size_t size);
|
|
|
+void __asan_allocas_unpoison(const void *stack_top, const void *stack_bottom);
|
|
|
+
|
|
|
+void __asan_load1(unsigned long addr);
|
|
|
+void __asan_store1(unsigned long addr);
|
|
|
+void __asan_load2(unsigned long addr);
|
|
|
+void __asan_store2(unsigned long addr);
|
|
|
+void __asan_load4(unsigned long addr);
|
|
|
+void __asan_store4(unsigned long addr);
|
|
|
+void __asan_load8(unsigned long addr);
|
|
|
+void __asan_store8(unsigned long addr);
|
|
|
+void __asan_load16(unsigned long addr);
|
|
|
+void __asan_store16(unsigned long addr);
|
|
|
+
|
|
|
+void __asan_load1_noabort(unsigned long addr);
|
|
|
+void __asan_store1_noabort(unsigned long addr);
|
|
|
+void __asan_load2_noabort(unsigned long addr);
|
|
|
+void __asan_store2_noabort(unsigned long addr);
|
|
|
+void __asan_load4_noabort(unsigned long addr);
|
|
|
+void __asan_store4_noabort(unsigned long addr);
|
|
|
+void __asan_load8_noabort(unsigned long addr);
|
|
|
+void __asan_store8_noabort(unsigned long addr);
|
|
|
+void __asan_load16_noabort(unsigned long addr);
|
|
|
+void __asan_store16_noabort(unsigned long addr);
|
|
|
+
|
|
|
+void __asan_set_shadow_00(const void *addr, size_t size);
|
|
|
+void __asan_set_shadow_f1(const void *addr, size_t size);
|
|
|
+void __asan_set_shadow_f2(const void *addr, size_t size);
|
|
|
+void __asan_set_shadow_f3(const void *addr, size_t size);
|
|
|
+void __asan_set_shadow_f5(const void *addr, size_t size);
|
|
|
+void __asan_set_shadow_f8(const void *addr, size_t size);
|
|
|
+
|
|
|
#endif
|