LINUX.ORG.RU

вывести атрибуты объекта kobject

 kobject, ,


0

1

Всем привет. Изучаю модули ядра и в частности sysfs. Пишу такую штуку:

1. получаю kset через __this_module.mkobj.kobj.kset

2. прохожу по нему с помощью list_for_each_entry(kobj, &kset->list, entry) и дергаю kobjectы

3. хочу вывести их атрибуты, а как не знаю.

В ktype есть поле default_attributes, но в данном случае оно равно NULL. Хочу проверить, например, есть ли атрибут initstate (и прочитать его). Вызов через sysfs_ops->show завершился паникой.

Можно конечно прочитать напрямую через /sysfs/modules/module/initstate, но этот способ мне кажется избыточным, когда у нас есть kobject.

Что-то я не совсем понял, нужно получить атрибуты, созданные в этом модуле или в каком-то другом? Если в этом модуле, то он и так должен знать всё о них, т.к. сам и создавал их. Если нужны атрибуты другого модуля, то, скорее всего, ничего не получится, потому что sysfs — это интерфейс между ядром и юзерспейсом.

Можно конечно прочитать напрямую через /sysfs/modules/module/initstate

Нельзя читать файлы из ядра. Есть, конечно, способы прочитать и даже записать файл, но лучше никогда так не делать, потому что ядро должно быть независимым от того, куда положил пользователь какой-то файл в каком-то дистрибутиве.

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