freebsd-nq/sys
Mark Johnston 22e406c80b Rework and simplify the ksyms(4) implementation.
- Store the symbol table contents in an anonymous swap-backed object. Have
  mmap(/dev/ksyms) map that object, and stop mapping the symbol table into
  the calling process in ksyms_open(). Previously we would cache a pointer
  to the pmap of the opening process, and mmap(/dev/ksyms) would create a
  mapping using the physical address found by a pmap lookup at the initial
  mapping address. However, this assumes that the cached pmap is valid,
  which may not be the case. [1]
- Remove the ksyms ioctl interface. It appears to have been added to work
  around a limitation in libelf that no longer exists; see r321842.
  Moreover, the interface is difficult to support and isn't present in
  illumos. Since ksyms was added specifically to support lockstat(1), it
  is expected that this removal won't have any real impact.
- Simplify ksyms_read() to avoid unnecessary copying.
- Don't call the device handle destructor if we fail to capture a snapshot
  of the kernel's symbol table. devfs will do that for us.

Reported by:	Ilja van Sprundel <ivansprundel@ioactive.com> [1]
Reviewed by:	kib (previous revision)
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D11789
2017-08-03 00:38:13 +00:00
..
amd64 Keep top page on CloudABI to work around AMD Ryzen stability issues. 2017-08-02 13:08:10 +00:00
arm arm64: Add Allwinner H5 SoC 2017-08-02 20:19:19 +00:00
arm64 arm64: Add Allwinner H5 SoC 2017-08-02 20:19:19 +00:00
boot Alwinner: nanopi-neo: Remove r_i2c node from DTS as it isn't used on the board 2017-08-01 19:22:00 +00:00
bsm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
cam adaasync(): Set ADA_STATE_WCACHE based on ADA_FLAG_CAN_WCACHE 2017-07-27 07:28:29 +00:00
cddl spa_import_rootpool should be able to handle an imported root pool 2017-07-25 13:17:06 +00:00
compat Fix LinuxKPI regression after r321920. The mda_unit and si_drv0 fields are not 2017-08-02 14:27:27 +00:00
conf arm64: Add Allwinner H5 SoC 2017-08-02 20:19:19 +00:00
contrib Merge ena-com 1.1.4.2 2017-08-01 11:00:04 +00:00
crypto Remove register keyword from sys/ and ANSIfy prototypes 2017-05-17 00:34:34 +00:00
ddb Include opt files in the kernel with "" instead of <>. 2017-07-10 05:08:01 +00:00
dev Rework and simplify the ksyms(4) implementation. 2017-08-03 00:38:13 +00:00
fs Implement proper Linux /dev/fd and /proc/self/fd behavior by adding 2017-08-01 03:40:19 +00:00
gdb
geom Add GEOM::descr attribute for symmetry with GEOM::ident. 2017-07-06 08:36:14 +00:00
gnu Update DTS files from Linux 4.12 2017-07-09 13:53:32 +00:00
i386 Do not call trapsignal() after handling usermode fault or interrupt, 2017-08-02 10:12:10 +00:00
isa Protect access to the AT realtime clock with its own mutex. 2017-07-12 02:42:57 +00:00
kern Amend r321884 to check the refcount and update the class with w_mtx held. 2017-08-01 23:14:38 +00:00
kgssapi
libkern arm64: add ".arch armv8-a+crc" to allow use of crc instructions 2017-06-08 20:06:09 +00:00
mips [ar71xx] get rid of ath_pci - it's built as a module now. 2017-07-28 01:17:38 +00:00
modules Add missing ofw_bus_if.h src file. 2017-08-02 15:16:40 +00:00
net Add inpcb pointer to struct ipsec_ctx_data and pass it to the pfil hook 2017-07-31 11:04:35 +00:00
net80211 sys/net8021: Add missing braces in setcurchan(). 2017-08-01 03:13:43 +00:00
netgraph Check return value from soaccept(). 2017-06-14 16:13:20 +00:00
netinet After inpcb route caching was put back in place there is no need for 2017-07-27 13:03:36 +00:00
netinet6 After inpcb route caching was put back in place there is no need for 2017-07-27 13:03:36 +00:00
netipsec Add inpcb pointer to struct ipsec_ctx_data and pass it to the pfil hook 2017-07-31 11:04:35 +00:00
netpfil Fix a couple of typos in a comment. 2017-07-21 03:04:55 +00:00
netsmb
nfs Improve FHA locality control for NFS read/write requests. 2017-07-31 15:23:19 +00:00
nfsclient Add an NFSv4.1 mount option for "use one openowner". 2017-04-13 21:54:19 +00:00
nfsserver
nlm Commit the 64-bit inode project. 2017-05-23 09:29:05 +00:00
ofed Avoid including list.h in LinuxKPI headers. 2017-06-18 16:43:57 +00:00
opencrypto Use const with some read-only buffers in opencrypto APIs. 2017-05-09 18:28:42 +00:00
powerpc Add cpufreq support for P1022 and MPC8536 2017-07-21 03:40:05 +00:00
riscv Clean up MD pollution of bus_dma.h: 2017-07-01 05:35:29 +00:00
rpc Listening sockets improvements. 2017-06-08 21:30:34 +00:00
security Correct bitwise test in mac_bsdextended ugidfw_rule_valid() 2017-06-13 01:17:58 +00:00
sparc64 Clean up MD pollution of bus_dma.h: 2017-07-01 05:35:29 +00:00
sys Rework and simplify the ksyms(4) implementation. 2017-08-03 00:38:13 +00:00
teken Oops, my fix for bright colors broke bright black some more (in cases 2017-03-27 10:48:28 +00:00
tests style(9): sort headers 2017-05-09 05:08:47 +00:00
tools make.conf: Add the possibility to use another DTC 2017-06-17 23:34:53 +00:00
ufs Avoid reading a snapshot block when it is already in the cache. 2017-07-31 20:41:45 +00:00
vm Mark pages after EOF as clean after pageout. 2017-07-26 20:07:05 +00:00
x86 Don't trace running threads that have interrupts disabled. 2017-07-31 17:57:54 +00:00
xdr * limit size of buffers to RPC_MAXDATASIZE 2017-06-01 06:12:25 +00:00
xen
Makefile Remove glimpse make target added in r181432 2017-05-22 15:53:30 +00:00