freebsd-dev/sys/sys
Konstantin Belousov 212f264cd6 In rtld, read the initial stack access mode from AT_STACKPROT as set
by kernel, and parse PT_GNU_STACK phdr from linked and loaded dsos.

If the loaded dso requires executable stack, as specified by PF_X bit
of p_flags of PT_GNU_STACK phdr, but current stack protection does not
permit execution, the __pthread_map_stacks_exec symbol is looked up
and called. It should be implemented in libc or threading library and
change the protection mode of all thread stacks to be executable.

Provide a private interface _rtld_get_stack_prot() to export the stack
access mode as calculated by rtld.

Reviewed by:	   kan
2011-01-08 17:11:49 +00:00
..
_bus_dma.h Break out typedefs from bus_dma.h to _bus_dma.h so that we can get the 2006-09-03 00:26:17 +00:00
_iovec.h
_lock.h - Embed the recursion counter for any locking primitive directly in the 2008-05-15 20:10:06 +00:00
_lockmgr.h In current code, threads performing an interruptible sleep (on both 2009-12-12 21:31:07 +00:00
_mutex.h - Embed the recursion counter for any locking primitive directly in the 2008-05-15 20:10:06 +00:00
_null.h *sigh*, while the kernel built, userland C did not. Revert the previous 2009-05-11 21:13:00 +00:00
_pthreadtypes.h Fix the visibility of several prototypes. Also move pthread_kill() and 2009-03-14 20:10:14 +00:00
_rmlock.h rmlock(9) two additions and one change/fix: 2010-09-01 19:50:03 +00:00
_rwlock.h - Embed the recursion counter for any locking primitive directly in the 2008-05-15 20:10:06 +00:00
_semaphore.h Use umtx to implement process sharable semaphore, to make this work, 2010-01-05 02:37:59 +00:00
_sigset.h
_sockaddr_storage.h Move the duplicate definition of struct sockaddr_storage to its own 2009-09-08 10:39:38 +00:00
_stack.h Optimize lockmgr in order to get rid of the pool mutex interlock, of the 2008-04-06 20:08:51 +00:00
_sx.h - Embed the recursion counter for any locking primitive directly in the 2008-05-15 20:10:06 +00:00
_task.h Use a safer mechanism for determining if a task is currently running, 2010-10-13 22:59:04 +00:00
_termios.h Decompose <sys/termios.h>. 2009-11-28 23:50:48 +00:00
_timespec.h Rename st_*timespec fields to st_*tim for POSIX 2008 compliance. 2010-03-28 13:13:22 +00:00
_timeval.h
_types.h Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary 2008-10-28 13:44:11 +00:00
_umtx.h MFp4: 2010-12-22 05:01:52 +00:00
aac_ioctl.h Add additional featuresState.fBits entries to simplify compiling and 2009-10-29 17:21:41 +00:00
acct.h Increase precision of time values in the process accounting 2007-05-22 06:51:38 +00:00
acl.h First step at adopting FreeBSD to support PSARC/2010/029. This makes 2010-09-20 17:10:06 +00:00
agpio.h
aio.h Namespace: aio_waitcomplete() is a BSD extension. 2009-03-14 19:17:00 +00:00
alq.h - Rework the underlying ALQ storage to be a circular buffer, which amongst other 2010-04-26 13:48:22 +00:00
apm.h Add apple-boot and apple-ufs. 2009-12-14 22:47:09 +00:00
assym.h
ata.h Make PUIS detection more strict. Previous implementation caused false 2010-02-26 10:42:46 +00:00
bio.h Correct bioq_disksort so that bioq_insert_tail() offers barrier semantic. 2010-09-02 19:40:28 +00:00
bitstring.h
blist.h add malloc flag to blist so that it can be used in ithread context 2008-05-05 19:48:54 +00:00
buf_ring.h Switch to our preferred 2-clause BSD license. 2010-05-05 20:39:02 +00:00
buf.h Add INVARIANTS checking that numfreebufs values are sane. Also add a 2010-06-11 17:03:26 +00:00
bufobj.h Remove the struct thread unuseful argument from bufobj interface. 2008-10-10 21:23:50 +00:00
bus_dma.h When bouncing pages, allow a new option to preserve the intra-page 2009-02-08 22:54:58 +00:00
bus.h Retire the INTR_FAST flag as it was obsoleted by the introduction of the 2011-01-06 21:14:34 +00:00
callout.h Make kern_tc.c provide minimum frequency of tc_ticktock() calls, required 2010-09-14 08:48:06 +00:00
cdefs.h On 32 bit architectures define (u)int64_t as (unsigned) long long instead 2011-01-08 11:47:55 +00:00
cdio.h
cdrio.h
cfictl.h Add support for frobbing Intel StrataFlash Protection Registers: 2009-02-05 18:12:07 +00:00
chio.h
clock.h The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 17:55:51 +00:00
condvar.h - Pass the priority argument from *sleep() into sleepq and down into 2008-03-12 06:31:06 +00:00
conf.h Check the device name validity on device registration. 2010-10-07 18:00:55 +00:00
cons.h Allow multiple console devices per driver without insane code duplication. 2009-08-24 10:53:30 +00:00
consio.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
copyright.h Happy New Year 2011. 2010-12-31 18:07:16 +00:00
cpu.h Provide a new CPU device driver ivar to report the nominal speed of the 2009-05-31 08:59:15 +00:00
cpuctl.h - Add support to atomically set/clear individual bits of a MSR register 2009-06-30 12:35:47 +00:00
cpuset.h - Add a new cpuset macro, CPU_FILL(), for setting the set to all 1s. 2009-06-23 06:57:46 +00:00
ctype.h
dataacq.h
device_port.h
devicestat.h
digiio.h Fix our ioctl(2) implementation when the argument is "int". New 2006-09-27 19:57:02 +00:00
dir.h
dirent.h o Re-word a comment. 2006-08-16 09:34:56 +00:00
disk.h Remove spurious '/*-' marks and fix some other style problems. 2010-07-22 05:42:29 +00:00
disklabel.h Add MIPS platform, this will make bsdlabel(8) work on MIPS (when invoked 2010-09-23 05:24:50 +00:00
diskmbr.h Add NTFS partition type to GEOM_MBR. 2010-06-26 13:20:40 +00:00
diskpc98.h Move the PC98_[MS]ID_* defines from g_part_pc98.c to diskpc98.h. 2009-03-11 13:15:42 +00:00
dkstat.h
domain.h Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
dtrace_bsd.h Add the necessary DTrace function pointers. 2010-08-25 12:35:36 +00:00
dvdio.h
elf32.h Convert types 'Elf{32,64}_Nhdr' into aliases of the generic 'Elf_Note' 2006-10-17 05:43:30 +00:00
elf64.h style(9) 2009-01-01 02:08:56 +00:00
elf_common.h Add PT_GNU_STACK definition. 2010-11-23 12:51:08 +00:00
elf_generic.h style(9) 2009-01-01 02:08:56 +00:00
elf.h Remove _SOLARIS_C_SOURCE compatibility definitions. Unfortunately the 2007-11-28 21:54:46 +00:00
endian.h Fix some way-past-brucification complaints from FlexeLint. 2010-05-20 06:16:13 +00:00
errno.h Add a new errno, ENOTCAPABLE, to be returned when a process requests an 2009-10-07 20:20:51 +00:00
eui64.h
event.h The devices that supported EVFILT_NETDEV kqueue filters were removed in 2009-12-31 20:29:58 +00:00
eventhandler.h I added vfs_lowvnodes event, but it was only used for a short while and now 2010-05-11 22:46:36 +00:00
eventvar.h
exec.h Add macro DECLARE_MODULE_TIED to denote a module as requiring the 2010-10-12 09:18:17 +00:00
extattr.h Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary 2008-10-28 13:44:11 +00:00
fail.h Initialize fp_location for explicitly managed fail points, and push 2010-12-21 18:23:03 +00:00
fbio.h Yet another attempt to make palette loading more safer: 2010-02-23 21:51:14 +00:00
fcntl.h Add two new fcntls to enable/disable read-ahead: 2009-09-28 16:59:47 +00:00
fdcio.h
file.h Apply band-aid around function-like macro fdrop() without turning it into 2010-06-11 23:38:25 +00:00
filedesc.h - Implement a lockless file descriptor lookup algorithm in 2009-05-14 03:24:22 +00:00
filio.h Add FIONSPACE from NetBSD. FIONSPACE is provided so that programs may 2009-06-30 13:38:49 +00:00
firmware.h Cleanup and document the implementation of firmware(9) based on 2007-02-15 17:21:31 +00:00
fnv_hash.h
gmon.h
gpio.h Initial GPIO bus support. Includes: 2010-09-28 03:24:53 +00:00
gpt.h Add three GPT attributes: 2010-09-24 19:31:08 +00:00
hash.h Fix a compiler warning so hash.h can be included in the kernel. This changes 2007-04-09 22:55:14 +00:00
hhook.h - Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9), 2010-12-21 13:45:29 +00:00
iconv.h Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
imgact_aout.h Merge projects/enhanced_coredumps (r204346) into HEAD: 2010-03-02 06:58:58 +00:00
imgact_elf.h Reword the comment, fixing typo. 2010-07-24 14:23:06 +00:00
imgact.h Create shared (readonly) page. Each ABI may specify the use of page by 2011-01-08 16:13:44 +00:00
inflate.h
interrupt.h Remove 'softclock_ih' as it is no longer used. 2010-11-03 15:38:52 +00:00
ioccom.h IOCPARM_MAX defines maximum size of a structure that can be passed 2010-04-01 16:21:35 +00:00
ioctl_compat.h Perform cleanups to the TTY headers: 2009-09-06 09:39:40 +00:00
ioctl.h Clean up <sys/ioctl.h>. 2009-05-09 19:01:24 +00:00
ipc.h Change the ABI of some of the structures used by the SYSV IPC API: 2009-06-24 21:10:52 +00:00
ipmi.h Update the ipmi(4) driver: 2006-09-22 22:11:29 +00:00
jail.h Add ip4.saddrsel/ip4.nosaddrsel (and equivalent for ip6) to control 2010-01-17 12:57:11 +00:00
joystick.h
kbio.h Make the keyboard layer Unicode aware. 2009-09-19 17:56:26 +00:00
kdb.h DTrace can enter the debugger from a probe. Add a WHY definition for this. 2008-05-23 04:00:44 +00:00
kenv.h
kernel.h Remove unexisted since r212541 timer1hz/timer2hz variables. 2010-11-10 16:42:36 +00:00
kerneldump.h - Add minidump support for FreeBSD/mips 2010-11-07 03:09:02 +00:00
khelp.h - Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9), 2010-12-21 13:45:29 +00:00
kobj.h KOBJMETHOD: throw the switch on kobj method signature checking 2009-06-12 09:05:23 +00:00
ksem.h Rework the lifetime management of the kernel implementation of POSIX 2008-06-27 05:39:04 +00:00
ksyms.h Add the ksyms(4) pseudo driver. The ksyms driver allows a process to 2009-05-26 21:39:09 +00:00
kthread.h Remove spurious '/*-' marks and fix some other style problems. 2010-07-22 05:42:29 +00:00
ktr.h Remove extra commas from KTR_EVENT4() macro to match number of CTR6() args. 2010-07-24 10:07:17 +00:00
ktrace.h - When disabling ktracing on a process, free any pending requests that 2010-10-21 19:17:40 +00:00
libkern.h Add support for asterisk characters when filling in the GELI password 2010-11-14 14:12:43 +00:00
limits.h
link_aout.h
link_elf.h In rtld, read the initial stack access mode from AT_STACKPROT as set 2011-01-08 17:11:49 +00:00
linker_set.h After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
linker.h Implement a facility for dynamic per-cpu variables. 2009-06-23 22:42:39 +00:00
lock_profile.h In non-debugging mode make this define (void)0 instead of nothing. This 2009-06-21 09:01:12 +00:00
lock.h Protect BSDI $Id from accidental manipulation. 2010-09-10 06:26:28 +00:00
lockf.h The advisory lock may be activated or activated and removed during the 2009-05-24 12:39:38 +00:00
lockmgr.h Add dedicated routines to toggle lockmgr flags such as LK_NOSHARE and 2010-08-20 19:46:50 +00:00
lockstat.h Add the OpenSolaris dtrace lockstat provider. The lockstat provider 2009-05-26 20:28:22 +00:00
mac.h Update comments in mac.h. 2007-02-06 16:24:57 +00:00
malloc.h Add MALLOC_DEBUG_MAXZONES debug malloc(9) option to use multiple uma 2010-07-28 15:36:12 +00:00
mbpool.h
mbuf.h MFp4: anchie_soc2009 branch: 2010-08-19 11:31:03 +00:00
mchain.h Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
md4.h
md5.h
mdioctl.h
memrange.h Initial suspend/resume support for amd64. 2009-03-17 00:48:11 +00:00
mman.h Add the MAP_PREFAULT_READ option to mmap(2). 2010-08-28 16:57:07 +00:00
module_khelp.h - Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9), 2010-12-21 13:45:29 +00:00
module.h Add macro DECLARE_MODULE_TIED to denote a module as requiring the 2010-10-12 09:18:17 +00:00
mount.h Close body of the VFS_UNLOCK_GIANT() macro into do { } while (0) loop, 2010-12-21 21:59:21 +00:00
mouse.h Spell "Kensington Thinking Mouse" correctly. 2006-12-18 18:48:28 +00:00
mpt_ioctl.h Add a new personality to mpt(4) devices to allow userland applications to 2008-05-06 20:49:53 +00:00
mqueue.h
msg.h Change the ABI of some of the structures used by the SYSV IPC API: 2009-06-24 21:10:52 +00:00
msgbuf.h Make /dev/klog and kern.msgbuf* MPSAFE. 2009-11-03 21:06:19 +00:00
mtio.h
mutex.h - Remove <machine/mutex.h>. Most of the headers were empty, and the 2010-11-09 20:46:41 +00:00
namei.h Extend the cn_flags field of the struct componentname to 64 bits to have 2009-07-09 18:49:26 +00:00
nlist_aout.h Make the char *n_name member of struct nlist 'const'. 2010-06-10 14:19:51 +00:00
osd.h - Introduce the Hhook (Helper Hook) KPI. The KPI is closely modelled on pfil(9), 2010-12-21 13:45:29 +00:00
param.h - Add some helper hook points to the TCP stack. The hooks allow Khelp modules to 2010-12-28 12:13:30 +00:00
pciio.h - Add a new ioctl to /dev/pci to fetch details on an individual BAR of a 2009-02-02 22:04:40 +00:00
pcpu.h After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
pioctl.h Fix copyright spelling 2010-03-10 20:30:51 +00:00
pipe.h - Make maxpipekva a signed long rather than an unsigned long as overflow 2009-03-10 21:28:43 +00:00
pmc.h Set the comment at the right place for PMC uncore classes. 2010-06-15 09:12:31 +00:00
pmckern.h Support sparsely numbered CPUs. 2008-09-22 10:37:02 +00:00
pmclog.h - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +00:00
poll.h
posix4.h Add a facility to dynamically adjust or unconfigure p1003_1b mib. 2010-06-02 09:59:05 +00:00
power.h
priority.h Retire PCONFIG and leave the priority of thread0 alone when waiting for 2011-01-06 22:09:37 +00:00
priv.h Fix typo in comment. 2010-07-20 11:20:45 +00:00
proc.h MFp4: 2010-12-09 02:42:02 +00:00
procfs.h Add the ability for GDB to printout the thread name along with other 2010-11-22 14:42:13 +00:00
protosw.h Introduce an infrastructure for dismantling vnet instances. 2009-06-08 17:15:40 +00:00
ptio.h
ptrace.h Add the ability for GDB to printout the thread name along with other 2010-11-22 14:42:13 +00:00
queue.h Add SLIST_SWAP() macro. 2010-12-03 16:07:50 +00:00
random.h
reboot.h
refcount.h Remove debugging cruft. 2008-07-23 16:44:20 +00:00
regression.h
resource.h Style fix - keep the line length below 80 characters. 2010-07-18 11:13:36 +00:00
resourcevar.h Revert r210225 - turns out I was wrong; the "/*-" is not license-only 2010-07-18 20:57:53 +00:00
rman.h
rmlock.h rmlock(9) two additions and one change/fix: 2010-09-01 19:50:03 +00:00
rtprio.h Replace (name) with Henric Vestergaard Draboel since it was clear that 2007-01-08 21:21:45 +00:00
runq.h - Restore runq to manipulating threads directly by putting runq links and 2008-03-20 05:51:16 +00:00
rwlock.h When releasing a read/shared lock we need to use a write memory barrier 2009-09-30 13:26:31 +00:00
sbuf.h Replace sbuf_overflowed() with sbuf_error(), which returns any error 2010-09-10 16:42:16 +00:00
sched.h - Follow r216313, the sched_unlend_user_prio is no longer needed, always 2010-12-29 09:26:46 +00:00
sdt.h Add an extra comment to the SDT probes definition. This allows us to get 2010-08-22 11:18:57 +00:00
select.h
selinfo.h Refactor select to reduce contention and hide internal implementation 2007-12-16 06:21:20 +00:00
sem.h Change the ABI of some of the structures used by the SYSV IPC API: 2009-06-24 21:10:52 +00:00
sema.h
serial.h
sf_buf.h
sglist.h Change the 'resid' parameter to sglist_consume_uio() from an int to a 2009-08-20 19:23:58 +00:00
shm.h Change the ABI of some of the structures used by the SYSV IPC API: 2009-06-24 21:10:52 +00:00
sigio.h
signal.h Make POLL_ERR and POLL_HUP different. 2010-11-12 15:30:49 +00:00
signalvar.h Create a global thread hash table to speed up thread lookup, use 2010-10-09 02:50:23 +00:00
sleepqueue.h Tighten up some of the comments describing turnstiles and sleepqueues. 2010-12-13 23:53:55 +00:00
smp.h Add some platform KOBJ extensions and continue integrating PowerPC 2010-11-12 04:18:19 +00:00
snoop.h
sockbuf.h Rework socket upcalls to close some races with setup/teardown of upcalls. 2009-06-01 21:17:03 +00:00
socket.h This commit implements the SO_USER_COOKIE socket option, which lets 2010-11-12 13:02:26 +00:00
socketvar.h This commit implements the SO_USER_COOKIE socket option, which lets 2010-11-12 13:02:26 +00:00
sockio.h Reshuffle SIOCGIFCONF32 handler from r155224. 2010-10-21 16:20:48 +00:00
sockopt.h Factor sockbuf, sockopt, and sockstate out of socketvar.h in to separate headers. 2008-07-29 07:45:05 +00:00
sockstate.h Factor sockbuf, sockopt, and sockstate out of socketvar.h in to separate headers. 2008-07-29 07:45:05 +00:00
soundcard.h Move machine dependant AFMT_* definition from sound.h 2009-06-10 03:56:24 +00:00
stack.h Add stack_print_short() and stack_print_short_ddb() interfaces to 2009-06-24 12:06:15 +00:00
stat.h Rename st_*timespec fields to st_*tim for POSIX 2008 compliance. 2010-03-28 13:13:22 +00:00
statvfs.h
stddef.h
stdint.h
sun_disklabel.h
sx.h When releasing a read/shared lock we need to use a write memory barrier 2009-09-30 13:26:31 +00:00
syscall.h Regen 2010-08-30 14:26:02 +00:00
syscall.mk Regen 2010-08-30 14:26:02 +00:00
syscallsubr.h Move prototypes for kern_sigtimedwait() and kern_sigprocmask() to 2010-06-30 18:03:42 +00:00
sysctl.h Do not hold the sysctl lock across a call to the handler. This fixes a 2010-11-29 18:18:07 +00:00
sysent.h Create shared (readonly) page. Each ABI may specify the use of page by 2011-01-08 16:13:44 +00:00
syslimits.h Rework the credential code to support larger values of NGROUPS and 2009-06-19 17:10:35 +00:00
syslog.h Namespace: vsyslog() is a BSD extension. 2009-03-14 19:07:25 +00:00
sysproto.h Regen 2010-08-30 14:26:02 +00:00
systm.h Rename boot() to kern_reboot() and make it visible outside of 2010-10-18 04:30:27 +00:00
taskqueue.h Add a taskqueue_cancel(9) to cancel a pending task without waiting for 2010-11-08 20:56:31 +00:00
termios.h Decompose <sys/termios.h>. 2009-11-28 23:50:48 +00:00
thr.h Make this file more C++ friendly. 2010-04-20 17:57:43 +00:00
tiio.h
time.h Certain static code analysis tools (FlexeLint being one) are very 2010-10-04 10:48:47 +00:00
timeb.h Add warnings to <regexp.h> and <sys/timeb.h>. 2010-03-09 21:01:12 +00:00
timeet.h Refactor timer management code with priority to one-shot operation mode. 2010-09-13 07:25:35 +00:00
timepps.h
timers.h
times.h
timespec.h Rename st_*timespec fields to st_*tim for POSIX 2008 compliance. 2010-03-28 13:13:22 +00:00
timetc.h Make kern_tc.c provide minimum frequency of tc_ticktock() calls, required 2010-09-14 08:48:06 +00:00
timex.h
tree.h In sys/tree.h: 2009-03-01 04:57:23 +00:00
tty.h Make TIOCSTI work again. 2010-01-04 20:59:52 +00:00
ttycom.h Perform cleanups to the TTY headers: 2009-09-06 09:39:40 +00:00
ttydefaults.h Reduce the default baud rate of PTY's to 9600. 2008-11-08 20:40:39 +00:00
ttydevsw.h Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
ttydisc.h Add ttydisc_rint_simple(). 2009-08-23 08:04:40 +00:00
ttyhook.h Change ttyhook_register() second argument from thread to process pointer. 2008-12-13 21:17:46 +00:00
ttyqueue.h Properly set the low watermarks when reducing the baud rate. 2009-10-19 07:17:37 +00:00
turnstile.h Tighten up some of the comments describing turnstiles and sleepqueues. 2010-12-13 23:53:55 +00:00
types.h Remove spurious '/*-' marks and fix some other style problems. 2010-07-22 05:42:29 +00:00
ucontext.h
ucred.h Remove the interim vimage containers, struct vimage and struct procg, 2009-07-17 14:48:21 +00:00
uio.h Change the type of uio_resid member of struct uio from int to ssize_t. 2009-06-25 18:46:30 +00:00
umtx.h MFp4: 2010-12-22 05:01:52 +00:00
un.h Now that portalfs doesn't directly invoke uipc_connect2(), make it a 2008-10-06 18:43:11 +00:00
unistd.h Indicate that POSIX semaphores are always supported. 2010-09-19 12:01:50 +00:00
unpcb.h Remove explicit locking of struct file. 2007-12-30 01:42:15 +00:00
user.h Make a thread's address available via the kern proc sysctl, just like the 2010-10-08 00:44:53 +00:00
utsname.h
uuid.h
vmmeter.h Push down the page queues into vm_page_cache(), vm_page_try_to_cache(), and 2010-05-08 20:34:01 +00:00
vnode.h Remove prtactive variable and related printf()s in the vop_inactive 2010-11-19 21:17:34 +00:00
vtoc.h - In gpart_bootfile_read() fix an off-by-one error preventing the bootstrap 2010-06-03 13:01:55 +00:00
wait.h Implement WNOWAIT flag for wait4(2). It specifies that process whose status 2008-08-26 12:37:16 +00:00
watchdog.h Align the interfaces for the various watchdogs and make the interface 2006-12-15 21:44:49 +00:00