diff options
| author | elad <elad@NetBSD.org> | 2006-11-22 02:02:51 +0000 |
|---|---|---|
| committer | elad <elad@NetBSD.org> | 2006-11-22 02:02:51 +0000 |
| commit | a84fee7faffe0455d7a4d4f03c03d697bde6849c (patch) | |
| tree | a598a3231359a9c3ccc229b5b9c2aa9f340660fa /sys/kern/exec_elf32.c | |
| parent | 25e0bf9073a7cb7cb3443ad5b3b97717c19b18ac (diff) | |
Initial implementation of PaX Segvguard (this is still work-in-progress,
it's just to get it out of my local tree).
Diffstat (limited to 'sys/kern/exec_elf32.c')
| -rw-r--r-- | sys/kern/exec_elf32.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/kern/exec_elf32.c b/sys/kern/exec_elf32.c index b7aa4f2a9c0..00aac776a56 100644 --- a/sys/kern/exec_elf32.c +++ b/sys/kern/exec_elf32.c @@ -1,4 +1,4 @@ -/* $NetBSD: exec_elf32.c,v 1.118 2006/11/22 00:41:38 elad Exp $ */ +/* $NetBSD: exec_elf32.c,v 1.119 2006/11/22 02:02:51 elad Exp $ */ /*- * Copyright (c) 1994, 2000, 2005 The NetBSD Foundation, Inc. @@ -64,7 +64,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(1, "$NetBSD: exec_elf32.c,v 1.118 2006/11/22 00:41:38 elad Exp $"); +__KERNEL_RCSID(1, "$NetBSD: exec_elf32.c,v 1.119 2006/11/22 02:02:51 elad Exp $"); /* If not included by exec_elf64.c, ELFSIZE won't be defined. */ #ifndef ELFSIZE @@ -91,9 +91,9 @@ __KERNEL_RCSID(1, "$NetBSD: exec_elf32.c,v 1.118 2006/11/22 00:41:38 elad Exp $" #include <machine/cpu.h> #include <machine/reg.h> -#if defined(PAX_MPROTECT) +#if defined(PAX_MPROTECT) || defined(PAX_SEGVGUARD) #include <sys/pax.h> -#endif /* PAX_MPROTECT */ +#endif /* PAX_MPROTECT || PAX_SEGVGUARD */ extern const struct emul emul_netbsd; @@ -690,11 +690,10 @@ exec_elf_makecmds(struct lwp *l, struct exec_package *epp) case PT_INTERP: /* Already did this one. */ case PT_DYNAMIC: - break; case PT_NOTE: -#if defined(PAX_MPROTECT) +#if defined(PAX_MPROTECT) || defined(PAX_SEGVGUARD) pax_adjust(l, ph[i].p_flags); -#endif /* PAX_MPROTECT */ +#endif /* PAX_MPROTECT || PAX_SEGVGUARD */ break; case PT_PHDR: |
