Merge branch 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix build alloc_thread_info_node function sh: Fix ptrace hw_breakpoint handling sh: Fix ptrace fpu state initialisation sh: Re-enable GENERIC_HARDIRQS_NO_DEPRECATED. sh: pmb: Use struct syscore_ops instead of sysdevs sh: Use struct syscore_ops instead of sysdevs sh: Conver to asm-generic/sizes.h. sh: wire up sys_syncfs.
This commit is contained in:
@ -32,7 +32,7 @@ void free_thread_xstate(struct task_struct *tsk)
|
||||
#if THREAD_SHIFT < PAGE_SHIFT
|
||||
static struct kmem_cache *thread_info_cache;
|
||||
|
||||
struct thread_info *alloc_thread_info(struct task_struct *tsk, int node)
|
||||
struct thread_info *alloc_thread_info_node(struct task_struct *tsk, int node)
|
||||
{
|
||||
struct thread_info *ti;
|
||||
#ifdef CONFIG_DEBUG_STACK_USAGE
|
||||
@ -57,7 +57,7 @@ void thread_info_cache_init(void)
|
||||
THREAD_SIZE, SLAB_PANIC, NULL);
|
||||
}
|
||||
#else
|
||||
struct thread_info *alloc_thread_info(struct task_struct *tsk)
|
||||
struct thread_info *alloc_thread_info_node(struct task_struct *tsk, int node)
|
||||
{
|
||||
#ifdef CONFIG_DEBUG_STACK_USAGE
|
||||
gfp_t mask = GFP_KERNEL | __GFP_ZERO;
|
||||
|
@ -101,6 +101,8 @@ static int set_single_step(struct task_struct *tsk, unsigned long addr)
|
||||
|
||||
attr = bp->attr;
|
||||
attr.bp_addr = addr;
|
||||
/* reenable breakpoint */
|
||||
attr.disabled = false;
|
||||
err = modify_user_hw_breakpoint(bp, &attr);
|
||||
if (unlikely(err))
|
||||
return err;
|
||||
@ -392,6 +394,9 @@ long arch_ptrace(struct task_struct *child, long request,
|
||||
tmp = 0;
|
||||
} else {
|
||||
unsigned long index;
|
||||
ret = init_fpu(child);
|
||||
if (ret)
|
||||
break;
|
||||
index = addr - offsetof(struct user, fpu);
|
||||
tmp = ((unsigned long *)child->thread.xstate)
|
||||
[index >> 2];
|
||||
@ -423,6 +428,9 @@ long arch_ptrace(struct task_struct *child, long request,
|
||||
else if (addr >= offsetof(struct user, fpu) &&
|
||||
addr < offsetof(struct user, u_fpvalid)) {
|
||||
unsigned long index;
|
||||
ret = init_fpu(child);
|
||||
if (ret)
|
||||
break;
|
||||
index = addr - offsetof(struct user, fpu);
|
||||
set_stopped_child_used_math(child);
|
||||
((unsigned long *)child->thread.xstate)
|
||||
|
@ -403,6 +403,9 @@ long arch_ptrace(struct task_struct *child, long request,
|
||||
else if ((addr >= offsetof(struct user, fpu)) &&
|
||||
(addr < offsetof(struct user, u_fpvalid))) {
|
||||
unsigned long index;
|
||||
ret = init_fpu(child);
|
||||
if (ret)
|
||||
break;
|
||||
index = addr - offsetof(struct user, fpu);
|
||||
tmp = get_fpu_long(child, index);
|
||||
} else if (addr == offsetof(struct user, u_fpvalid)) {
|
||||
@ -442,6 +445,9 @@ long arch_ptrace(struct task_struct *child, long request,
|
||||
else if ((addr >= offsetof(struct user, fpu)) &&
|
||||
(addr < offsetof(struct user, u_fpvalid))) {
|
||||
unsigned long index;
|
||||
ret = init_fpu(child);
|
||||
if (ret)
|
||||
break;
|
||||
index = addr - offsetof(struct user, fpu);
|
||||
ret = put_fpu_long(child, index, data);
|
||||
}
|
||||
|
@ -379,3 +379,4 @@ ENTRY(sys_call_table)
|
||||
.long sys_name_to_handle_at
|
||||
.long sys_open_by_handle_at /* 360 */
|
||||
.long sys_clock_adjtime
|
||||
.long sys_syncfs
|
||||
|
@ -399,3 +399,4 @@ sys_call_table:
|
||||
.long sys_name_to_handle_at /* 370 */
|
||||
.long sys_open_by_handle_at
|
||||
.long sys_clock_adjtime
|
||||
.long sys_syncfs
|
||||
|
Reference in New Issue
Block a user