Skip to content

Commit

Permalink
whack-a-mole: no need to set_fs(USER_DS) in {start,flush}_thread()
Browse files Browse the repository at this point in the history
flush_old_exec() has already done that.  Back on 2011 a bunch of
instances like that had been kicked out, but that hadn't taken
care of then-out-of-tree architectures, obviously, and they served
as reinfection vector...

Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Al Viro committed Apr 12, 2015
1 parent 9e7543e commit a555ad4
Show file tree
Hide file tree
Showing 6 changed files with 0 additions and 8 deletions.
2 changes: 0 additions & 2 deletions arch/arc/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,6 @@ int copy_thread(unsigned long clone_flags,
*/
void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long usp)
{
set_fs(USER_DS); /* user space */

regs->sp = usp;
regs->ret = pc;

Expand Down
1 change: 0 additions & 1 deletion arch/c6x/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ void start_thread(struct pt_regs *regs, unsigned int pc, unsigned long usp)
*/
usp -= 8;

set_fs(USER_DS);
regs->pc = pc;
regs->sp = usp;
regs->tsr |= 0x40; /* set user mode */
Expand Down
2 changes: 0 additions & 2 deletions arch/hexagon/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@
*/
void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long sp)
{
/* Set to run with user-mode data segmentation */
set_fs(USER_DS);
/* We want to zero all data-containing registers. Is this overkill? */
memset(regs, 0, sizeof(*regs));
/* We might want to also zero all Processor registers here */
Expand Down
1 change: 0 additions & 1 deletion arch/metag/include/asm/processor.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ struct thread_struct {
*/
#define start_thread(regs, pc, usp) do { \
unsigned int *argc = (unsigned int *) bprm->exec; \
set_fs(USER_DS); \
current->thread.int_depth = 1; \
/* Force this process down to user land */ \
regs->ctx.SaveMask = TBICTX_PRIV_BIT; \
Expand Down
1 change: 0 additions & 1 deletion arch/nios2/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,6 @@ void show_regs(struct pt_regs *regs)

void flush_thread(void)
{
set_fs(USER_DS);
}

int copy_thread(unsigned long clone_flags,
Expand Down
1 change: 0 additions & 1 deletion arch/openrisc/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,6 @@ void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long sp)
{
unsigned long sr = mfspr(SPR_SR) & ~SPR_SR_SM;

set_fs(USER_DS);
memset(regs, 0, sizeof(struct pt_regs));

regs->pc = pc;
Expand Down

0 comments on commit a555ad4

Please sign in to comment.