diff options
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/fork.c | 2 | ||||
| -rw-r--r-- | kernel/module.c | 1 | ||||
| -rw-r--r-- | kernel/sched.c | 3 |
3 files changed, 5 insertions, 1 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index a05f52776e35..d7a274cbec95 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -29,6 +29,8 @@ #include <asm/pgalloc.h> #include <asm/uaccess.h> #include <asm/mmu_context.h> +#include <asm/cacheflush.h> +#include <asm/tlbflush.h> static kmem_cache_t *task_struct_cachep; diff --git a/kernel/module.c b/kernel/module.c index d0ed467083f9..8d2f2a46de0e 100644 --- a/kernel/module.c +++ b/kernel/module.c @@ -11,6 +11,7 @@ #include <linux/kmod.h> #include <linux/seq_file.h> #include <linux/fs.h> +#include <asm/cacheflush.h> /* * Originally by Anonymous (as far as I know...) diff --git a/kernel/sched.c b/kernel/sched.c index 49aa10fe905c..20afd755a7b5 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -843,7 +843,8 @@ asmlinkage void preempt_schedule(void) { if (unlikely(preempt_get_count())) return; - current->state = TASK_RUNNING; + if (current->state != TASK_RUNNING) + return; schedule(); } #endif /* CONFIG_PREEMPT */ |
