cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

extable.h (1309B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _LINUX_EXTABLE_H
      3#define _LINUX_EXTABLE_H
      4
      5#include <linux/stddef.h>	/* for NULL */
      6#include <linux/types.h>
      7
      8struct module;
      9struct exception_table_entry;
     10
     11const struct exception_table_entry *
     12search_extable(const struct exception_table_entry *base,
     13	       const size_t num,
     14	       unsigned long value);
     15void sort_extable(struct exception_table_entry *start,
     16		  struct exception_table_entry *finish);
     17void sort_main_extable(void);
     18void trim_init_extable(struct module *m);
     19
     20/* Given an address, look for it in the exception tables */
     21const struct exception_table_entry *search_exception_tables(unsigned long add);
     22const struct exception_table_entry *
     23search_kernel_exception_table(unsigned long addr);
     24
     25#ifdef CONFIG_MODULES
     26/* For extable.c to search modules' exception tables. */
     27const struct exception_table_entry *search_module_extables(unsigned long addr);
     28#else
     29static inline const struct exception_table_entry *
     30search_module_extables(unsigned long addr)
     31{
     32	return NULL;
     33}
     34#endif /*CONFIG_MODULES*/
     35
     36#ifdef CONFIG_BPF_JIT
     37const struct exception_table_entry *search_bpf_extables(unsigned long addr);
     38#else
     39static inline const struct exception_table_entry *
     40search_bpf_extables(unsigned long addr)
     41{
     42	return NULL;
     43}
     44#endif
     45
     46#endif /* _LINUX_EXTABLE_H */