HomeFreeBSD

nfscl: Fix use after free for forced dismount

Description

nfscl: Fix use after free for forced dismount

When a forced dismount is done and delegations are being
issued by the server (disabled by default for FreeBSD
servers), the delegation structure is free'd before the
loop calling vflush(). This could result in a use after
free of the delegation structure.

This patch changes the code so that the delegation
structures are not free'd until after the vflush()
loop for forced dismounts.

Found during a recent IETF NFSv4 working group testing event.

(cherry picked from commit 441222585968517c595ef7f39e5c71a42d238acd)

Details

Provenance
rmacklemAuthored on Nov 3 2021, 7:15 PM
Parents
rG8ca2474ce604: nfscl: Check for a forced dismount in nfscl_getref()
Branches
Unknown
Tags
Unknown