Home | History | Annotate | Download | only in kern
History log of /src/sys/kern/kern_crashme.c
RevisionDateAuthorComments
 1.11  07-Jul-2023  riastradh crashme(9): New crash methods with raised ipl or kpreempt disabled.
 1.10  22-Sep-2022  riastradh crashme(9): Clarify description of kernel_lock_spinout.
 1.9  21-Sep-2022  riastradh crashme(9): Fix crashme_add return value to match comment.

XXX Why do this and crashme_remove return -1 instead of an error code
like essentially everything else in the kernel?
 1.8  21-Sep-2022  riastradh crashme(9): Use sysctl mib numbers, not node pointers.

The node pointers are not stable across insertions of siblings,
because they are pointers into arrays that may be reallocated and
moved elsewhere.

XXX Need to audit the tree for other bugs of this class, or change
sysctl(9) so it returns stable node pointers.
 1.7  30-Aug-2022  riastradh crashme(9): New debug.crashme.mutex_recursion method.

Takes a lock twice. Set it to 1 for adaptive lock, 2 for spin lock.
 1.6  16-Aug-2022  riastradh crashme(9): New kernel_lock_spinout crasher.

This assumes that something will eventually try to take the kernel
lock and, after spinning for a while, spin out and crash -- so for
now it's only enabled under LOCKDEBUG, without which the kernel lock
spins forever.
 1.5  27-Nov-2021  riastradh kern: Add debug.crashme.null_jump.
 1.4  07-Sep-2021  riastradh New crashme sysctl to enter ddb directly.
 1.3  23-Apr-2020  rin Fix outdated comment. We've enabled crashme for non-DEBUG kernels.
 1.2  13-Jan-2019  tnn branches: 1.2.2; 1.2.6; 1.2.14;
clang does not like to deref a null pointer unless it is qualified volatile
 1.1  09-Jan-2019  mrg crashme: a framework to test kernel faults.

so far, only a basic panic() and null deref nodes are added.
with options DEBUG, one can now use:

# sysctl -w kern.crashme_enable=1

# sysctl -w kern.crashme.panic=1
# sysctl -w kern.crashme.null_deref=1

to trigger a crash. crashme_enable must be set to 1 before any
of the nodes will be writeable.

supports dynamic additional/removal of crashme nodes.


(obsoletes kern.panic_now, which will be removed later.)
 1.2.14.1  25-Apr-2020  bouyer Sync with bouyer-xenpvh-base2 (HEAD)
 1.2.6.2  10-Jun-2019  christos Sync with HEAD
 1.2.6.1  13-Jan-2019  christos file kern_crashme.c was added on branch phil-wifi on 2019-06-10 22:09:03 +0000
 1.2.2.2  18-Jan-2019  pgoyette Synch with HEAD
 1.2.2.1  13-Jan-2019  pgoyette file kern_crashme.c was added on branch pgoyette-compat on 2019-01-18 08:50:57 +0000

RSS XML Feed