diff options
| author | Anton Altaparmakov <aia21@cantab.net> | 2006-01-03 07:51:07 -0500 |
|---|---|---|
| committer | Anton Altaparmakov <aia21@cantab.net> | 2006-01-03 07:51:07 -0500 |
| commit | d087e4bdd24ebe3ae3d0b265b6573ec901af4b4b (patch) | |
| tree | c2db1b4958bbf617a25398b7ef93d82006b26a17 /arch/um/kernel | |
| parent | 292d4ed32e35df4755052b5002e533348d1648fd (diff) | |
| parent | 88026842b0a760145aa71d69e74fbc9ec118ca44 (diff) | |
Merge branch 'master' of /usr/src/ntfs-2.6/
Diffstat (limited to 'arch/um/kernel')
| -rw-r--r-- | arch/um/kernel/skas/clone.c | 23 | ||||
| -rw-r--r-- | arch/um/kernel/skas/include/uaccess-skas.h | 1 |
2 files changed, 13 insertions, 11 deletions
diff --git a/arch/um/kernel/skas/clone.c b/arch/um/kernel/skas/clone.c index cb37ce9124a6..47b812b3bca8 100644 --- a/arch/um/kernel/skas/clone.c +++ b/arch/um/kernel/skas/clone.c | |||
| @@ -18,11 +18,10 @@ | |||
| 18 | * on some systems. | 18 | * on some systems. |
| 19 | */ | 19 | */ |
| 20 | 20 | ||
| 21 | #define STUB_DATA(field) (((struct stub_data *) UML_CONFIG_STUB_DATA)->field) | ||
| 22 | |||
| 23 | void __attribute__ ((__section__ (".__syscall_stub"))) | 21 | void __attribute__ ((__section__ (".__syscall_stub"))) |
| 24 | stub_clone_handler(void) | 22 | stub_clone_handler(void) |
| 25 | { | 23 | { |
| 24 | struct stub_data *data = (struct stub_data *) UML_CONFIG_STUB_DATA; | ||
| 26 | long err; | 25 | long err; |
| 27 | 26 | ||
| 28 | err = stub_syscall2(__NR_clone, CLONE_PARENT | CLONE_FILES | SIGCHLD, | 27 | err = stub_syscall2(__NR_clone, CLONE_PARENT | CLONE_FILES | SIGCHLD, |
| @@ -35,17 +34,21 @@ stub_clone_handler(void) | |||
| 35 | if(err) | 34 | if(err) |
| 36 | goto out; | 35 | goto out; |
| 37 | 36 | ||
| 38 | err = stub_syscall3(__NR_setitimer, ITIMER_VIRTUAL, | 37 | err = stub_syscall3(__NR_setitimer, ITIMER_VIRTUAL, |
| 39 | (long) &STUB_DATA(timer), 0); | 38 | (long) &data->timer, 0); |
| 40 | if(err) | 39 | if(err) |
| 41 | goto out; | 40 | goto out; |
| 42 | 41 | ||
| 43 | err = stub_syscall6(STUB_MMAP_NR, UML_CONFIG_STUB_DATA, | 42 | remap_stack(data->fd, data->offset); |
| 44 | UM_KERN_PAGE_SIZE, PROT_READ | PROT_WRITE, | 43 | goto done; |
| 45 | MAP_FIXED | MAP_SHARED, STUB_DATA(fd), | 44 | |
| 46 | STUB_DATA(offset)); | ||
| 47 | out: | 45 | out: |
| 48 | /* save current result. Parent: pid; child: retcode of mmap */ | 46 | /* save current result. |
| 49 | STUB_DATA(err) = err; | 47 | * Parent: pid; |
| 48 | * child: retcode of mmap already saved and it jumps around this | ||
| 49 | * assignment | ||
| 50 | */ | ||
| 51 | data->err = err; | ||
| 52 | done: | ||
| 50 | trap_myself(); | 53 | trap_myself(); |
| 51 | } | 54 | } |
diff --git a/arch/um/kernel/skas/include/uaccess-skas.h b/arch/um/kernel/skas/include/uaccess-skas.h index f611f83ad4ff..64516c556cdf 100644 --- a/arch/um/kernel/skas/include/uaccess-skas.h +++ b/arch/um/kernel/skas/include/uaccess-skas.h | |||
| @@ -7,7 +7,6 @@ | |||
| 7 | #define __SKAS_UACCESS_H | 7 | #define __SKAS_UACCESS_H |
| 8 | 8 | ||
| 9 | #include "asm/errno.h" | 9 | #include "asm/errno.h" |
| 10 | #include "asm/fixmap.h" | ||
| 11 | 10 | ||
| 12 | /* No SKAS-specific checking. */ | 11 | /* No SKAS-specific checking. */ |
| 13 | #define access_ok_skas(type, addr, size) 0 | 12 | #define access_ok_skas(type, addr, size) 0 |
