Old bug in patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c
Mikhail T.
mi+m at aldan.algebra.com
Wed Jun 24 04:15:51 UTC 2020
I don’t know - the compiler only warned about the bzero :-)
But you may be right - and the module never worked for me anyway...
--
Sent from mobile device, please, pardon shorthand.
> 23 черв. 2020 р. о 14:47 Martin Simmons <martin at lispworks.com> пише:
>
> 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 at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-emulation
>> To unsubscribe, send any mail to "freebsd-emulation-unsubscribe at freebsd.org"
>>
More information about the freebsd-emulation
mailing list