From cfabe09ad8ae906c5c06077a8b4a8a77e4286f40 Mon Sep 17 00:00:00 2001 From: ToMe25 Date: Sun, 18 Apr 2021 17:49:33 +0200 Subject: Fix some more procmap.c issues Commit acinclude getmntinfo workaround --- acinclude.m4 | 3 +-- sysdeps/openbsd/procmap.c | 14 +++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 79e0b374..8bbda0cb 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -263,8 +263,7 @@ AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo, [ ok= if test $ac_cv_func_getmntinfo = yes; then -AC_EGREP_HEADER(f_type;, sys/mount.h, -ok=yes) +AC_EGREP_HEADER(getmntinfo, sys/mount.h, ok=yes) fi test -n "$ok" \ && fu_cv_sys_mounted_getmntinfo=yes \ diff --git a/sysdeps/openbsd/procmap.c b/sysdeps/openbsd/procmap.c index 882c9308..06fab511 100644 --- a/sysdeps/openbsd/procmap.c +++ b/sysdeps/openbsd/procmap.c @@ -206,12 +206,12 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, return NULL; } - RB_INIT(&root); + //RB_INIT(&root); nentries = load_vmmap_entries(server, - (unsigned long) RB_ROOT(&vmspace.vm_map.addr), + (unsigned long) &RB_ROOT(&vmspace.vm_map.addr), &RB_ROOT(&root), NULL); if (nentries == -1) { - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); glibtop_error_io_r (server, "kvm_read (entry)"); } @@ -231,7 +231,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, * to OBJT_DEFAULT so it seems this really works. */ - RBT_FOREACH(entry, uvm_map_addr, &root) { + RB_FOREACH(entry, uvm_map_addr, &root) { glibtop_map_entry *mentry; unsigned long inum, dev; guint len; @@ -247,7 +247,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, (unsigned long) entry->object.uvm_obj, &vnode, sizeof (vnode)) != sizeof (vnode)) { glibtop_warn_io_r (server, "kvm_read (vnode)"); - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); glibtop_suid_leave (server); return (glibtop_map_entry*) g_array_free(maps, TRUE); } @@ -263,7 +263,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, (unsigned long) vnode.v_data, &inode, sizeof (inode)) != sizeof (inode)) { glibtop_warn_io_r (server, "kvm_read (inode)"); - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); glibtop_suid_leave (server); return (glibtop_map_entry*) g_array_free(maps, TRUE); } @@ -301,7 +301,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf, buf->size = sizeof (glibtop_map_entry); buf->total = buf->number * buf->size; - unload_vmmap_entries(RB_ROOT(&root)); + unload_vmmap_entries(&RB_ROOT(&root)); return (glibtop_map_entry*) g_array_free(maps, FALSE); } -- cgit v1.2.1