diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2006-12-08 05:39:47 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-08 11:29:02 -0500 |
commit | f4f154fd920b2178382a6a24a236348e4429ebc1 (patch) | |
tree | 0bba747eb50b5d7e18d2b828f8c707b2781d7544 /include/linux | |
parent | c17bb4951752d3e0f49cd1ea9d2e868422f9e0d6 (diff) |
[PATCH] fault injection: process filtering for fault-injection capabilities
This patch provides process filtering feature.
The process filter allows failing only permitted processes
by /proc/<pid>/make-it-fail
Please see the example that demostrates how to inject slab allocation
failures into module init/cleanup code
in Documentation/fault-injection/fault-injection.txt
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/fault-inject.h | 2 | ||||
-rw-r--r-- | include/linux/sched.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/fault-inject.h b/include/linux/fault-inject.h index 4df4902bc8d8..a525f9b9f015 100644 --- a/include/linux/fault-inject.h +++ b/include/linux/fault-inject.h | |||
@@ -17,6 +17,7 @@ struct fault_attr { | |||
17 | atomic_t times; | 17 | atomic_t times; |
18 | atomic_t space; | 18 | atomic_t space; |
19 | unsigned long verbose; | 19 | unsigned long verbose; |
20 | u32 task_filter; | ||
20 | 21 | ||
21 | unsigned long count; | 22 | unsigned long count; |
22 | 23 | ||
@@ -30,6 +31,7 @@ struct fault_attr { | |||
30 | struct dentry *times_file; | 31 | struct dentry *times_file; |
31 | struct dentry *space_file; | 32 | struct dentry *space_file; |
32 | struct dentry *verbose_file; | 33 | struct dentry *verbose_file; |
34 | struct dentry *task_filter_file; | ||
33 | } dentries; | 35 | } dentries; |
34 | 36 | ||
35 | #endif | 37 | #endif |
diff --git a/include/linux/sched.h b/include/linux/sched.h index f0317edea141..ad9c46071ff8 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1045,6 +1045,9 @@ struct task_struct { | |||
1045 | #ifdef CONFIG_TASK_DELAY_ACCT | 1045 | #ifdef CONFIG_TASK_DELAY_ACCT |
1046 | struct task_delay_info *delays; | 1046 | struct task_delay_info *delays; |
1047 | #endif | 1047 | #endif |
1048 | #ifdef CONFIG_FAULT_INJECTION | ||
1049 | int make_it_fail; | ||
1050 | #endif | ||
1048 | }; | 1051 | }; |
1049 | 1052 | ||
1050 | static inline pid_t process_group(struct task_struct *tsk) | 1053 | static inline pid_t process_group(struct task_struct *tsk) |