diff options
Diffstat (limited to 'kernel/irq')
-rw-r--r-- | kernel/irq/proc.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c index ddde0ef9ccdc..b4f1674fca79 100644 --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c | |||
@@ -27,6 +27,10 @@ static int irq_affinity_read_proc(char *page, char **start, off_t off, | |||
27 | return len; | 27 | return len; |
28 | } | 28 | } |
29 | 29 | ||
30 | #ifndef is_affinity_mask_valid | ||
31 | #define is_affinity_mask_valid(val) 1 | ||
32 | #endif | ||
33 | |||
30 | int no_irq_affinity; | 34 | int no_irq_affinity; |
31 | static int irq_affinity_write_proc(struct file *file, const char __user *buffer, | 35 | static int irq_affinity_write_proc(struct file *file, const char __user *buffer, |
32 | unsigned long count, void *data) | 36 | unsigned long count, void *data) |
@@ -42,6 +46,9 @@ static int irq_affinity_write_proc(struct file *file, const char __user *buffer, | |||
42 | if (err) | 46 | if (err) |
43 | return err; | 47 | return err; |
44 | 48 | ||
49 | if (!is_affinity_mask_valid(new_value)) | ||
50 | return -EINVAL; | ||
51 | |||
45 | /* | 52 | /* |
46 | * Do not allow disabling IRQs completely - it's a too easy | 53 | * Do not allow disabling IRQs completely - it's a too easy |
47 | * way to make the system unusable accidentally :-) At least | 54 | * way to make the system unusable accidentally :-) At least |