opnsense-src/sys/i386/ibcs2
Konstantin Belousov 3494f31ad2 Fix misuse of the kernel map in miscellaneous image activators.
Vnode-backed mappings cannot be put into the kernel map, since it is a
system map.

Use exec_map for transient mappings, and remove the mappings with
kmem_free_wakeup() to notify the waiters on available map space.

Do not map the whole executable into KVA at all to copy it out into
usermode.  Directly use vn_rdwr() for the case of not page aligned
binary.

There is one place left where the potentially unbounded amount of data
is mapped into exec_map, namely, in the COFF image activator
enumeration of the needed shared libraries.

Reviewed by:   alc
MFC after:     2 weeks
2012-02-17 23:47:16 +00:00
..
coff.h Convert files to UTF-8 2012-01-15 13:23:18 +00:00
ibcs2_dirent.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_errno.c /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_errno.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_fcntl.c Improve *access*() parameter name consistency. 2011-11-19 06:35:15 +00:00
ibcs2_fcntl.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_ioctl.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
ibcs2_ioctl.h
ibcs2_ipc.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
ibcs2_ipc.h Use ibsc2_key_t rather than key_t. 2006-07-08 19:52:49 +00:00
ibcs2_isc.c Convert files to UTF-8 2012-01-15 13:23:18 +00:00
ibcs2_isc_syscall.h Regenerate system call tables to use SVN ids. 2009-05-08 20:16:04 +00:00
ibcs2_isc_sysent.c Auto-generated code from sys_ prefixing makesyscalls.sh change 2011-09-16 14:04:14 +00:00
ibcs2_misc.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
ibcs2_mount.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_msg.c Use the regular poll(2) function to implement poll(2) for the IBCS2 compat 2006-07-06 21:29:05 +00:00
ibcs2_other.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
ibcs2_proto.h Regenerate system call tables. 2011-11-19 06:36:11 +00:00
ibcs2_signal.c In order to maximize the re-usability of kernel code in user space this 2011-09-16 13:58:51 +00:00
ibcs2_signal.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_socksys.c Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
ibcs2_socksys.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_stat.c Use strchr() and strrchr(). 2012-01-02 12:12:10 +00:00
ibcs2_stat.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_statfs.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_stropts.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_syscall.h Regenerate system call tables. 2011-11-19 06:36:11 +00:00
ibcs2_sysent.c Regenerate system call tables. 2011-11-19 06:36:11 +00:00
ibcs2_sysi86.c Convert files to UTF-8 2012-01-15 13:23:18 +00:00
ibcs2_sysvec.c Extend struct sysvec with new method sv_schedtail, which is used for an 2011-03-08 19:01:45 +00:00
ibcs2_termios.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_time.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_types.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_unistd.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_ustat.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_util.c Implement the linux syscalls 2008-04-08 09:45:49 +00:00
ibcs2_util.h Retire the stackgap macros from ibcs2 as they are no longer used. Push 2006-07-10 17:59:26 +00:00
ibcs2_utime.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_utsname.h /* -> /*- for license, add FreeBSD tag 2005-01-06 23:22:04 +00:00
ibcs2_xenix.c Convert files to UTF-8 2012-01-15 13:23:18 +00:00
ibcs2_xenix.h Auto-generated code from sys_ prefixing makesyscalls.sh change 2011-09-16 14:04:14 +00:00
ibcs2_xenix_syscall.h Regenerate system call tables to use SVN ids. 2009-05-08 20:16:04 +00:00
ibcs2_xenix_sysent.c Auto-generated code from sys_ prefixing makesyscalls.sh change 2011-09-16 14:04:14 +00:00
imgact_coff.c Fix misuse of the kernel map in miscellaneous image activators. 2012-02-17 23:47:16 +00:00
Makefile Correct help line: list targets, not names of files generated by targets 2006-02-05 23:25:19 +00:00
syscalls.conf - Remove unused sysvec variables from various syscalls.conf. 2006-08-15 17:25:55 +00:00
syscalls.isc Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to 2006-07-28 19:05:28 +00:00
syscalls.isc.conf - Remove unused sysvec variables from various syscalls.conf. 2006-08-15 17:25:55 +00:00
syscalls.master Improve *access*() parameter name consistency. 2011-11-19 06:35:15 +00:00
syscalls.xenix Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to 2006-07-28 19:05:28 +00:00
syscalls.xenix.conf - Remove unused sysvec variables from various syscalls.conf. 2006-08-15 17:25:55 +00:00