Использование DebugFS со строками в ядре LinuxLinux

Anonymous
Использование DebugFS со строками в ядре Linux

Сообщение Anonymous »

Я разрабатываю модуль ядра Linux, который использует DebugFS для чтения некоторых значений из файлов в пространстве пользователя в пространство ядра.
На данный момент у меня есть каталог DebugFS в /sys/kernel/ отладка/пример. Этот каталог содержит набор файлов, привязанных к переменным u32_t. Я могу читать значения из этих файлов и присваивать их переменным u32_t в моем модуле ядра.
Я хочу прочитать некоторые символы ASCII из файла DebugFS и назначить их произвольному символу char[] длина. Однако (насколько я видел) документация DebugFS не содержит каких-либо функций специально для этой цели.
Текущий код создает файл «пример» в /sys/kernel/debug/ и связывает hello с любым 32-битным беззнаковым целым числом в этом файле:

static u32 hello = 0;

int init_module(void)
{
struct dentry *junk;

dir = debugfs_create_dir("example", 0);
if (!dir) {
printk(KERN_ALERT "Failed to create /sys/kernel/debug/example\n");
return -1;
}

junk = debugfs_create_u32("hello", 0666, dir, &hello);
if (!junk) {
printk(KERN_ALERT "Failed to create /sys/kernel/debug/example/hello\n");
return -1;
}

return 0;
}

void cleanup_module(void)
{
debugfs_remove_recursive(dir);
}


Подробнее здесь: https://stackoverflow.com/questions/784 ... nux-kernel

Вернуться в «Linux»