[d-kernel] Re: [sisyphus] Shared memory - HELP PLEASE!

Sergey Vlasov vsu at altlinux.ru
Thu Mar 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 ?)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.altlinux.ru/pipermail/devel-kernel/attachments/20040325/bd1ba544/attachment.bin


More information about the devel-kernel mailing list