Регулярные выражения в kernel space

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

AlekseyMelikov
Интересующийся
Сообщения: 7
Зарегистрирован: 05 дек 2014, 13:49
Контактная информация:

Регулярные выражения в kernel space

Непрочитанное сообщение AlekseyMelikov » 19 мар 2015, 08:56

Для реализации задачи требуется применение регулярных выражений в пространстве ядра. Гуглю, ничего подобного не вижу. Подскажите есть ли готовые библиотеки (модули) такого рода?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Регулярные выражения в kernel space

Непрочитанное сообщение Olej » 19 мар 2015, 09:56

aleksey.melikov писал(а):Для реализации задачи требуется применение регулярных выражений в пространстве ядра. Гуглю, ничего подобного не вижу. Подскажите есть ли готовые библиотеки (модули) такого рода?
1. В пространстве ядра не могут быть использованы никакие "библиотеки" - только то, что непосредственно вкомпилировано в ядро.

2. Это, ожидаемо, могли бы быть имена вида *reg* ... но таких нет:

Код: Выделить всё

[Olej@modules ~]$ cat /boot/config-3.18.9-100.fc20.x86_64 | grep *reg*
[Olej@modules ~]$
3. Мне, например, совершенно трудно понять зачем могли бы понадобится парсеры (я так понимаю?) регулярных выражений в коде ядра...
Но если уж сильно хочется, то можете взять исходный C код из любой библиотеки парсера + скомпилировать его в модуль ядра.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: Регулярные выражения в kernel space

Непрочитанное сообщение Olej » 19 мар 2015, 11:19

Olej писал(а): 3. Мне, например, совершенно трудно понять зачем могли бы понадобится парсеры (я так понимаю?) регулярных выражений в коде ядра...
Мало того, что сомнительна применимость регулярных выражений в ядре, но тут есть ещё одна тонкость...
Реализация парсера регулярных выражений в общем виде (без больших ограничений на вид выражений) требует рекурсии с возвратами.
А в ядре, с его ограниченным и не подлежащим изменению размера стеком, рекурсия (в зависимости от входных данных) может неожиданно закончиться крахом ядра. :-?

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя