kprobes.c (7a9787e1eba95a166265e6a260cf30af04ef0a99) | kprobes.c (025dfdafe77f20b3890981a394774baab7b9c827) |
---|---|
1/* 2 * Kernel Probes (KProbes) 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * --- 302 unchanged lines hidden (view full) --- 311 unsigned long trampoline_address =(unsigned long)&kretprobe_trampoline; 312 313 INIT_HLIST_HEAD(&empty_rp); 314 kretprobe_hash_lock(current, &head, &flags); 315 316 /* 317 * It is possible to have multiple instances associated with a given 318 * task either because an multiple functions in the call path | 1/* 2 * Kernel Probes (KProbes) 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License as published by 6 * the Free Software Foundation; either version 2 of the License, or 7 * (at your option) any later version. 8 * --- 302 unchanged lines hidden (view full) --- 311 unsigned long trampoline_address =(unsigned long)&kretprobe_trampoline; 312 313 INIT_HLIST_HEAD(&empty_rp); 314 kretprobe_hash_lock(current, &head, &flags); 315 316 /* 317 * It is possible to have multiple instances associated with a given 318 * task either because an multiple functions in the call path |
319 * have a return probe installed on them, and/or more then one return | 319 * have a return probe installed on them, and/or more than one return |
320 * return probe was registered for a target function. 321 * 322 * We can handle this because: 323 * - instances are always inserted at the head of the list 324 * - when multiple return probes are registered for the same 325 * function, the first instance's ret_addr will point to the 326 * real return address, and all the rest will point to 327 * kretprobe_trampoline --- 253 unchanged lines hidden --- | 320 * return probe was registered for a target function. 321 * 322 * We can handle this because: 323 * - instances are always inserted at the head of the list 324 * - when multiple return probes are registered for the same 325 * function, the first instance's ret_addr will point to the 326 * real return address, and all the rest will point to 327 * kretprobe_trampoline --- 253 unchanged lines hidden --- |