#
4f2ef756 |
| 24-Sep-2024 |
Graham Percival <gperciva@tarsnap.com> |
manuals: Fix "skipping end of block" .Ed errors
These were reported by `mandoc -T lint ...` as errors; this commit only handles unnecessary .Ed commands.
The rendered output (in ascii and html) is
manuals: Fix "skipping end of block" .Ed errors
These were reported by `mandoc -T lint ...` as errors; this commit only handles unnecessary .Ed commands.
The rendered output (in ascii and html) is not affected by this commit.
Signed-off-by: Graham Percival <gperciva@tarsnap.com> Reviewed by: mhorne MFC after: 3 days Sponsored by: Tarsnap Backup Inc. Pull Request: https://github.com/freebsd/freebsd-src/pull/1435
show more ...
|
Revision tags: release/13.4.0, release/14.1.0 |
|
#
c21bc6f3 |
| 22-Mar-2024 |
Bojan Novković <bnovkov@FreeBSD.org> |
ddb: Add CTF-based pretty printing
Add basic CTF support and a CTF-powered pretty-printer to ddb.
The db_ctf.* files expose a basic interface for fetching type data for ELF symbols, interacting wit
ddb: Add CTF-based pretty printing
Add basic CTF support and a CTF-powered pretty-printer to ddb.
The db_ctf.* files expose a basic interface for fetching type data for ELF symbols, interacting with the CTF string table, and translating type identifiers to type data.
The db_pprint.c file uses those interfaces to implement a pretty-printer for all kernel ELF symbols. The pretty-printer works with symbol names and arbitrary addresses: pprint struct thread 0xffffffff8194ad90
Pretty-printing currently only works after the root filesystem gets mounted because the CTF info is not available during early boot.
Differential Revision: https://reviews.freebsd.org/D37899 Approved by: markj (mentor)
show more ...
|
Revision tags: release/13.3.0, release/14.0.0 |
|
#
fa9896e0 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: two-line nroff pattern
Remove /^\.\\"\n\.\\"\s*\$FreeBSD\$$\n/
|
Revision tags: release/13.2.0 |
|
#
56448506 |
| 07-Jan-2023 |
Mitchell Horne <mhorne@FreeBSD.org> |
ddb: have 'reset' command use normal reboot path
This conditionally gives all registered shutdown handlers a chance to perform the reboot, with cpu_reset() being the fallback. The '\s' modifier can
ddb: have 'reset' command use normal reboot path
This conditionally gives all registered shutdown handlers a chance to perform the reboot, with cpu_reset() being the fallback. The '\s' modifier can be used with the command to get the previous behaviour.
The motivation is that some platforms may not be able do anything meaningful via cpu_reset(), due to a lack of standardized reset mechanism and/or firmware shortcomings. However, they may have a separate device driver attached that normally performs the reboot. Such is the case for some versions of the Raspberry Pi, where reset via PSCI fails, but the BCM2835 watchdog driver has a shutdown hook.
Reported by: bz Reviewed by: markj (slightly earlier version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D37981
show more ...
|
Revision tags: release/12.4.0 |
|
#
831979ae |
| 11-Nov-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
ddb(4): document some missing commands
This is not exhaustive, just what I collected while working on mac_ddb(4).
Reviewed by: pauamma, markj, jhb MFC after: 1 week Sponsored by: The FreeBSD Founda
ddb(4): document some missing commands
This is not exhaustive, just what I collected while working on mac_ddb(4).
Reviewed by: pauamma, markj, jhb MFC after: 1 week Sponsored by: The FreeBSD Foundation (in part) Differential Revision: https://reviews.freebsd.org/D37333
show more ...
|
#
94f6ee56 |
| 11-Nov-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
ddb(4): misc updates
- Describe optional 'addr' argument to many show commands - Remove obsolete commands (show cbstat) - 'show jails' was renamed to 'show prison' - Remove superfluous commentar
ddb(4): misc updates
- Describe optional 'addr' argument to many show commands - Remove obsolete commands (show cbstat) - 'show jails' was renamed to 'show prison' - Remove superfluous commentary about sleepqueues - Fix an xref to gdb(4) - Fix issues reported by mandoc -Tlint - Plus a couple other inaccuracies/inconsistencies
Reviewed by: pauamma, markj, jhb MFC after: 1 week Sponsored by: The FreeBSD Foundation (in part) Differential Revision: https://reviews.freebsd.org/D37332
show more ...
|
#
3c405c7e |
| 17-Aug-2022 |
Jens Schweikhardt <schweikh@FreeBSD.org> |
Indicate which port gdb.1 and kgdb.1 come from.
|
#
4ee44ffc |
| 14-Aug-2022 |
Jens Schweikhardt <schweikh@FreeBSD.org> |
Indicate that kgdb.1 is from ports/devel/gdb.
|
#
287d467c |
| 18-Jul-2022 |
Mitchell Horne <mhorne@FreeBSD.org> |
mac: add new mac_ddb(4) policy
Generally, access to the kernel debugger is considered to be unsafe from a security perspective since it presents an unrestricted interface to inspect or modify the sy
mac: add new mac_ddb(4) policy
Generally, access to the kernel debugger is considered to be unsafe from a security perspective since it presents an unrestricted interface to inspect or modify the system state, including sensitive data such as signing keys.
However, having some access to debugger functionality on production systems may be useful in determining the cause of a panic or hang. Therefore, it is desirable to have an optional policy which allows limited use of ddb(4) while disabling the functionality which could reveal system secrets.
This loadable MAC module allows for the use of some ddb(4) commands while preventing the execution of others. The commands have been broadly grouped into three categories: - Those which are 'safe' and will not emit sensitive data (e.g. trace). Generally, these commands are deterministic and don't accept arguments. - Those which are definitively unsafe (e.g. examine <addr>, search <addr> <value>) - Commands which may be safe to execute depending on the arguments provided (e.g. show thread <addr>).
Safe commands have been flagged as such with the DB_CMD_MEMSAFE flag.
Commands requiring extra validation can provide a function to do so. For example, 'show thread <addr>' can be used as long as addr can be checked against the system's list of process structures.
The policy also prevents debugger backends other than ddb(4) from executing, for example gdb(4).
Reviewed by: markj, pauamma_gundo.com (manpages) Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D35371
show more ...
|
Revision tags: release/13.1.0 |
|
#
68445e34 |
| 24-Feb-2022 |
Christian Brueffer <brueffer@FreeBSD.org> |
Fix mdoc macro usage and style in section 4 manpages.
|
Revision tags: release/12.3.0 |
|
#
dc5a0d6d |
| 12-Jul-2021 |
Warner Losh <imp@FreeBSD.org> |
ddb(4): improve wording
Incorporate feedback overlooked in revew by wblock@
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D4860
|
Revision tags: release/13.0.0 |
|
#
3e5e9939 |
| 15-Mar-2021 |
Ryan Libby <rlibby@FreeBSD.org> |
ddb: enable the use of ^C and ^S/^Q
This lets one interrupt DDB's output, which is useful if paging is disabled and the output device is slow.
This follows a previous implementation in svn r311952
ddb: enable the use of ^C and ^S/^Q
This lets one interrupt DDB's output, which is useful if paging is disabled and the output device is slow.
This follows a previous implementation in svn r311952 / git 5fddef79998678d256ba30316353393b4d8ebb32 which was reverted because it broke DDB type-ahead.
Now, try this again, but with a 512-byte type-ahead buffer. While there is buffer space, control input is handled and non-control input is buffered. When the buffer is exhausted, the default is to print a warning and drop further non-control input in order to continue handling control input. sysctl debug.ddb.prioritize_control_input can be set to 0 to instead preserve all input but lose immediate handling of control input. This could for example effect pasting of a large script into the ddb console.
Suggested by: Anton Rang <rang@acm.org> Reviewed by: markj Discussed with: imp Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D28676
show more ...
|
#
f39b4996 |
| 26-Jan-2021 |
Marius Strobl <marius@FreeBSD.org> |
man: remove stale references to ndis(4)
The latter has been removed in bfc99943b04b46a6c1c885ce7bcc6f235b7422aa.
|
#
088a7eef |
| 18-Dec-2020 |
mhorne <mhorne@FreeBSD.org> |
ddb: add ability to print user registers
The debugger is always entered after some kind of kernel trap, often a breakpoint in kdb_enter(). This means that the most recent trapframe will include kern
ddb: add ability to print user registers
The debugger is always entered after some kind of kernel trap, often a breakpoint in kdb_enter(). This means that the most recent trapframe will include kernel state at the time of the trap, when often it is desirable to the developer to view the contents of the previous trapframe. This trapframe often corresponds to the entry from userspace.
The ddb(4) man page claims the ability to display user register state via the 'u' modifier to `show registers`, but this appears untrue. It is not obvious from a quick search of the history when this feature was added, or when it was removed. (Re)implement this feature in db_show_regs, noting that it is not necessarily populated with userspace state.
Reviewed by: jhb (earlier version), markj, bcr (manpages) MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D27705
show more ...
|
#
c8a96cdc |
| 19-Nov-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
Add an option for entering KDB on recursive panics
There are many cases where one would choose avoid entering the debugger on a normal panic, opting instead to reboot and possibly save a kernel dump
Add an option for entering KDB on recursive panics
There are many cases where one would choose avoid entering the debugger on a normal panic, opting instead to reboot and possibly save a kernel dump. However, recursive kernel panics are an unusual case that might warrant attention from a human, so provide a secondary tunable, debug.debugger_on_recursive_panic, to allow entering the debugger only when this occurs.
For for simplicity in maintaining existing behaviour, the tunable defaults to zero.
Reviewed by: cem, markj Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D27271
show more ...
|
Revision tags: release/12.2.0 |
|
#
d458747e |
| 22-Sep-2020 |
Christian Brueffer <brueffer@FreeBSD.org> |
Fix a bunch of mdoc issues found by mandoc -Tlint.
|
Revision tags: release/11.4.0 |
|
#
44e86fbd |
| 13-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357662 through r357854.
|
#
70254772 |
| 12-Feb-2020 |
Warner Losh <imp@FreeBSD.org> |
Remove sparc64 specific bits of the man pages.
|
Revision tags: release/12.1.0 |
|
#
dda17b36 |
| 17-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Implement NetGDB(4)
NetGDB(4) is a component of a system using a panic-time network stack to remotely debug crashed FreeBSD kernels over the network, instead of traditional serial interfaces.
There
Implement NetGDB(4)
NetGDB(4) is a component of a system using a panic-time network stack to remotely debug crashed FreeBSD kernels over the network, instead of traditional serial interfaces.
There are three pieces in the complete NetGDB system.
First, a dedicated proxy server must be running to accept connections from both NetGDB and gdb(1), and pass bidirectional traffic between the two protocols.
Second, the NetGDB client is activated much like ordinary 'gdb' and similarly to 'netdump' in ddb(4) after a panic. Like other debugnet(4) clients (netdump(4)), the network interface on the route to the proxy server must be online and support debugnet(4).
Finally, the remote (k)gdb(1) uses 'target remote <proxy>:<port>' (like any other TCP remote) to connect to the proxy server.
The NetGDB v1 protocol speaks the literal GDB remote serial protocol, and uses a 1:1 relationship between GDB packets and sequences of debugnet packets (fragmented by MTU). There is no encryption utilized to keep debugging sessions private, so this is only appropriate for local segments or trusted networks.
Submitted by: John Reimer <john.reimer AT emc.com> (earlier version) Discussed some with: emaste, markj Relnotes: sure Differential Revision: https://reviews.freebsd.org/D21568
show more ...
|
#
fde2cf65 |
| 17-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
debugnet(4): Infer non-server connection parameters
Loosen requirements for connecting to debugnet-type servers. Only require a destination address; the rest can theoretically be inferred from the
debugnet(4): Infer non-server connection parameters
Loosen requirements for connecting to debugnet-type servers. Only require a destination address; the rest can theoretically be inferred from the routing table.
Relax corresponding constraints in netdump(4) and move ifp validation to debugnet connection time.
Submitted by: John Reimer <john.reimer AT emc.com> (earlier version) Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D21482
show more ...
|
#
8270d35e |
| 17-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Add ddb(4) 'netdump' command to netdump a core without preconfiguration
Add a 'X -s <server> -c <client> [-g <gateway>] -i <interface>' subroutine to the generic debugnet code. The imagined use is
Add ddb(4) 'netdump' command to netdump a core without preconfiguration
Add a 'X -s <server> -c <client> [-g <gateway>] -i <interface>' subroutine to the generic debugnet code. The imagined use is both netdump, shown here, and NetGDB (vaporware). It uses the ddb(4) lexer, with some new extensions, to parse out IPv4 addresses.
'Netdump' uses the generic debugnet routine to load a configuration and start a dump, without any netdump configuration prior to panic.
Loosely derived from work by: John Reimer <john.reimer AT emc.com> Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D21460
show more ...
|
#
46d70077 |
| 11-Oct-2019 |
Conrad Meyer <cem@FreeBSD.org> |
ddb: Add CSV option, sorting to 'show (malloc|uma)'
Add /i option for machine-parseable CSV output. This allows ready copy/ pasting into more sophisticated tooling outside of DDB.
Add total zone s
ddb: Add CSV option, sorting to 'show (malloc|uma)'
Add /i option for machine-parseable CSV output. This allows ready copy/ pasting into more sophisticated tooling outside of DDB.
Add total zone size ("Memory Use") as a new column for UMA.
For both, sort the displayed list on size (print the largest zones/types first). This is handy for quickly diagnosing "where has my memory gone?" at a high level.
Submitted by: Emily Pettigrew <Emily.Pettigrew AT isilon.com> (earlier version) Sponsored by: Dell EMC Isilon
show more ...
|
#
61c1328e |
| 13-Sep-2019 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r352105 through r352307.
|
#
8b6acd2b |
| 10-Sep-2019 |
Conrad Meyer <cem@FreeBSD.org> |
ddb(4): Add 'show route <dest>' and 'show routetable [<af>]'
These commands show the route resolved for a specified destination, or print out the entire routing table for a given address family (or
ddb(4): Add 'show route <dest>' and 'show routetable [<af>]'
These commands show the route resolved for a specified destination, or print out the entire routing table for a given address family (or all families, if none is explicitly provided).
Discussed with: emaste Differential Revision: https://reviews.freebsd.org/D21510
show more ...
|
Revision tags: release/11.3.0 |
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|