[sisyphus] Shared memory - HELP PLEASE!

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Чт Мар 25 15:22:40 MSK 2004


On Wed, Mar 24, 2004 at 05:17:29PM -0500, Ivan Adzhubey wrote:
> На 2.4.25-std-smp-alt1 по-прежнему не работает SysV shared memory,
> shmget() падает молча. Не работает ни от пользователя, ни от рута. Не
> работают ни собственные программы (C), ни сторонние бинарники, ни Perl
> modules. Может надо пользователя куда добавить? Но почему тогда даже от
> рута не работает? Это какой-то секурити патч подсуетился? На ванильном
> ядре на той же машине все работает as expected.

Действительно, дело в патче Openwall, точнее, в его конфигурации.  В
ядрах std включена опция CONFIG_HARDEN_SHM - при этом неиспользуемые
сегменты разделяемой памяти уничтожаются немедленно, не дожидаясь
IPC_RMID.  Программы, которые постоянно сохраняют хотя бы одно
подключение к области разделяемой памяти, при этом работают
нормально.  Проблемы возникают в том случае, если все процессы
отсоединяются от области, а потом пытаются вновь к ней подключиться;
в этом случае область оказывается уничтоженной.

Эта опция появилась в конфигурации довольно давно (ещё до появления
kernel CVS - т.е., до 2.4.21rel-alt13).

Видимо, придётся либо убирать CONFIG_HARDEN_SHM, либо добавлять
какую-то возможность настройки этого поведения
(/proc/sys/kernel/shm_destroy_unused ?)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20040325/bd1ba544/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus