Fix some more procmap.c issues

Commit acinclude getmntinfo workaround
This commit is contained in:
ToMe25
2021-04-18 17:49:33 +02:00
parent 72124ab005
commit cfabe09ad8
2 changed files with 8 additions and 9 deletions

View File

@@ -263,8 +263,7 @@ AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
[ [
ok= ok=
if test $ac_cv_func_getmntinfo = yes; then if test $ac_cv_func_getmntinfo = yes; then
AC_EGREP_HEADER(f_type;, sys/mount.h, AC_EGREP_HEADER(getmntinfo, sys/mount.h, ok=yes)
ok=yes)
fi fi
test -n "$ok" \ test -n "$ok" \
&& fu_cv_sys_mounted_getmntinfo=yes \ && fu_cv_sys_mounted_getmntinfo=yes \

View File

@@ -206,12 +206,12 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
return NULL; return NULL;
} }
RB_INIT(&root); //RB_INIT(&root);
nentries = load_vmmap_entries(server, 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); &RB_ROOT(&root), NULL);
if (nentries == -1) { if (nentries == -1) {
unload_vmmap_entries(RB_ROOT(&root)); unload_vmmap_entries(&RB_ROOT(&root));
glibtop_error_io_r (server, "kvm_read (entry)"); 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. * 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; glibtop_map_entry *mentry;
unsigned long inum, dev; unsigned long inum, dev;
guint len; guint len;
@@ -247,7 +247,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
(unsigned long) entry->object.uvm_obj, (unsigned long) entry->object.uvm_obj,
&vnode, sizeof (vnode)) != sizeof (vnode)) { &vnode, sizeof (vnode)) != sizeof (vnode)) {
glibtop_warn_io_r (server, "kvm_read (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); glibtop_suid_leave (server);
return (glibtop_map_entry*) g_array_free(maps, TRUE); 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, (unsigned long) vnode.v_data,
&inode, sizeof (inode)) != sizeof (inode)) { &inode, sizeof (inode)) != sizeof (inode)) {
glibtop_warn_io_r (server, "kvm_read (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); glibtop_suid_leave (server);
return (glibtop_map_entry*) g_array_free(maps, TRUE); 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->size = sizeof (glibtop_map_entry);
buf->total = buf->number * buf->size; 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); return (glibtop_map_entry*) g_array_free(maps, FALSE);
} }