diff options
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/ia64/include/asm/acpi.h | 1 | ||||
| -rw-r--r-- | arch/ia64/include/asm/elf.h | 4 | ||||
| -rw-r--r-- | arch/sh/kernel/ptrace_64.c | 11 | ||||
| -rw-r--r-- | arch/sh/kernel/signal_64.c | 4 | ||||
| -rw-r--r-- | arch/x86/include/asm/elf.h | 5 | ||||
| -rw-r--r-- | arch/x86/kernel/acpi/boot.c | 8 | ||||
| -rw-r--r-- | arch/x86/kernel/process_64.c | 1 |
7 files changed, 18 insertions, 16 deletions
diff --git a/arch/ia64/include/asm/acpi.h b/arch/ia64/include/asm/acpi.h index 7ae58892ba8d..e97b255d97bc 100644 --- a/arch/ia64/include/asm/acpi.h +++ b/arch/ia64/include/asm/acpi.h | |||
| @@ -94,6 +94,7 @@ ia64_acpi_release_global_lock (unsigned int *lock) | |||
| 94 | #define acpi_noirq 0 /* ACPI always enabled on IA64 */ | 94 | #define acpi_noirq 0 /* ACPI always enabled on IA64 */ |
| 95 | #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ | 95 | #define acpi_pci_disabled 0 /* ACPI PCI always enabled on IA64 */ |
| 96 | #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ | 96 | #define acpi_strict 1 /* no ACPI spec workarounds on IA64 */ |
| 97 | #define acpi_ht 0 /* no HT-only mode on IA64 */ | ||
| 97 | #endif | 98 | #endif |
| 98 | #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ | 99 | #define acpi_processor_cstate_check(x) (x) /* no idle limits on IA64 :) */ |
| 99 | static inline void disable_acpi(void) { } | 100 | static inline void disable_acpi(void) { } |
diff --git a/arch/ia64/include/asm/elf.h b/arch/ia64/include/asm/elf.h index e14108b19c09..4c41656ede87 100644 --- a/arch/ia64/include/asm/elf.h +++ b/arch/ia64/include/asm/elf.h | |||
| @@ -201,7 +201,9 @@ extern void ia64_elf_core_copy_regs (struct pt_regs *src, elf_gregset_t dst); | |||
| 201 | relevant until we have real hardware to play with... */ | 201 | relevant until we have real hardware to play with... */ |
| 202 | #define ELF_PLATFORM NULL | 202 | #define ELF_PLATFORM NULL |
| 203 | 203 | ||
| 204 | #define SET_PERSONALITY(ex) set_personality(PER_LINUX) | 204 | #define SET_PERSONALITY(ex) \ |
| 205 | set_personality((current->personality & ~PER_MASK) | PER_LINUX) | ||
| 206 | |||
| 205 | #define elf_read_implies_exec(ex, executable_stack) \ | 207 | #define elf_read_implies_exec(ex, executable_stack) \ |
| 206 | ((executable_stack!=EXSTACK_DISABLE_X) && ((ex).e_flags & EF_IA_64_LINUX_EXECUTABLE_STACK) != 0) | 208 | ((executable_stack!=EXSTACK_DISABLE_X) && ((ex).e_flags & EF_IA_64_LINUX_EXECUTABLE_STACK) != 0) |
| 207 | 209 | ||
diff --git a/arch/sh/kernel/ptrace_64.c b/arch/sh/kernel/ptrace_64.c index 873ebdc4f98e..b063eb8b18e3 100644 --- a/arch/sh/kernel/ptrace_64.c +++ b/arch/sh/kernel/ptrace_64.c | |||
| @@ -133,6 +133,8 @@ void user_enable_single_step(struct task_struct *child) | |||
| 133 | struct pt_regs *regs = child->thread.uregs; | 133 | struct pt_regs *regs = child->thread.uregs; |
| 134 | 134 | ||
| 135 | regs->sr |= SR_SSTEP; /* auto-resetting upon exception */ | 135 | regs->sr |= SR_SSTEP; /* auto-resetting upon exception */ |
| 136 | |||
| 137 | set_tsk_thread_flag(child, TIF_SINGLESTEP); | ||
| 136 | } | 138 | } |
| 137 | 139 | ||
| 138 | void user_disable_single_step(struct task_struct *child) | 140 | void user_disable_single_step(struct task_struct *child) |
| @@ -140,6 +142,8 @@ void user_disable_single_step(struct task_struct *child) | |||
| 140 | struct pt_regs *regs = child->thread.uregs; | 142 | struct pt_regs *regs = child->thread.uregs; |
| 141 | 143 | ||
| 142 | regs->sr &= ~SR_SSTEP; | 144 | regs->sr &= ~SR_SSTEP; |
| 145 | |||
| 146 | clear_tsk_thread_flag(child, TIF_SINGLESTEP); | ||
| 143 | } | 147 | } |
| 144 | 148 | ||
| 145 | static int genregs_get(struct task_struct *target, | 149 | static int genregs_get(struct task_struct *target, |
| @@ -454,6 +458,8 @@ asmlinkage long long do_syscall_trace_enter(struct pt_regs *regs) | |||
| 454 | 458 | ||
| 455 | asmlinkage void do_syscall_trace_leave(struct pt_regs *regs) | 459 | asmlinkage void do_syscall_trace_leave(struct pt_regs *regs) |
| 456 | { | 460 | { |
| 461 | int step; | ||
| 462 | |||
| 457 | if (unlikely(current->audit_context)) | 463 | if (unlikely(current->audit_context)) |
| 458 | audit_syscall_exit(AUDITSC_RESULT(regs->regs[9]), | 464 | audit_syscall_exit(AUDITSC_RESULT(regs->regs[9]), |
| 459 | regs->regs[9]); | 465 | regs->regs[9]); |
| @@ -461,8 +467,9 @@ asmlinkage void do_syscall_trace_leave(struct pt_regs *regs) | |||
| 461 | if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) | 467 | if (unlikely(test_thread_flag(TIF_SYSCALL_TRACEPOINT))) |
| 462 | trace_sys_exit(regs, regs->regs[9]); | 468 | trace_sys_exit(regs, regs->regs[9]); |
| 463 | 469 | ||
| 464 | if (test_thread_flag(TIF_SYSCALL_TRACE)) | 470 | step = test_thread_flag(TIF_SINGLESTEP); |
| 465 | tracehook_report_syscall_exit(regs, 0); | 471 | if (step || test_thread_flag(TIF_SYSCALL_TRACE)) |
| 472 | tracehook_report_syscall_exit(regs, step); | ||
| 466 | } | 473 | } |
| 467 | 474 | ||
| 468 | /* Called with interrupts disabled */ | 475 | /* Called with interrupts disabled */ |
diff --git a/arch/sh/kernel/signal_64.c b/arch/sh/kernel/signal_64.c index ce76dbdef294..580e97d46ca5 100644 --- a/arch/sh/kernel/signal_64.c +++ b/arch/sh/kernel/signal_64.c | |||
| @@ -118,7 +118,9 @@ static int do_signal(struct pt_regs *regs, sigset_t *oldset) | |||
| 118 | * clear the TS_RESTORE_SIGMASK flag. | 118 | * clear the TS_RESTORE_SIGMASK flag. |
| 119 | */ | 119 | */ |
| 120 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; | 120 | current_thread_info()->status &= ~TS_RESTORE_SIGMASK; |
| 121 | tracehook_signal_handler(signr, &info, &ka, regs, 0); | 121 | |
| 122 | tracehook_signal_handler(signr, &info, &ka, regs, | ||
| 123 | test_thread_flag(TIF_SINGLESTEP)); | ||
| 122 | return 1; | 124 | return 1; |
| 123 | } | 125 | } |
| 124 | } | 126 | } |
diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h index 1994d3f58443..f2ad2163109d 100644 --- a/arch/x86/include/asm/elf.h +++ b/arch/x86/include/asm/elf.h | |||
| @@ -170,10 +170,7 @@ static inline void elf_common_init(struct thread_struct *t, | |||
| 170 | } | 170 | } |
| 171 | 171 | ||
| 172 | #define ELF_PLAT_INIT(_r, load_addr) \ | 172 | #define ELF_PLAT_INIT(_r, load_addr) \ |
| 173 | do { \ | 173 | elf_common_init(¤t->thread, _r, 0) |
| 174 | elf_common_init(¤t->thread, _r, 0); \ | ||
| 175 | clear_thread_flag(TIF_IA32); \ | ||
| 176 | } while (0) | ||
| 177 | 174 | ||
| 178 | #define COMPAT_ELF_PLAT_INIT(regs, load_addr) \ | 175 | #define COMPAT_ELF_PLAT_INIT(regs, load_addr) \ |
| 179 | elf_common_init(¤t->thread, regs, __USER_DS) | 176 | elf_common_init(¤t->thread, regs, __USER_DS) |
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c index 0acbcdfa5ca4..af1c5833ff23 100644 --- a/arch/x86/kernel/acpi/boot.c +++ b/arch/x86/kernel/acpi/boot.c | |||
| @@ -1344,14 +1344,6 @@ static struct dmi_system_id __initdata acpi_dmi_table[] = { | |||
| 1344 | }, | 1344 | }, |
| 1345 | { | 1345 | { |
| 1346 | .callback = force_acpi_ht, | 1346 | .callback = force_acpi_ht, |
| 1347 | .ident = "ASUS P2B-DS", | ||
| 1348 | .matches = { | ||
| 1349 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), | ||
| 1350 | DMI_MATCH(DMI_BOARD_NAME, "P2B-DS"), | ||
| 1351 | }, | ||
| 1352 | }, | ||
| 1353 | { | ||
| 1354 | .callback = force_acpi_ht, | ||
| 1355 | .ident = "ASUS CUR-DLS", | 1347 | .ident = "ASUS CUR-DLS", |
| 1356 | .matches = { | 1348 | .matches = { |
| 1357 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), | 1349 | DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."), |
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 41a26a82470a..126f0b493d04 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
| @@ -527,6 +527,7 @@ void set_personality_ia32(void) | |||
| 527 | 527 | ||
| 528 | /* Make sure to be in 32bit mode */ | 528 | /* Make sure to be in 32bit mode */ |
| 529 | set_thread_flag(TIF_IA32); | 529 | set_thread_flag(TIF_IA32); |
| 530 | current->personality |= force_personality32; | ||
| 530 | 531 | ||
| 531 | /* Prepare the first "return" to user space */ | 532 | /* Prepare the first "return" to user space */ |
| 532 | current_thread_info()->status |= TS_COMPAT; | 533 | current_thread_info()->status |= TS_COMPAT; |
