From 9ccd2fba974a97f5e84d148dbc3652b01492e145 Mon Sep 17 00:00:00 2001 From: Jeff Dike Date: Mon, 21 Nov 2005 21:32:04 -0800 Subject: [PATCH] --- yaml --- r: 14599 b: refs/heads/master c: 39d730ab87f07592e3a3794353f097d5184cae7a h: refs/heads/master i: 14597: 60ad0f53c41169f7f0648afb8ba5a22898cc6aee 14595: 8ba2d1154b68dcaac9465f4821c1d02e8df11ac2 14591: 0d7116b479580e66df5e93bc3e91e19311f8819f v: v3 --- [refs] | 2 +- trunk/arch/um/kernel/skas/clone.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index eaf25f9b420f..569ab32a655a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 18317ab0ca5ac0c654be3eac31ebb781b4a5e9b2 +refs/heads/master: 39d730ab87f07592e3a3794353f097d5184cae7a diff --git a/trunk/arch/um/kernel/skas/clone.c b/trunk/arch/um/kernel/skas/clone.c index 4dc55f10cd18..39c0d7145d31 100644 --- a/trunk/arch/um/kernel/skas/clone.c +++ b/trunk/arch/um/kernel/skas/clone.c @@ -13,11 +13,13 @@ /* This is in a separate file because it needs to be compiled with any * extraneous gcc flags (-pg, -fprofile-arcs, -ftest-coverage) disabled */ + +#define STUB_DATA(field) (((struct stub_data *) UML_CONFIG_STUB_DATA)->field) + void __attribute__ ((__section__ (".__syscall_stub"))) stub_clone_handler(void) { long err; - struct stub_data *from = (struct stub_data *) UML_CONFIG_STUB_DATA; err = stub_syscall2(__NR_clone, CLONE_PARENT | CLONE_FILES | SIGCHLD, UML_CONFIG_STUB_DATA + PAGE_SIZE / 2 - @@ -30,15 +32,15 @@ stub_clone_handler(void) goto out; err = stub_syscall3(__NR_setitimer, ITIMER_VIRTUAL, - (long) &from->timer, 0); + (long) &STUB_DATA(timer), 0); if(err) goto out; err = stub_syscall6(STUB_MMAP_NR, UML_CONFIG_STUB_DATA, PAGE_SIZE, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, - from->fd, from->offset); + STUB_DATA(fd), STUB_DATA(offset)); out: /* save current result. Parent: pid; child: retcode of mmap */ - from->err = err; + STUB_DATA(err) = err; trap_myself(); }