Регулярные выражения в kernel space
Модератор: Olej
-
- Интересующийся
- Сообщения: 7
- Зарегистрирован: 05 дек 2014, 13:49
- Контактная информация:
Регулярные выражения в kernel space
Для реализации задачи требуется применение регулярных выражений в пространстве ядра. Гуглю, ничего подобного не вижу. Подскажите есть ли готовые библиотеки (модули) такого рода?
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Регулярные выражения в kernel space
1. В пространстве ядра не могут быть использованы никакие "библиотеки" - только то, что непосредственно вкомпилировано в ядро.aleksey.melikov писал(а):Для реализации задачи требуется применение регулярных выражений в пространстве ядра. Гуглю, ничего подобного не вижу. Подскажите есть ли готовые библиотеки (модули) такого рода?
2. Это, ожидаемо, могли бы быть имена вида *reg* ... но таких нет:
Код: Выделить всё
[Olej@modules ~]$ cat /boot/config-3.18.9-100.fc20.x86_64 | grep *reg*
[Olej@modules ~]$
Но если уж сильно хочется, то можете взять исходный C код из любой библиотеки парсера + скомпилировать его в модуль ядра.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Регулярные выражения в kernel space
Мало того, что сомнительна применимость регулярных выражений в ядре, но тут есть ещё одна тонкость...Olej писал(а): 3. Мне, например, совершенно трудно понять зачем могли бы понадобится парсеры (я так понимаю?) регулярных выражений в коде ядра...
Реализация парсера регулярных выражений в общем виде (без больших ограничений на вид выражений) требует рекурсии с возвратами.
А в ядре, с его ограниченным и не подлежащим изменению размера стеком, рекурсия (в зависимости от входных данных) может неожиданно закончиться крахом ядра.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя