LINUX.ORG.RU

Сообщения vopros_linux

 

Сплайсинг в ядре

Доброе утро.
Меня интересует, как правильно производить модификацию памяти в пространстве ядра linux с помощью записи jmp в прологе функции.
А точнее то, как защититься от сбоя. Сразу привожу пример.
Есть оригинальная функция, которая вызывается к примеру 200к раз в секунду. А когда я произвожу модификацию подобной функции в памяти методом сплайсинга, выскакивает Oops. Из всей доступной информации дебаг сообщения, можно выцепить только, то что сбой прозошёл при сплайсинге (именно в функции которая часто вызывается)(нулевых указателей нет). Если осуществлять перехват не часто вызываемой функции, то всё работает стабильно и без ошибок.
Как защититься от подобной ошибки? Так чтоб можно было осуществить безболезненный перехват управления функции с помощью метода сплайсинга.

vopros_linux
()

RSS подписка на новые темы