Skip to content

ULT DriverDllLoader is buggy dealing with symbols and corrupts its own state #277

@dvrogozh

Description

@dvrogozh

for (auto i = 0; i < sizeof(this) / sizeof(const void *); i++)

sizeof(this)/sizeof(void*) is obviously equal to 1. The intended use of DriverSymbols::Clear() is eventually to NULL pointers to loaded symbols. Instead _vaDriverInit is NULLed only, i.e. state is corrupted since other pointers were not zeroed.

This has a side effect that memory leak checker still works though DriverSymbols::Clear() is called right before it, i.e. these pointers are still valid.

int32_t memNinjaCnt = drvLoader.GetDriverSymbols().MOS_GetMemNinjaCounter();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions