Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 7025
b: refs/heads/master
c: e54a5df
h: refs/heads/master
i:
  7023: cf6a397
v: v3
  • Loading branch information
Al Viro authored and Linus Torvalds committed Sep 5, 2005
1 parent b21ae2c commit acc7578
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 3b52166cf72f0826c6d8fa0541c7d4ae39c5a146
refs/heads/master: e54a5dfb960053437f464a7ce372a8acc293fdcb
2 changes: 1 addition & 1 deletion trunk/arch/um/sys-i386/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,9 +122,9 @@ int copy_sc_from_user_tt(struct sigcontext *to, struct sigcontext *from,
int err;

to_fp = to->fpstate;
from_fp = from->fpstate;
sigs = to->oldmask;
err = copy_from_user(to, from, sizeof(*to));
from_fp = to->fpstate;
to->oldmask = sigs;
to->fpstate = to_fp;
if(to_fp != NULL)
Expand Down
41 changes: 24 additions & 17 deletions trunk/arch/um/sys-x86_64/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -104,28 +104,35 @@ int copy_sc_to_user_skas(struct sigcontext *to, struct _fpstate *to_fp,
int copy_sc_from_user_tt(struct sigcontext *to, struct sigcontext *from,
int fpsize)
{
struct _fpstate *to_fp, *from_fp;
unsigned long sigs;
int err;

to_fp = to->fpstate;
from_fp = from->fpstate;
sigs = to->oldmask;
err = copy_from_user(to, from, sizeof(*to));
to->oldmask = sigs;
return(err);
struct _fpstate *to_fp, *from_fp;
unsigned long sigs;
int err;

to_fp = to->fpstate;
sigs = to->oldmask;
err = copy_from_user(to, from, sizeof(*to));
from_fp = to->fpstate;
to->fpstate = to_fp;
to->oldmask = sigs;
if(to_fp != NULL)
err |= copy_from_user(to_fp, from_fp, fpsize);
return(err);
}

int copy_sc_to_user_tt(struct sigcontext *to, struct _fpstate *fp,
struct sigcontext *from, int fpsize)
{
struct _fpstate *to_fp, *from_fp;
int err;

to_fp = (fp ? fp : (struct _fpstate *) (to + 1));
from_fp = from->fpstate;
err = copy_to_user(to, from, sizeof(*to));
return(err);
struct _fpstate *to_fp, *from_fp;
int err;

to_fp = (fp ? fp : (struct _fpstate *) (to + 1));
from_fp = from->fpstate;
err = copy_to_user(to, from, sizeof(*to));
if(from_fp != NULL){
err |= copy_to_user(&to->fpstate, &to_fp, sizeof(to->fpstate));
err |= copy_to_user(to_fp, from_fp, fpsize);
}
return(err);
}

#endif
Expand Down

0 comments on commit acc7578

Please sign in to comment.