HomeFreeBSD

shutdown: audit shutdown_post_sync event callbacks

Description

shutdown: audit shutdown_post_sync event callbacks

Ensure they are all panic/debugger safe.

Most handlers for this event are for disk drivers/geom modules. There
are a mix of checks being used here (or not), so let's standardize on
checking the presence of the RB_NOSYNC flag.

This flag is set whenever:

  1. The kernel has panicked and kern.sync_on_panic=0*
  2. We reboot from within the kernel debugger (the "reset" command)
  3. Userspace requested it, e.g. by 'reboot -n'

Name the functions consistently.

*This sysctl is tuned to zero by default, but its existence means that
these handlers can be executed after a panic, at the user's discretion.
IMO this use-case is implicitly understood to be risky, and we'd be
better off eliminating it altogether.

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D42337

(cherry picked from commit 4eb861d362d6a9493df7f77eab8e28f9c826702a)

Details

Provenance
mhorneAuthored on Nov 23 2023, 3:58 PM
Reviewer
markj
Differential Revision
D42337: shutdown: audit shutdown_post_sync event callbacks
Parents
rGd997144b5a98: geom: sort includes for some files
Branches
Unknown
Tags
Unknown