projects
/
pintos-anon
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ef0f939
)
Clarify purpose and rationale.
author
Ben Pfaff
<blp@cs.stanford.edu>
Fri, 3 Nov 2006 03:07:56 +0000
(
03:07
+0000)
committer
Ben Pfaff
<blp@cs.stanford.edu>
Fri, 3 Nov 2006 03:07:56 +0000
(
03:07
+0000)
From Godmar Back.
src/tests/userprog/sc-bad-sp.c
patch
|
blob
|
history
diff --git
a/src/tests/userprog/sc-bad-sp.c
b/src/tests/userprog/sc-bad-sp.c
index 56a5b8d4b8ee09a00a26875cfae44848215755d7..6da4a6e53927b9d8edbd958e949f32ef792c0c39 100644
(file)
--- a/
src/tests/userprog/sc-bad-sp.c
+++ b/
src/tests/userprog/sc-bad-sp.c
@@
-1,6
+1,13
@@
/* Invokes a system call with the stack pointer (%esp) set to a
bad address. The process must be terminated with -1 exit
/* Invokes a system call with the stack pointer (%esp) set to a
bad address. The process must be terminated with -1 exit
- code. */
+ code.
+
+ For Project 3: The bad address lies approximately 64MB below
+ the code segment, so there is no ambiguity that this attempt
+ must be rejected even after stack growth is implemented.
+ Moreover, a good stack growth heuristics should probably not
+ grow the stack for the purpose of reading the system call
+ number and arguments. */
#include "tests/lib.h"
#include "tests/main.h"
#include "tests/lib.h"
#include "tests/main.h"
@@
-8,6
+15,6
@@
void
test_main (void)
{
void
test_main (void)
{
- asm volatile ("movl
$0x20101234
, %esp; int $0x30");
+ asm volatile ("movl
. - (64*1024*1024)
, %esp; int $0x30");
fail ("should have called exit(-1)");
}
fail ("should have called exit(-1)");
}