MCPcopy Create free account
hub / github.com/F-Stack/f-stack / note_procstat_vmmap

Function note_procstat_vmmap

freebsd/kern/imgact_elf.c:2461–2491  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2459#endif
2460
2461static void
2462note_procstat_vmmap(void *arg, struct sbuf *sb, size_t *sizep)
2463{
2464 struct proc *p;
2465 size_t size;
2466 int structsize, vmmap_flags;
2467
2468 if (coredump_pack_vmmapinfo)
2469 vmmap_flags = KERN_VMMAP_PACK_KINFO;
2470 else
2471 vmmap_flags = 0;
2472
2473 p = (struct proc *)arg;
2474 structsize = sizeof(struct kinfo_vmentry);
2475 if (sb == NULL) {
2476 size = 0;
2477 sb = sbuf_new(NULL, NULL, 128, SBUF_FIXEDLEN);
2478 sbuf_set_drain(sb, sbuf_count_drain, &size);
2479 sbuf_bcat(sb, &structsize, sizeof(structsize));
2480 PROC_LOCK(p);
2481 kern_proc_vmmap_out(p, sb, -1, vmmap_flags);
2482 sbuf_finish(sb);
2483 sbuf_delete(sb);
2484 *sizep = size;
2485 } else {
2486 sbuf_bcat(sb, &structsize, sizeof(structsize));
2487 PROC_LOCK(p);
2488 kern_proc_vmmap_out(p, sb, *sizep - sizeof(structsize),
2489 vmmap_flags);
2490 }
2491}
2492
2493static void
2494note_procstat_groups(void *arg, struct sbuf *sb, size_t *sizep)

Callers

nothing calls this directly

Calls 6

sbuf_newFunction · 0.85
sbuf_set_drainFunction · 0.85
sbuf_bcatFunction · 0.85
kern_proc_vmmap_outFunction · 0.85
sbuf_finishFunction · 0.85
sbuf_deleteFunction · 0.85

Tested by

no test coverage detected