freebsd kernel with SKQ
Go to file
John Baldwin f2dceb474b Make stack_save*() more robust on MIPS.
- Validate any stack addresses read from against td_kstack before
  reading.  If an unwind operation would attempt to read outside the
  bounds of td_kstack, abort the unwind instead.

- For stack_save_td(), don't use the PC and SP from the current
  thread, instead read the PC and SP from pcb_context[].

- For stack_save(), use the current PC and SP of the current thread,
  not the values from pcb_regs (the horribly named td_frame of the
  outermost trapframe).  The result was that stack_trace() never
  logged _any_ kernel frames but only the frame from the saved
  userspace registers on entry from the kernel.

- Inline the one use of stack_register_fetch().

- Add a VALID_PC() helper macro and simplify types to remove
  excessive casts in stack_capture().

- Fix stack_capture() to work on compilers written in this century.
  Don't treat function epilogues as function prologues by skipping
  additions to SP when searching for a function start.

- Add some comments to stack_capture() and fix some style bugs.

Reviewed by:	arichardson
Obtained from:	CheriBSD
Sponsored by:	DARPA
Differential Revision:	https://reviews.freebsd.org/D27358
2020-12-01 17:17:22 +00:00
.github/workflows Update vendor/libarchive/dist to git 833821f55b1807cac22a63a58b759a7802df2fb7 2020-12-01 10:36:46 +00:00
bin bin/setfacl: Little refactoring, no functional change. 2020-11-23 17:00:06 +00:00
cddl When copying types from one CTF container to another, ensure that we 2020-11-20 17:26:02 +00:00
contrib MFV r368207: 2020-12-01 15:53:12 +00:00
crypto Replace literal uses of /usr/local in C sources with _PATH_LOCALBASE 2020-10-27 11:29:11 +00:00
etc Merge ping6 to ping 2020-11-26 04:29:30 +00:00
gnu Do a sweep and remove most WARNS=6 settings 2020-10-01 01:10:51 +00:00
include Add collation version support to querylocale(3). 2020-11-08 02:50:34 +00:00
kerberos5 Fix more -Wundef warnings during bootstrap 2020-10-14 12:28:54 +00:00
lib MFV r368207: 2020-12-01 15:53:12 +00:00
libexec IPv6: set ifdisabled in the kernel rather than in rc 2020-11-25 20:58:01 +00:00
release release: Merge the RPI2 and BEAGLEBONE image with the GENERICSD one 2020-11-24 17:53:13 +00:00
rescue ping: add a ping6 hard link for backwards compatibility 2020-11-26 18:33:04 +00:00
sbin Print at least something when failing. 2020-11-30 21:05:31 +00:00
secure Replace literal uses of /usr/local in C sources with _PATH_LOCALBASE 2020-10-27 11:29:11 +00:00
share security(7): fix copy/paste error and correct aslr oids 2020-11-29 16:29:40 +00:00
stand Unobfuscate "KERNLOAD" parameter on amd64. This change lines-up amd64 with the 2020-11-25 23:19:01 +00:00
sys Make stack_save*() more robust on MIPS. 2020-12-01 17:17:22 +00:00
targets Add WITH_CLANG_FORMAT option 2020-06-24 17:03:42 +00:00
tests pf tests: Re-enable panicing tests 2020-12-01 16:44:36 +00:00
tools Fix compilation on head and while here: 2020-11-30 15:04:35 +00:00
usr.bin MFV r368207: 2020-12-01 15:53:12 +00:00
usr.sbin efibootmgr: fix an incorrect error handling check 2020-11-30 22:16:11 +00:00
.arcconfig arcconfig: add callsign again 2020-11-23 04:39:29 +00:00
.arclint arc lint: ignore /tests/ in chmod 2017-12-19 03:38:06 +00:00
.cirrus.yml Update vendor/libarchive/dist to git 833821f55b1807cac22a63a58b759a7802df2fb7 2020-12-01 10:36:46 +00:00
.clang-format clang-format: Avoid breaking after the opening paren of function definitions 2020-10-28 11:54:00 +00:00
.gitattributes Add a basic clang-format configuration file 2019-06-07 15:23:52 +00:00
.gitignore Stop ignoring makeLINT generated files 2020-10-09 00:27:45 +00:00
COPYRIGHT Happy New Year 2020! 2019-12-31 16:01:36 +00:00
LOCKS LOCKS: update current locks 2018-06-09 03:08:04 +00:00
MAINTAINERS Add a pointer to csprng@ for the CSPRNG driver. This is enforced anyway by 2020-09-01 08:02:12 +00:00
Makefile Makefile: re-wordsmith the blurb about xtoolchain ports 2020-11-14 18:06:35 +00:00
Makefile.inc1 Add lists for customizing legacy and bootstrap-tools. 2020-11-20 20:11:59 +00:00
Makefile.libcompat Race in 32-bit fixed 2020-10-08 17:30:05 +00:00
Makefile.sys.inc AUTO_OBJ: For all top-level targets enforce using an OBJDIR. 2017-12-05 21:29:47 +00:00
ObsoleteFiles.inc Add a few missed entries to ObsoleteFiles.inc: 2020-11-30 19:18:50 +00:00
README README: add generic notes about GENERIC and NOTES 2018-06-17 19:44:24 +00:00
README.md README: add generic notes about GENERIC and NOTES 2018-06-17 19:44:24 +00:00
RELNOTES Add a entry for r367660. 2020-11-14 01:55:02 +00:00
UPDATING Merge ping6 to ping 2020-11-26 04:29:30 +00:00

FreeBSD Source:

This is the top level of the FreeBSD source directory. This file was last revised on: FreeBSD

FreeBSD is an operating system used to power modern servers, desktops, and embedded platforms. A large community has continually developed it for more than thirty years. Its advanced networking, security, and storage features have made FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage devices.

For copyright information, please see the file COPYRIGHT in this directory. Additional copyright information also exists for some sources in this tree - please see the specific source directories for more information.

The Makefile in this directory supports a number of targets for building components (or all) of the FreeBSD source tree. See build(7), config(8), https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html, and https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html for more information, including setting make(1) variables.

Source Roadmap:

bin		System/user commands.

cddl		Various commands and libraries under the Common Development
		and Distribution License.

contrib		Packages contributed by 3rd parties.

crypto		Cryptography stuff (see crypto/README).

etc		Template files for /etc.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberos5	Kerberos5 (Heimdal) package.

lib		System libraries.

libexec		System daemons.

release		Release building Makefile & associated tools.

rescue		Build system for statically linked /rescue utilities.

sbin		System commands.

secure		Cryptographic libraries and commands.

share		Shared resources.

stand		Boot loader sources.

sys		Kernel sources.

sys/<arch>/conf Kernel configuration files. GENERIC is the configuration
		used in release builds. NOTES contains documentation of
		all possible entries.

tests		Regression tests which can be run by Kyua.  See tests/README
		for additional information.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.

For information on synchronizing your source tree with one or more of the FreeBSD Project's development branches, please see:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/current-stable.html