Skip to content

Commit 06557a9

Browse files
cppcoffeedkruces
authored andcommitted
libbpf-tools/memleak: add mremap uprobe (iovisor#5151)
Add mremap uprobe. Signed-off-by: Xiaobo Liu <[email protected]>
1 parent 01b4bb5 commit 06557a9

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

libbpf-tools/memleak.bpf.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,20 @@ int BPF_UPROBE(munmap_enter, void *address)
223223
return gen_free_enter(address);
224224
}
225225

226+
SEC("uprobe")
227+
int BPF_UPROBE(mremap_enter, void *old_address, size_t old_size, size_t new_size, int flags)
228+
{
229+
gen_free_enter(old_address);
230+
231+
return gen_alloc_enter(new_size);
232+
}
233+
234+
SEC("uretprobe")
235+
int BPF_URETPROBE(mremap_exit)
236+
{
237+
return gen_alloc_exit(ctx);
238+
}
239+
226240
SEC("uprobe")
227241
int BPF_UPROBE(posix_memalign_enter, void **memptr, size_t alignment, size_t size)
228242
{

libbpf-tools/memleak.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,9 +1060,15 @@ int attach_uprobes(struct memleak_bpf *skel)
10601060
if (strlen(env.symbols_prefix)) {
10611061
ATTACH_UPROBE(skel, mmap, mmap_enter);
10621062
ATTACH_URETPROBE(skel, mmap, mmap_exit);
1063+
1064+
ATTACH_UPROBE(skel, mremap, mmap_enter);
1065+
ATTACH_URETPROBE(skel, mremap, mmap_exit);
10631066
} else {
10641067
ATTACH_UPROBE_CHECKED(skel, mmap, mmap_enter);
10651068
ATTACH_URETPROBE_CHECKED(skel, mmap, mmap_exit);
1069+
1070+
ATTACH_UPROBE_CHECKED(skel, mremap, mremap_enter);
1071+
ATTACH_URETPROBE_CHECKED(skel, mremap, mremap_exit);
10661072
}
10671073

10681074
ATTACH_UPROBE_CHECKED(skel, posix_memalign, posix_memalign_enter);

0 commit comments

Comments
 (0)