Details
[Home]
Issue of the Implementation # K0007
Brief
(Guest Additions) g_vbgldata.mutexHGCMHandle is never destroyed
Detailed Description
When vboxsf kernel module performs its finalization tasks, the contents of g_vbgldata structure are zeroed before RTSemFastMutexDestroy() is called for g_vbgldata.mutexHGCMHandle.
File: trunk/src/VBox/Additions/common/VBoxGuestLib/Init.cpp from SVN rev. 33540.
Consider VbglTerminate() function (Init.cpp:252). It calls vbglTerminateCommon() and then vbglR0HGCMTerminate(). g_vbgldata.mutexHGCMHandle should have been destroyed in the latter. However, vbglTerminateCommon() zeroes the contents of g_vbgldata after it does its part of cleaning up (Init.cpp:164):
DECLVBGL(void) vbglTerminateCommon (void) { VbglPhysHeapTerminate (); RT_ZERO(g_vbgldata); return; }
After that, the value of g_vbgldata.mutexHGCMHandle is lost and the structure it points to will never be released: vbglR0HGCMTerminate() will call RTSemFastMutexDestroy(0) in this case.
Component
VirtualBox 3.2.10
References
Accepted
VirtualBox bug tracker, ticket #7720
Status
Fixed in VirtualBox 3.2.12
[Home]