HomeFreeBSD

Only call sigdeferstop() for NFS.

Description

Only call sigdeferstop() for NFS.

Use bypass to catch any NFS VOP dispatch and route it through the
wrapper which does sigdeferstop() and then dispatches original
VOP. NFS does not need a bypass below it, which is not supported.

The vop offset in the vop_vector is added since otherwise it is
impossible to get vop_op_t from the internal table, and I did not
wanted to create the layered fs only to wrap NFS VOPs.

VFS_OP()s wrap is straightforward.

Requested and reviewed by: mjg (previous version)
Tested by: pho
Sponsored by: The FreeBSD Foundation
Differential revision: https://reviews.freebsd.org/D17658

Details

Provenance
kibAuthored on
Differential Revision
D17658: Only call sigdeferstop() for NFS.
Parents
rS339671: Continuing efforts to provide hardening of FFS, this change adds a
Branches
Unknown
Tags
Unknown