intel_gpu_top segfaults if kernel does not support drm_fdinfo
Bisected to commit 53a2a8bf —
Starting program: /usr/bin/intel_gpu_top
Breakpoint 2, has_drm_fdinfo (card=0x7fffffffdb7a) at ../igt-gpu-tools-9999/tools/intel_gpu_top.c:2131
2131 struct drm_client_fdinfo info = { };
(gdb) fin
Run till exit from #0 has_drm_fdinfo (card=0x7fffffffdb7a) at ../igt-gpu-tools-9999/tools/intel_gpu_top.c:2131
0x000055555555adef in main (argc=1, argv=0x7fffffffdfb8) at ../igt-gpu-tools-9999/tools/intel_gpu_top.c:2355
2355 if (has_drm_fdinfo(&card))
Value returned is $4 = false
(gdb) l
2350 goto err_pmu;
2351 }
2352
2353 ret = EXIT_SUCCESS;
2354
2355 if (has_drm_fdinfo(&card))
2356 clients = igt_drm_clients_init(strdup(card.pci_slot_name[0] ?
2357 card.pci_slot_name :
2358 IGPU_PCI));
2359 init_engine_classes(engines);
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x000055555555c8b1 in display_clients (clients=0x0) at ../igt-gpu-tools-9999/tools/intel_gpu_top.c:774
774 ac = calloc(clients->num_clients, sizeof(*c));
(gdb) p clients
$5 = (struct igt_drm_clients *) 0x0
If run on a kernel that does not support drm_fdinfo, intel_gpu_top
segfaults on start up.