HomeFreeBSD

vfs_mount.c: Free exports structures in vfs_destroy_mount()

Description

vfs_mount.c: Free exports structures in vfs_destroy_mount()

During testing of exporting file systems in jails, I
noticed that the export structures on a mount
were not being free'd when the mount is dismounted.

This bug appears to have been in the system for a
very long time. It would have resulted in a slow memory
leak when exported file systems were dismounted.

Prior to r362158, freeing the structures during dismount
would not have been safe, since VFS_CHECKEXP() returned
a pointer into an export structure, which might still have been
used by the NFS server for an in-progress RPC when the file system
is dismounted. r362158 fixed this, so it should now be safe
to free the structures in vfs_mount_destroy(), which is what
this patch does.

Reviewed by: kib
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D38385

Details

Provenance
rmacklemAuthored on Feb 4 2023, 10:45 PM
Reviewer
kib
Differential Revision
D38385: free export structures when a file system is dismounted
Parents
rGd94e0bdc1498: Revert "vfs_export: Add checks for correct prison when updating exports"
Branches
Unknown
Tags
Unknown