cregit-Linux how code gets into the kernel

Release 4.7 include/linux/fault-inject.h

Directory: include/linux
#ifndef _LINUX_FAULT_INJECT_H

#define _LINUX_FAULT_INJECT_H

#ifdef CONFIG_FAULT_INJECTION

#include <linux/types.h>
#include <linux/debugfs.h>
#include <linux/ratelimit.h>
#include <linux/atomic.h>

/*
 * For explanation of the elements of this struct, see
 * Documentation/fault-injection/fault-injection.txt
 */

struct fault_attr {
	
unsigned long probability;
	
unsigned long interval;
	
atomic_t times;
	
atomic_t space;
	
unsigned long verbose;
	
bool task_filter;
	
unsigned long stacktrace_depth;
	
unsigned long require_start;
	
unsigned long require_end;
	
unsigned long reject_start;
	
unsigned long reject_end;

	
unsigned long count;
	
struct ratelimit_state ratelimit_state;
	
struct dentry *dname;
};


#define FAULT_ATTR_INITIALIZER {                                       \
                .interval = 1,                                          \
                .times = ATOMIC_INIT(1),                                \
                .require_end = ULONG_MAX,                               \
                .stacktrace_depth = 32,                                 \
                .ratelimit_state = RATELIMIT_STATE_INIT_DISABLED,       \
                .verbose = 2,                                           \
                .dname = NULL,                                          \
        }


#define DECLARE_FAULT_ATTR(name) struct fault_attr name = FAULT_ATTR_INITIALIZER
int setup_fault_attr(struct fault_attr *attr, char *str);
bool should_fail(struct fault_attr *attr, ssize_t size);

#ifdef CONFIG_FAULT_INJECTION_DEBUG_FS

struct dentry *fault_create_debugfs_attr(const char *name,
			struct dentry *parent, struct fault_attr *attr);

#else /* CONFIG_FAULT_INJECTION_DEBUG_FS */


static inline struct dentry *fault_create_debugfs_attr(const char *name, struct dentry *parent, struct fault_attr *attr) { return ERR_PTR(-ENODEV); }

Contributors

PersonTokensPropCommitsCommitProp
akinobu mitaakinobu mita31100.00%2100.00%
Total31100.00%2100.00%

#endif /* CONFIG_FAULT_INJECTION_DEBUG_FS */ #endif /* CONFIG_FAULT_INJECTION */ #ifdef CONFIG_FAILSLAB extern bool should_failslab(struct kmem_cache *s, gfp_t gfpflags); #else
static inline bool should_failslab(struct kmem_cache *s, gfp_t gfpflags) { return false; }

Contributors

PersonTokensPropCommitsCommitProp
akinobu mitaakinobu mita1477.78%150.00%
jesper dangaard brouerjesper dangaard brouer422.22%150.00%
Total18100.00%2100.00%

#endif /* CONFIG_FAILSLAB */ #endif /* _LINUX_FAULT_INJECT_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
akinobu mitaakinobu mita19989.24%550.00%
dmitriy monakhovdmitriy monakhov135.83%110.00%
jesper dangaard brouerjesper dangaard brouer83.59%110.00%
arun sharmaarun sharma10.45%110.00%
don mullisdon mullis10.45%110.00%
viresh kumarviresh kumar10.45%110.00%
Total223100.00%10100.00%
Directory: include/linux
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}