diff options
author | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 20:55:21 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 20:55:21 -0400 |
commit | bbb20089a3275a19e475dbc21320c3742e3ca423 (patch) | |
tree | 216fdc1cbef450ca688135c5b8969169482d9a48 /arch/avr32/kernel | |
parent | 3e48e656903e9fd8bc805c6a2c4264d7808d315b (diff) | |
parent | 657a77fa7284d8ae28dfa48f1dc5d919bf5b2843 (diff) |
Merge branch 'dmaengine' into async-tx-next
Conflicts:
crypto/async_tx/async_xor.c
drivers/dma/ioat/dma_v2.h
drivers/dma/ioat/pci.c
drivers/md/raid5.c
Diffstat (limited to 'arch/avr32/kernel')
-rw-r--r-- | arch/avr32/kernel/init_task.c | 4 | ||||
-rw-r--r-- | arch/avr32/kernel/module.c | 2 | ||||
-rw-r--r-- | arch/avr32/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/avr32/kernel/signal.c | 4 | ||||
-rw-r--r-- | arch/avr32/kernel/traps.c | 11 |
5 files changed, 12 insertions, 11 deletions
diff --git a/arch/avr32/kernel/init_task.c b/arch/avr32/kernel/init_task.c index 993d56ee3cf3..57ec9f2dcd95 100644 --- a/arch/avr32/kernel/init_task.c +++ b/arch/avr32/kernel/init_task.c | |||
@@ -15,10 +15,6 @@ | |||
15 | 15 | ||
16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | 16 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); |
17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | 17 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); |
18 | struct mm_struct init_mm = INIT_MM(init_mm); | ||
19 | |||
20 | EXPORT_SYMBOL(init_mm); | ||
21 | |||
22 | /* | 18 | /* |
23 | * Initial thread structure. Must be aligned on an 8192-byte boundary. | 19 | * Initial thread structure. Must be aligned on an 8192-byte boundary. |
24 | */ | 20 | */ |
diff --git a/arch/avr32/kernel/module.c b/arch/avr32/kernel/module.c index 1167fe9cf6c4..98f94d041d9c 100644 --- a/arch/avr32/kernel/module.c +++ b/arch/avr32/kernel/module.c | |||
@@ -32,8 +32,6 @@ void module_free(struct module *mod, void *module_region) | |||
32 | mod->arch.syminfo = NULL; | 32 | mod->arch.syminfo = NULL; |
33 | 33 | ||
34 | vfree(module_region); | 34 | vfree(module_region); |
35 | /* FIXME: if module_region == mod->init_region, trim exception | ||
36 | * table entries. */ | ||
37 | } | 35 | } |
38 | 36 | ||
39 | static inline int check_rela(Elf32_Rela *rela, struct module *module, | 37 | static inline int check_rela(Elf32_Rela *rela, struct module *module, |
diff --git a/arch/avr32/kernel/process.c b/arch/avr32/kernel/process.c index 1bbe1da54869..93c0342530a0 100644 --- a/arch/avr32/kernel/process.c +++ b/arch/avr32/kernel/process.c | |||
@@ -394,8 +394,6 @@ asmlinkage int sys_execve(char __user *ufilename, char __user *__user *uargv, | |||
394 | goto out; | 394 | goto out; |
395 | 395 | ||
396 | error = do_execve(filename, uargv, uenvp, regs); | 396 | error = do_execve(filename, uargv, uenvp, regs); |
397 | if (error == 0) | ||
398 | current->ptrace &= ~PT_DTRACE; | ||
399 | putname(filename); | 397 | putname(filename); |
400 | 398 | ||
401 | out: | 399 | out: |
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c index 803d7be0938f..27227561bad6 100644 --- a/arch/avr32/kernel/signal.c +++ b/arch/avr32/kernel/signal.c | |||
@@ -212,7 +212,7 @@ out: | |||
212 | return err; | 212 | return err; |
213 | } | 213 | } |
214 | 214 | ||
215 | static inline void restart_syscall(struct pt_regs *regs) | 215 | static inline void setup_syscall_restart(struct pt_regs *regs) |
216 | { | 216 | { |
217 | if (regs->r12 == -ERESTART_RESTARTBLOCK) | 217 | if (regs->r12 == -ERESTART_RESTARTBLOCK) |
218 | regs->r8 = __NR_restart_syscall; | 218 | regs->r8 = __NR_restart_syscall; |
@@ -296,7 +296,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset, int syscall) | |||
296 | } | 296 | } |
297 | /* fall through */ | 297 | /* fall through */ |
298 | case -ERESTARTNOINTR: | 298 | case -ERESTARTNOINTR: |
299 | restart_syscall(regs); | 299 | setup_syscall_restart(regs); |
300 | } | 300 | } |
301 | } | 301 | } |
302 | 302 | ||
diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c index d547c8df157d..6e3d491184ea 100644 --- a/arch/avr32/kernel/traps.c +++ b/arch/avr32/kernel/traps.c | |||
@@ -75,8 +75,17 @@ void _exception(long signr, struct pt_regs *regs, int code, | |||
75 | { | 75 | { |
76 | siginfo_t info; | 76 | siginfo_t info; |
77 | 77 | ||
78 | if (!user_mode(regs)) | 78 | if (!user_mode(regs)) { |
79 | const struct exception_table_entry *fixup; | ||
80 | |||
81 | /* Are we prepared to handle this kernel fault? */ | ||
82 | fixup = search_exception_tables(regs->pc); | ||
83 | if (fixup) { | ||
84 | regs->pc = fixup->fixup; | ||
85 | return; | ||
86 | } | ||
79 | die("Unhandled exception in kernel mode", regs, signr); | 87 | die("Unhandled exception in kernel mode", regs, signr); |
88 | } | ||
80 | 89 | ||
81 | memset(&info, 0, sizeof(info)); | 90 | memset(&info, 0, sizeof(info)); |
82 | info.si_signo = signr; | 91 | info.si_signo = signr; |