include/asm-generic/error-injection.h

Source file repositories/reference/linux-study-clean/include/asm-generic/error-injection.h

File Facts

System
Linux kernel
Corpus path
include/asm-generic/error-injection.h
Extension
.h
Size
1280 bytes
Lines
44
Domain
Repository Root And Misc
Bucket
include
Inferred role
Repository Root And Misc: implementation source
Status
source implementation candidate

Why This File Exists

Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.

Dependency Surface

Detected Declarations

Annotated Snippet

struct error_injection_entry {
	unsigned long	addr;
	int		etype;
};

struct pt_regs;

#ifdef CONFIG_FUNCTION_ERROR_INJECTION
/*
 * Whitelist generating macro. Specify functions which can be error-injectable
 * using this macro. If you unsure what is required for the error-injectable
 * functions, please read Documentation/fault-injection/fault-injection.rst
 * 'Error Injectable Functions' section.
 */
#define ALLOW_ERROR_INJECTION(fname, _etype)				\
static struct error_injection_entry __used				\
	__section("_error_injection_whitelist")				\
	_eil_addr_##fname = {						\
		.addr = (unsigned long)fname,				\
		.etype = EI_ETYPE_##_etype,				\
	}

void override_function_with_return(struct pt_regs *regs);
#else
#define ALLOW_ERROR_INJECTION(fname, _etype)

static inline void override_function_with_return(struct pt_regs *regs) { }
#endif
#endif

#endif /* _ASM_GENERIC_ERROR_INJECTION_H */

Annotation

Implementation Notes