LINUX.ORG.RU

sys_mkdir


0

0

хочу создать директорию из ядра, пишу:

#include <syscalls.h> .......... long res = sys_mkdir("/home/sergey/test", 0755); if (res < 0){ printk(KERN_ALERT "err mkdir %d\n", res); return res; } ..... --------------------------------------- при сборке пишет: WARNING: "sys_mkdir" undefined при загрузке модуля в ядро пишет -1 Unknown symbol in module

тоже самое с любым системным вызовом, хотя sergey:/ # cat /proc/kallsyms | grep sys_mknod c0178c02 T sys_mknodat c0178d7b T sys_mknod

ЧЯДНТ?

PS 2.6.22 i386 Open SUSE 10.3

anonymous

ЧЯДНТ?

o_O может быть то, что пытаешься сделать системный вызов из ядра??

lv ★★
()
Ответ на: комментарий от lv

необходимо сделать это из ядра. как мне поступить?

anonymous
()

> ЧЯДНТ?

Ответ содержится в вопросе:

> хочу создать директорию из ядра

Не надо так делать. Подсказка: (почти) все VFS операции происходят в контексте процесса, а не в глобальном.

Dselect ★★★
()

А лучше не создавать из ядра дирректорий - расскажи конкретно задачу... если всё-таки надо - есть ещё usermod_helper() :)

lv ★★
()
Ответ на: комментарий от Dselect

> Подсказка: (почти) все VFS операции происходят в контексте процесса, а не в глобальном.

Я так полагаю, имеются в виду процессы в _пространстве пользвателя_. В пространстве ядра тоже процессы присутствуют - только обработка прерываний исключение.

lv ★★
()
Ответ на: комментарий от lv

> Я так полагаю, имеются в виду процессы в _пространстве пользвателя_.

Нет, имеется в виду конекст процесса. А уж в каком режиме он находится -- ядра или пользователя, не важно.

Dselect ★★★
()
Ответ на: комментарий от anonymous

> наверное лучше все-таки сделать

> vfs_mkdir(...)

Нет, ядерному модулю лучше вообще не создавать директорий.

Dselect ★★★
()
Ответ на: комментарий от anonymous

Расстреливать за такое надо...

> сделал через vfs_mkdir...

Но нет возможности, к сожалению. Потому интересуюсь -- что это за модуль такой. Чисто чтоб случайно в ЭТО не вляпаться.

Dselect ★★★
()
Ответ на: комментарий от Dselect

> Подсказка: (почти) все VFS операции происходят в контексте процесса, а не в глобальном.

ну и что с того в сущности?

// wbr

klalafuda ★☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.