Re: FreeBSD Errata Notice FreeBSD-EN-22:11.zfs

From: Mark Johnston <markj_at_freebsd.org>
Date: Tue, 15 Mar 2022 20:58:37 UTC
On Tue, Mar 15, 2022 at 09:35:51PM +0100, Christoph Moench-Tegeder wrote:
> ## FreeBSD Errata Notices (errata-notices@freebsd.org):
> 
> > # fetch https://security.FreeBSD.org/patches/EN-22:11/zfs.patch
> 
> Unless I'm totally cross-eyed, this patch is not what has been
> committed to releng/13.0
> https://cgit.freebsd.org/src/commit/?h=releng/13.0&id=f5be20afc3568876c44269420a542627238e4da0
> and the committed version does not compile (just bombed out here, so,
> yeah, confirmed).
> To be more precise, the newly added function vn_flush_cached_data() in
> sys/contrib/openzfs/include/os/freebsd/spl/sys/vnode.h is inside the
> '#ifndef IN_BASE' guard in zfs.patch but outside in releng/13.0. As
> it accesses vp->v_object (vp being a struct vnode *) and the #include
> of sys/vnode.h is inside a '#ifndef IN_BASE' guard in both the patch
> and the committed version, we don't have a full declaration of
> struct vnode in the committed variant of aforementioned file, so that
> vp->v_object must not be (at least as far as the C compiler is concerned).

Indeed, I missed a fixup commit that should have been pushed together
with the original patch:
https://cgit.freebsd.org/src/commit/?id=14bf91a0431e6b410ec9cf029172dfc5a99eb58f
I'll work on getting this fixed ASAP.  Thank you for the report.