Описание тега kprobe
A dynamic instrumentation system that allows one to gather additional information about kernel operation without recompiling or rebooting a kernel.
1
ответ
Могу ли я заблокировать выполнение нового процесса с помощью Kprobe?
Kprobe имеет предварительно обработанную функцию, смутно задокументированную следующим образом: User's pre-handler (kp->pre_handler):: #include <linux/kprobes.h> #include <linux/ptrace.h> int pre_handler(struct kprobe *p, struct pt_re…
24 ноя '18 в 11:35
0
ответов
Отслеживать жесткие запросы в Linux
Мой опыт работы с ядром Linux очень минимален. Я только начал играть с этим недавно. Я пытался отследить самое раннее время прибытия пакета для моих исследовательских целей. Я могу сделать это на уровне драйвера устройства, изменив драйвер устройств…
05 апр '18 в 11:45
1
ответ
Получить возвращаемое значение функции в обработчике kretprobe
Я хочу знать, возможно ли подключить kretprobe к функции ядра и перехватить его возвращаемое значение в обработчике возврата kretprobe.
08 июл '15 в 06:31
0
ответов
Почему `my_do_fork` и`post_handler` выполняются, а `pre_handler` - нет?
Я использовал jprobe в модуле ядра и все работает просто отлично. кроме того факта, что pre_handler не выполняется. static struct jprobe my_jprobe = { .entry = my_do_fork, .kp = { .symbol_name = "do_fork", .pre_handler = pre_handler, .post_handler =…
20 ноя '12 в 09:01
1
ответ
Systemtap - вызов системного вызова из пространства ядра
Я пытаюсь создать жесткую ссылку, вызывая sys_link напрямую из кода Systemtap Embedded C. По сути, код выглядит так: function sys_link:long(oldname, newname) %{ /* pure */ int error; mm_segment_t old_fs; old_fs = get_fs(); set_fs(get_ds()); error = …
20 июн '18 в 08:31
2
ответа
Были ли удалены jprobes из ядра v4?
E сть jprobe_example.c в ст. Но это отсутствует в v4. Я попытался скомпилировать пример v3 с ядром v4, и он работает, давая мне jprobe_example.ko, но когда я пытаюсь insmod это не с insmod: ERROR: could not insert module jprobe_example.ko: Operation…
02 мар '19 в 11:16
1
ответ
Зонд ядра не вставлен для функции system_call
Я могу использовать kprobe механизм для прикрепления обработчиков, используя следующий пример кода: #include <asm/uaccess.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/version.h> #include <linux/ka…
18 ноя '13 в 09:49
1
ответ
Как я могу считать malloc в ядре Linux с помощью kprobe
Я хочу посчитать malloc Системный вызов с Kprobe в Fedora. я знаю это malloc это не системный вызов, он реализован в пространстве пользователя, но я хочу посчитать malloc с помощью kprobe, если это возможно. Как называется системный вызов, который я…
23 янв '13 в 09:30
1
ответ
Какова роль неопределенного обработчика исключений (__und_svc) в kprobes?
Я попытался преобразовать kprobe как загружаемый модуль ядра. Я могу запустить образцы, доступные в samples/kprobes/ папка из дерева ядра. Если мы настроим kprobes в ядре (CONFIG_KPROBES), затем svc_entry макрос будет расширен на 64 байта в __und_sv…
13 дек '13 в 06:00
1
ответ
Получение аргументов из kprobe не находит regs->rdi x86_64
Я пишу модуль ядра под Scientific Linux 6.3 x86_64 и ищу использовать kprobes. В этом модуле мне нужен доступ к первому аргументу функции при возврате, поэтому jprobes отсутствуют. Я нашел этот очень полезный пост: получение аргументов функции с пом…
08 янв '13 в 18:24
1
ответ
Почему kprobes отключает вытеснение и когда его можно снова включить?
Согласно документам, kprobes отключает приоритетное прерывание: Обработчики проб выполняются с отключенным вытеснением. В зависимости от архитектуры и состояния оптимизации, обработчики также могут работать с отключенными прерываниями (например, обр…
02 фев '18 в 15:30
1
ответ
Kprobe механизм для перехвата do_page_fault
Я пытаюсь перехватить __do_page_fault() метод в ядре Linux. Нормальный способ зарегистрироваться kprobes то есть определяя kp.addr как kp.addr = (kprobe_opcode_t *) kallsyms_lookup_name("__do_page_fault"); не работает. Какой правильный способ сделат…
16 янв '15 в 21:44
0
ответов
kprobe не работает для некоторых функций
Я пытаюсь использовать kprobe для отслеживания handle_pte_fault вызовы функций в ядре Linux. Я могу прощупать handle_mm_fault но когда я пытаюсь исследовать handle_pte_daultобработчик kprobe для handle_pte_fault ничего не печатает. Используя это, я …
25 мар '18 в 19:42
0
ответов
Несогласованные значения регистров после их настройки в модуле Jprobes
Этот вопрос является продолжением моего предыдущего вопроса о перехвате загрузчика ELF. Теперь точная проблема заключается в том, что ранее кодовая логика была реализована в рамках load_elf_binary функция, в которой в конце функции eax, ebx, ecx and…
19 июн '15 в 02:31
1
ответ
insmod: ОШИБКА: не удалось вставить модуль kprobe_example.ko: операция не разрешена
Я имел в виду: http://www-users.cs.umn.edu/~boutcher/kprobes/kprobes.txt.html чтобы понять kprobe. Я использовал kprobe_example.c, как указано в документе. Я скомпилировал его, используя make-файл (код взят из того же документа) Я получил ошибки ком…
19 сен '16 в 07:06
1
ответ
Являются ли точки трассировки избыточными в ядре Linux после поддержки ktrabes для ftrace?
Каковы случаи использования событий tracepoint, когда в ядре Linux доступна поддержка событий kprobe для ftrace? Кажется, что все, что можно сделать с помощью "событий трассировки", возможно с помощью событий kprobe, поскольку можно установить событ…
10 авг '17 в 15:50
1
ответ
Открытие / запись в файл из обработчика Kprobe
Я пишу модуль ядра Linux, используя Kprobes чтобы отслеживать конкретные системные вызовы, и мне нужно записать в файл изнутри KProbe обработчик (в частности, Kretprobe). Я знаю, что обычно это не рекомендуется, но мне нужно записать вывод в очень к…
14 июл '15 в 12:41
2
ответа
register_kprobe возвращает -2
Я пытаюсь подключить некоторые функции ядра для целей обучения, ниже я написал простой модуль ядра, но по некоторым причинам register_kprobe всегда возвращает -2. Я не нашел ничего о том, что там написано, что означает эта ошибка, и понятия не имею,…
27 апр '14 в 08:13
2
ответа
Как вызвать любую функцию ядра?
Я знаю, что Kprobes можно использовать для проверки любой функции ядра. Но после просмотра его документов я понимаю, что это в основном некая пассивная сущность. Он просто помещает зонд в середину последовательности выполнения. Но что, если я хочу в…
24 янв '16 в 14:56
2
ответа
Удаление зависимости стека из кода сборки
Я пытаюсь удалить зависимость стека из следующего кода. void myfunction(struct kprobe *p, struct pt_regs *regs) { register void *rregs asm("r1") = regs; register void *rfn asm("lr") = p->ainsn.insn_fn; __asm__ __volatile__ ( "stmdb sp!, {%[regs],…
27 ноя '13 в 08:42