Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/netbsd-1-5]: src/sys/compat/linux/arch/i386 Pull up revision 1.75 (reque...



details:   https://anonhg.NetBSD.org/src/rev/aceeaafbb971
branches:  netbsd-1-5
changeset: 493040:aceeaafbb971
user:      he <he%NetBSD.org@localhost>
date:      Wed Apr 03 22:11:20 2002 +0000

description:
Pull up revision 1.75 (requested by christos):
  Fix restoral of %fs / %gs in i386 emulation code.

diffstat:

 sys/compat/linux/arch/i386/linux_machdep.c |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (28 lines):

diff -r 97b72adff808 -r aceeaafbb971 sys/compat/linux/arch/i386/linux_machdep.c
--- a/sys/compat/linux/arch/i386/linux_machdep.c        Wed Apr 03 22:10:58 2002 +0000
+++ b/sys/compat/linux/arch/i386/linux_machdep.c        Wed Apr 03 22:11:20 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: linux_machdep.c,v 1.50.2.3 2001/06/17 22:27:20 he Exp $        */
+/*     $NetBSD: linux_machdep.c,v 1.50.2.4 2002/04/03 22:11:20 he Exp $        */
 
 /*-
  * Copyright (c) 1995, 2000 The NetBSD Foundation, Inc.
@@ -206,6 +206,8 @@
        /*
         * Build context to run handler in.
         */
+       tf->tf_gs = GSEL(GUDATA_SEL, SEL_UPL);
+       tf->tf_fs = GSEL(GUDATA_SEL, SEL_UPL);
        tf->tf_es = GSEL(GUDATA_SEL, SEL_UPL);
        tf->tf_ds = GSEL(GUDATA_SEL, SEL_UPL);
        tf->tf_eip = (int)psp->ps_sigcode;
@@ -282,7 +284,8 @@
                    !USERMODE(context.sc_cs, context.sc_eflags))
                        return (EINVAL);
 
-               /* %fs and %gs were restored by the trampoline. */
+               tf->tf_gs = context.sc_gs;
+               tf->tf_fs = context.sc_fs;
                tf->tf_es = context.sc_es;
                tf->tf_ds = context.sc_ds;
                tf->tf_eflags = context.sc_eflags;



Home | Main Index | Thread Index | Old Index