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 ---