Подробности

[В начало]

Проблема в реализации № K0006

Краткое описание

(Guest Additions) Утечка памяти в функции sf_lookup

Подробное описание

В модуле vboxsf.ko из VirtualBox Guest Additions, который отвечает за поддержку общих каталогов, происходит утечка памяти.

Рассмотрим функцию sf_lookup() из dirops.c (SVN: trunk/src/VBox/Additions/linux/sharedfolders/dirops.c, revision 33540).

При работе sf_path_from_dentry() выделяется память для структуры 'path', затем эта структура заполняется данными. Но в случае, если функция sf_stat(), вызов которой происходит немного ниже в коде sf_lookup(), вернёт returns -ENOENT, эта память не будет освобождена.

Такое происходит, например, когда какой-либо процесс пытается получить доступ к несуществующему элементу общего каталога: к файлу, который будет создан, но ещё не создан, или просто к отсутствующему файлу, и т.д.

Способ воспроизведения

Нужно подмонтировать общий каталог (shared folder) и скопировать туда какие-либо файлы с гостевой системы. Утечка памяти будет в этой гостевой системе.

Компонент

VirtualBox 3.2.10

Ссылки

Problems found by KEDR

Принято

VirtualBox bug tracker, ticket #7705

Статус

Исправлено в VirtualBox 3.2.12

[В начало]