HomeFreeBSD

vfs: fix up r351193 ("stop always overwriting ->mnt_stat in VFS_STATFS")

Description

vfs: fix up r351193 ("stop always overwriting ->mnt_stat in VFS_STATFS")

fs-specific part of vfs_statfs routines only fill in small portion of the
structure. Previous code was always copying everything at a higher layer to
acoomodate it and this patch does the same.

'df' (no arguments) worked fine because the caller uses mnt_stat itself as the
target buffer, making all the copying a no-op for its own case.
'df /' and similar use a different consumer which passes its own buffer and
this is where you can run into trouble.

Reported by: cy
Fixes: r351193
Sponsored by: The FreeBSD Foundation

Details

Provenance
mjgAuthored on
Parents
rS351214: Use TAILQ_FOREACH_SAFE() macro to avoid use after free in soclose().
Branches
Unknown
Tags
Unknown