diff options
Diffstat (limited to 'arch/m32r')
-rw-r--r-- | arch/m32r/include/asm/pgalloc.h | 4 | ||||
-rw-r--r-- | arch/m32r/include/asm/thread_info.h | 4 | ||||
-rw-r--r-- | arch/m32r/kernel/process.c | 5 | ||||
-rw-r--r-- | arch/m32r/kernel/ptrace.c | 5 | ||||
-rw-r--r-- | arch/m32r/mm/fault.c | 2 |
5 files changed, 4 insertions, 16 deletions
diff --git a/arch/m32r/include/asm/pgalloc.h b/arch/m32r/include/asm/pgalloc.h index f11a2b909cdb..0fc736198979 100644 --- a/arch/m32r/include/asm/pgalloc.h +++ b/arch/m32r/include/asm/pgalloc.h | |||
@@ -58,7 +58,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte) | |||
58 | __free_page(pte); | 58 | __free_page(pte); |
59 | } | 59 | } |
60 | 60 | ||
61 | #define __pte_free_tlb(tlb, pte) pte_free((tlb)->mm, (pte)) | 61 | #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte)) |
62 | 62 | ||
63 | /* | 63 | /* |
64 | * allocating and freeing a pmd is trivial: the 1-entry pmd is | 64 | * allocating and freeing a pmd is trivial: the 1-entry pmd is |
@@ -68,7 +68,7 @@ static inline void pte_free(struct mm_struct *mm, pgtable_t pte) | |||
68 | 68 | ||
69 | #define pmd_alloc_one(mm, addr) ({ BUG(); ((pmd_t *)2); }) | 69 | #define pmd_alloc_one(mm, addr) ({ BUG(); ((pmd_t *)2); }) |
70 | #define pmd_free(mm, x) do { } while (0) | 70 | #define pmd_free(mm, x) do { } while (0) |
71 | #define __pmd_free_tlb(tlb, x) do { } while (0) | 71 | #define __pmd_free_tlb(tlb, x, addr) do { } while (0) |
72 | #define pgd_populate(mm, pmd, pte) BUG() | 72 | #define pgd_populate(mm, pmd, pte) BUG() |
73 | 73 | ||
74 | #define check_pgt_cache() do { } while (0) | 74 | #define check_pgt_cache() do { } while (0) |
diff --git a/arch/m32r/include/asm/thread_info.h b/arch/m32r/include/asm/thread_info.h index 8589d462df27..07bb5bd00e2a 100644 --- a/arch/m32r/include/asm/thread_info.h +++ b/arch/m32r/include/asm/thread_info.h | |||
@@ -57,8 +57,6 @@ struct thread_info { | |||
57 | 57 | ||
58 | /* | 58 | /* |
59 | * macros/functions for gaining access to the thread information structure | 59 | * macros/functions for gaining access to the thread information structure |
60 | * | ||
61 | * preempt_count needs to be 1 initially, until the scheduler is functional. | ||
62 | */ | 60 | */ |
63 | #ifndef __ASSEMBLY__ | 61 | #ifndef __ASSEMBLY__ |
64 | 62 | ||
@@ -68,7 +66,7 @@ struct thread_info { | |||
68 | .exec_domain = &default_exec_domain, \ | 66 | .exec_domain = &default_exec_domain, \ |
69 | .flags = 0, \ | 67 | .flags = 0, \ |
70 | .cpu = 0, \ | 68 | .cpu = 0, \ |
71 | .preempt_count = 1, \ | 69 | .preempt_count = INIT_PREEMPT_COUNT, \ |
72 | .addr_limit = KERNEL_DS, \ | 70 | .addr_limit = KERNEL_DS, \ |
73 | .restart_block = { \ | 71 | .restart_block = { \ |
74 | .fn = do_no_restart_syscall, \ | 72 | .fn = do_no_restart_syscall, \ |
diff --git a/arch/m32r/kernel/process.c b/arch/m32r/kernel/process.c index 3e876f0baebc..67a01e1e4283 100644 --- a/arch/m32r/kernel/process.c +++ b/arch/m32r/kernel/process.c | |||
@@ -302,11 +302,6 @@ asmlinkage int sys_execve(char __user *ufilename, char __user * __user *uargv, | |||
302 | goto out; | 302 | goto out; |
303 | 303 | ||
304 | error = do_execve(filename, uargv, uenvp, ®s); | 304 | error = do_execve(filename, uargv, uenvp, ®s); |
305 | if (error == 0) { | ||
306 | task_lock(current); | ||
307 | current->ptrace &= ~PT_DTRACE; | ||
308 | task_unlock(current); | ||
309 | } | ||
310 | putname(filename); | 305 | putname(filename); |
311 | out: | 306 | out: |
312 | return error; | 307 | return error; |
diff --git a/arch/m32r/kernel/ptrace.c b/arch/m32r/kernel/ptrace.c index 9aa615d3a5b2..98b8feb12ed8 100644 --- a/arch/m32r/kernel/ptrace.c +++ b/arch/m32r/kernel/ptrace.c | |||
@@ -19,7 +19,6 @@ | |||
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <linux/err.h> | 20 | #include <linux/err.h> |
21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
22 | #include <linux/smp_lock.h> | ||
23 | #include <linux/errno.h> | 22 | #include <linux/errno.h> |
24 | #include <linux/ptrace.h> | 23 | #include <linux/ptrace.h> |
25 | #include <linux/user.h> | 24 | #include <linux/user.h> |
@@ -676,10 +675,6 @@ arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
676 | if (!valid_signal(data)) | 675 | if (!valid_signal(data)) |
677 | break; | 676 | break; |
678 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); | 677 | clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); |
679 | if ((child->ptrace & PT_DTRACE) == 0) { | ||
680 | /* Spurious delayed TF traps may occur */ | ||
681 | child->ptrace |= PT_DTRACE; | ||
682 | } | ||
683 | 678 | ||
684 | /* Compute next pc. */ | 679 | /* Compute next pc. */ |
685 | pc = get_stack_long(child, PT_BPC); | 680 | pc = get_stack_long(child, PT_BPC); |
diff --git a/arch/m32r/mm/fault.c b/arch/m32r/mm/fault.c index 4a71df4c1b30..7274b47f4c22 100644 --- a/arch/m32r/mm/fault.c +++ b/arch/m32r/mm/fault.c | |||
@@ -196,7 +196,7 @@ survive: | |||
196 | */ | 196 | */ |
197 | addr = (address & PAGE_MASK); | 197 | addr = (address & PAGE_MASK); |
198 | set_thread_fault_code(error_code); | 198 | set_thread_fault_code(error_code); |
199 | fault = handle_mm_fault(mm, vma, addr, write); | 199 | fault = handle_mm_fault(mm, vma, addr, write ? FAULT_FLAG_WRITE : 0); |
200 | if (unlikely(fault & VM_FAULT_ERROR)) { | 200 | if (unlikely(fault & VM_FAULT_ERROR)) { |
201 | if (fault & VM_FAULT_OOM) | 201 | if (fault & VM_FAULT_OOM) |
202 | goto out_of_memory; | 202 | goto out_of_memory; |