diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2010-12-22 18:57:02 +0100 | 
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2010-12-22 18:57:02 +0100 | 
| commit | 4b7bd364700d9ac8372eff48832062b936d0793b (patch) | |
| tree | 0dbf78c95456a0b02d07fcd473281f04a87e266d /arch/tile/kernel/process.c | |
| parent | c0d8768af260e2cbb4bf659ae6094a262c86b085 (diff) | |
| parent | 90a8a73c06cc32b609a880d48449d7083327e11a (diff) | |
| download | olio-linux-3.10-4b7bd364700d9ac8372eff48832062b936d0793b.tar.xz olio-linux-3.10-4b7bd364700d9ac8372eff48832062b936d0793b.zip  | |
Merge branch 'master' into for-next
Conflicts:
	MAINTAINERS
	arch/arm/mach-omap2/pm24xx.c
	drivers/scsi/bfa/bfa_fcpim.c
Needed to update to apply fixes for which the old branch was too
outdated.
Diffstat (limited to 'arch/tile/kernel/process.c')
| -rw-r--r-- | arch/tile/kernel/process.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/tile/kernel/process.c b/arch/tile/kernel/process.c index 8430f45daea..e90eb53173b 100644 --- a/arch/tile/kernel/process.c +++ b/arch/tile/kernel/process.c @@ -212,6 +212,13 @@ int copy_thread(unsigned long clone_flags, unsigned long sp,  	childregs->sp = sp;  /* override with new user stack pointer */  	/* +	 * If CLONE_SETTLS is set, set "tp" in the new task to "r4", +	 * which is passed in as arg #5 to sys_clone(). +	 */ +	if (clone_flags & CLONE_SETTLS) +		childregs->tp = regs->regs[4]; + +	/*  	 * Copy the callee-saved registers from the passed pt_regs struct  	 * into the context-switch callee-saved registers area.  	 * This way when we start the interrupt-return sequence, the @@ -539,6 +546,7 @@ struct task_struct *__sched _switch_to(struct task_struct *prev,  	return __switch_to(prev, next, next_current_ksp0(next));  } +/* Note there is an implicit fifth argument if (clone_flags & CLONE_SETTLS). */  SYSCALL_DEFINE5(clone, unsigned long, clone_flags, unsigned long, newsp,  		void __user *, parent_tidptr, void __user *, child_tidptr,  		struct pt_regs *, regs)  |