Ваш связанный вопрос сильно отличается от пользовательского пространства: поскольку ядро поддерживает полную таблицу символов (см. kernel/module.c
функция lookup_symbol
), не очень сложно отсканировать таблицу и найти определенный символ,найдите его адрес и выполните довольно хакерскую вставку, которую он выполняет.(Я понимаю его рассуждения, но жаль, что он не просто сделал свой источник патчем, который можно было бы применить к ядрам распределения или даже включить в основное ядро дерева. Достаточно справедливо, его код, его время, его игровая площадка, но этоозначает, что он может делать довольно забавные вещи.)
Пользовательский режим немного отличается;если символы недоступны, они просто недоступны.Разработчики ядра приложили некоторые усилия, чтобы подражать случаю «наличия символов», который является обычным в пользовательском пространстве, и если вы strip(1)
отредактировали свой код, они пропали.