opnsense-src/sys
Mark Johnston f263e440d4 SDT probes can directly pass up to five arguments as arguments to
dtrace_probe(). Arguments beyond these five must be obtained in an
architecture-specific way; this can be done through the getargval provider
method, and through dtrace_getarg() if getargval isn't overridden.

This change fixes two off-by-one bugs in the way these arguments are fetched
in FreeBSD's DTrace implementation. First, the SDT provider must set the
aframes parameter to 1 when creating a probe. The aframes parameter controls
the number of frames that dtrace_getarg() will step over in order to find
the frame containing the extra arguments. On FreeBSD, dtrace_getarg() is
called in SDT probe context via

dtrace_probe()->dtrace_dif_emulate()->dtrace_dif_variable->dtrace_getarg()

so aframes must be 3 since the arguments are in dtrace_probe()'s frame; it
was previously being called with a value of 2 instead. illumos uses a
different aframes value for SDT probes, but this is because illumos SDT
probes fire by triggering the #UD fault handler rather than calling
dtrace_probe() directly.

The second bug has to do with the way arguments are grabbed out
dtrace_probe()'s frame on amd64. The code currently jumps over the first
stack argument and retrieves the rest of them using a pointer into the
stack. This works on i386 because all of dtrace_probe()'s arguments will be
on the stack and the first argument is the probe ID, which should be
ignored. However, it is incorrect to ignore the first stack argument on
amd64, so we correct the pointer used to access the arguments.

MFC after:	2 weeks
2013-06-02 01:05:36 +00:00
..
amd64 Use slightly more idiomatic expression to get the address of array. 2013-05-27 18:39:39 +00:00
arm AM335x LCD controller driver with syscons support 2013-05-27 00:23:01 +00:00
boot MFi386: revision 245848 2013-06-01 12:27:48 +00:00
bsm Implement chflagsat(2) system call, similar to fchmodat(2), but operates on 2013-03-21 22:59:01 +00:00
cam Added missing SCSI quirks from r241784 2013-05-28 14:44:37 +00:00
cddl SDT probes can directly pass up to five arguments as arguments to 2013-06-02 01:05:36 +00:00
compat Add a "kern.features" MIB for 32bit support under a 64bit kernel. 2013-05-31 21:43:17 +00:00
conf Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. 2013-05-24 09:22:43 +00:00
contrib Fix a false -> AH_FALSE. 2013-05-29 04:21:42 +00:00
crypto When porting XTS-related code from OpenBSD I forgot to update copyright (only 2013-02-20 22:59:53 +00:00
ddb
dev sys/dev/xen/blkfront/blkfront.c: 2013-06-01 04:07:56 +00:00
fs - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
gdb
geom MFP4 @222836 2013-05-30 01:19:02 +00:00
gnu/fs/reiserfs Garbage collect XFS bits which are now already completely disconnected 2013-03-02 15:33:54 +00:00
i386 Use slightly more idiomatic expression to get the address of array. 2013-05-27 18:39:39 +00:00
ia64 Driver 'aacraid' added. Supports Adaptec by PMC RAID controller families Series 6, 7, 8 and upcoming products. Older Adaptec RAID controller families are supported by the 'aac' driver. 2013-05-24 09:22:43 +00:00
isa
kern Move an assertion to the right spot; only bus_dmamap_load_mbuf(9) 2013-06-01 11:42:47 +00:00
kgssapi Isilon reported that sec=krb5p NFS mounts had a problem when m_len == 0 2013-05-01 22:07:55 +00:00
libkern Attempt to mitigate poor initialization of arc4 by one-shot 2013-04-19 00:30:52 +00:00
mips Don't assign the copyright to the FreeBSD foundation for the years 2013-05-29 16:51:03 +00:00
modules Port the SDT test now that it's possible to create SDT probes that take 2013-06-02 00:33:36 +00:00
net Bring in a number of new features, mostly implemented by Michio Honda: 2013-05-30 14:07:14 +00:00
net80211 Fix net80211 fragment creation. 2013-05-25 06:28:30 +00:00
netatalk Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
netgraph Fix several typos 2013-05-12 16:43:26 +00:00
netinet Remove redundant checks. 2013-05-28 09:25:58 +00:00
netinet6 Really fix netmask address family this time. 2013-05-19 19:42:46 +00:00
netipsec Use IP6STAT_INC/IP6STAT_DEC macros to update ip6 stats. 2013-04-09 07:11:22 +00:00
netipx Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netnatm Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
netpfil Return meaningful error code from pf_state_key_attach() and 2013-05-11 18:06:51 +00:00
netsmb If the kernel is compiled with VMIMAGE support, the first attempt of 2013-05-04 16:55:48 +00:00
nfs Move the NFS FHA (File Handle Affinity) code from sys/nfsserver to 2013-04-17 22:42:43 +00:00
nfsclient - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nfsserver - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
nlm
ofed Fxi a bunch of typos. 2013-05-10 16:41:26 +00:00
opencrypto When porting XTS-related code from OpenBSD I forgot to update copyright (only 2013-02-20 22:59:53 +00:00
pc98 MFi386: revision 251039 2013-06-01 12:21:59 +00:00
pci - Corrrect mispellings of word useful 2013-04-17 11:45:15 +00:00
powerpc o Relax locking assertions for vm_page_find_least() 2013-05-21 20:38:19 +00:00
rpc Fix a potential socket leak in the NFS server. If a client closes its 2013-04-08 19:03:01 +00:00
security Switch the vm_object mutex to be a rwlock. This will enable in the 2013-03-09 02:32:23 +00:00
sparc64 o Relax locking assertions for vm_page_find_least() 2013-05-21 20:38:19 +00:00
sys Move <stdatomic.h> into sys/sys/. 2013-06-01 21:02:26 +00:00
teken
tools Further refine the handling of stop signals in the NFS client. The 2013-02-21 19:02:50 +00:00
ufs - Convert the bufobj lock to rwlock. 2013-05-31 00:43:41 +00:00
vm Now that access to the page's "act_count" field is synchronized by the page 2013-06-01 20:32:34 +00:00
x86 Add basic support for FDT to i386 & amd64. This change includes: 2013-05-21 03:05:49 +00:00
xdr Use m_get() and m_getcl() instead of compat macros. 2013-03-15 10:21:18 +00:00
xen Fix loss of the emulated keyboard on Xen PV HVM domains. 2013-05-22 19:22:44 +00:00
Makefile Remove netncp cscope entry missed in r248097 2013-03-12 14:21:52 +00:00