Is the memcpy wrong too?  It looks like fsinfo.serial is a single uint32_t
(i.e. 32 bits), but mp->mnt_stat.f_fsid is a pair of int32_t (i.e. 64 bits),
so copying this pair from fsinfo.serial is wrong.

__Martin


>>>>> On Mon, 22 Jun 2020 14:22:05 -0400, Mikhail T said:
> 
> Gentlemen!
> 
> An old bug in the patch is causing compiler-warnings, and leads to 
> erroneous behavior where pointers are bigger than 32-bit.
> 
> Moreover, given the memcpy right after it, the bzero is simply not 
> needed at all. Instead of removing the bogus ampersand, the entire line 
> should be deleted. (I would've replaced the memcpy with an assignment 
> too, but that's not as pressing.)
> 
> Can I commit this?
> 
>     Index: files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c
>     ===================================================================
>     --- files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c
>     (revision 539883)
>     +++ files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c
>     (working copy)
>     @@ -11,7 +11,7 @@
>         *
>         * This file is part of VirtualBox Open Source Edition (OSE), as
>         * available from http://www.virtualbox.org. This file is free
>     software;
>     -@@ -14,245 +9,479 @@
>     +@@ -14,245 +9,478 @@
>         * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
>         * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
>         */
>     @@ -466,7 +466,6 @@
>       +
>       +      MNT_ILOCK(mp);
>       +      mp->mnt_data = vboxfsmp;
>     *-+      bzero(&mp->mnt_stat.f_fsid, sizeof(&mp->mnt_stat.f_fsid));*
>       +      /* f_fsid is int32_t but serial is uint32_t, convert */
>       +      memcpy(&mp->mnt_stat.f_fsid, &fsinfo.serial,
>     sizeof(mp->mnt_stat.f_fsid));
>       +      mp->mnt_flag |= MNT_LOCAL;
> 
> Thanks. Yours,
> 
>     -mi
> 
> _______________________________________________
> freebsd-emulation@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-emulation
> To unsubscribe, send any mail to "freebsd-emulation-unsubscr...@freebsd.org"
> 
_______________________________________________
freebsd-emulation@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-emulation
To unsubscribe, send any mail to "freebsd-emulation-unsubscr...@freebsd.org"

Reply via email to