This was detected by Coverity as CID 1361483, for what it's worth.

Best,
Conrad

On Mon, Aug 8, 2016 at 11:11 PM, Andriy Gapon <a...@freebsd.org> wrote:
> Author: avg
> Date: Tue Aug  9 06:11:24 2016
> New Revision: 303869
> URL: https://svnweb.freebsd.org/changeset/base/303869
>
> Log:
>   fix a zfs cross-device rename crash introduced in r303763
>
>   The problem was that 'zfsvfs' variable was not initialized if the error
>   was detected, but in the exit path the variable was dereferenced before
>   the error code was checked.
>
>   Reported by:  np
>   MFC after:    3 days
>   X-MFC with:   r303763
>
> Modified:
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
>
> Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
> ==============================================================================
> --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Tue 
> Aug  9 04:59:55 2016        (r303868)
> +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Tue 
> Aug  9 06:11:24 2016        (r303869)
> @@ -3956,7 +3956,7 @@ unlockout:                        /* all 4 vnodes are 
> locked,
>         VOP_UNLOCK(sdvp, 0);
>
>  out:                           /* original two vnodes are locked */
> -       if (zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS && error == 0)
> +       if (error == 0 && zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS)
>                 zil_commit(zilog, 0);
>
>         if (*tvpp != NULL)
>
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to