linux_sysvec.c (111429) | linux_sysvec.c (111797) |
---|---|
1/*- 2 * Copyright (c) 1994-1996 S�ren Schmidt 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * | 1/*- 2 * Copyright (c) 1994-1996 S�ren Schmidt 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/sys/i386/linux/linux_sysvec.c 111429 2003-02-24 16:16:45Z kan $ | 28 * $FreeBSD: head/sys/i386/linux/linux_sysvec.c 111797 2003-03-03 09:14:26Z des $ |
29 */ 30 31/* XXX we use functions that might not exist. */ 32#include "opt_compat.h" 33 34#ifndef COMPAT_43 35#error "Unable to compile Linux-emulator due to missing COMPAT_43 option!" 36#endif --- 481 unchanged lines hidden (view full) --- 518 if (ldebug(sigreturn)) 519 printf(ARGS(sigreturn, "%p"), (void *)args->sfp); 520#endif 521 /* 522 * The trampoline code hands us the sigframe. 523 * It is unsafe to keep track of it ourselves, in the event that a 524 * program jumps out of a signal handler. 525 */ | 29 */ 30 31/* XXX we use functions that might not exist. */ 32#include "opt_compat.h" 33 34#ifndef COMPAT_43 35#error "Unable to compile Linux-emulator due to missing COMPAT_43 option!" 36#endif --- 481 unchanged lines hidden (view full) --- 518 if (ldebug(sigreturn)) 519 printf(ARGS(sigreturn, "%p"), (void *)args->sfp); 520#endif 521 /* 522 * The trampoline code hands us the sigframe. 523 * It is unsafe to keep track of it ourselves, in the event that a 524 * program jumps out of a signal handler. 525 */ |
526 if (copyin((caddr_t)args->sfp, &frame, sizeof(frame)) != 0) | 526 if (copyin(args->sfp, &frame, sizeof(frame)) != 0) |
527 return (EFAULT); 528 529 /* 530 * Check for security violations. 531 */ 532#define EFLAGS_SECURE(ef, oef) ((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0) 533 eflags = frame.sf_sc.sc_eflags; 534 /* --- 79 unchanged lines hidden (view full) --- 614 if (ldebug(rt_sigreturn)) 615 printf(ARGS(rt_sigreturn, "%p"), (void *)args->ucp); 616#endif 617 /* 618 * The trampoline code hands us the ucontext. 619 * It is unsafe to keep track of it ourselves, in the event that a 620 * program jumps out of a signal handler. 621 */ | 527 return (EFAULT); 528 529 /* 530 * Check for security violations. 531 */ 532#define EFLAGS_SECURE(ef, oef) ((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0) 533 eflags = frame.sf_sc.sc_eflags; 534 /* --- 79 unchanged lines hidden (view full) --- 614 if (ldebug(rt_sigreturn)) 615 printf(ARGS(rt_sigreturn, "%p"), (void *)args->ucp); 616#endif 617 /* 618 * The trampoline code hands us the ucontext. 619 * It is unsafe to keep track of it ourselves, in the event that a 620 * program jumps out of a signal handler. 621 */ |
622 if (copyin((caddr_t)args->ucp, &uc, sizeof(uc)) != 0) | 622 if (copyin(args->ucp, &uc, sizeof(uc)) != 0) |
623 return (EFAULT); 624 625 context = &uc.uc_mcontext; 626 627 /* 628 * Check for security violations. 629 */ 630#define EFLAGS_SECURE(ef, oef) ((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0) --- 311 unchanged lines hidden --- | 623 return (EFAULT); 624 625 context = &uc.uc_mcontext; 626 627 /* 628 * Check for security violations. 629 */ 630#define EFLAGS_SECURE(ef, oef) ((((ef) ^ (oef)) & ~PSL_USERCHANGE) == 0) --- 311 unchanged lines hidden --- |