diff options
| author | Jake Burkholder <jake@FreeBSD.org> | 2002-04-20 16:23:52 +0000 |
|---|---|---|
| committer | Jake Burkholder <jake@FreeBSD.org> | 2002-04-20 16:23:52 +0000 |
| commit | d1fef1792c1cf2fd37720298bab60f29f315e56c (patch) | |
| tree | c7c5a952f3aaf8263fdaddba26a847e96794c90d | |
| parent | bb52b4f3fc3aeea775b52df3a9693e6bce35a32e (diff) | |
Notes
| -rw-r--r-- | sys/sparc64/sparc64/rwindow.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/sparc64/sparc64/rwindow.c b/sys/sparc64/sparc64/rwindow.c index 2a29a23ceda40..0c5e5a64371f8 100644 --- a/sys/sparc64/sparc64/rwindow.c +++ b/sys/sparc64/sparc64/rwindow.c @@ -60,6 +60,8 @@ rwindow_load(struct thread *td, struct trapframe *tf, int n) for (i = 0; i < n; i++) { CTR1(KTR_TRAP, "rwindow_load: usp=%#lx", usp); usp += SPOFF; + if ((error = (usp & 0x7)) != 0) + break; error = copyin((void *)usp, &rw, sizeof rw); usp = rw.rw_in[6]; } @@ -91,6 +93,8 @@ rwindow_save(struct thread *td) usp = *ausp; CTR1(KTR_TRAP, "rwindow_save: usp=%#lx", usp); usp += SPOFF; + if ((error = (usp & 0x7)) != 0) + break; error = copyout(rw, (void *)usp, sizeof *rw); if (error) break; |
