]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
perf dso: Fix symtab_type for kmod compression
authorVeronika Molnarova <vmolnaro@redhat.com>
Thu, 10 Oct 2024 14:48:36 +0000 (16:48 +0200)
committerNamhyung Kim <namhyung@kernel.org>
Thu, 17 Oct 2024 16:55:59 +0000 (09:55 -0700)
During the rework of the dso structure in patch ee756ef7491eafd an
increment was forgotten for the symtab_type in case the data for
the kernel module are compressed. This affects the probing of the
kernel modules, which fails if the data are not already cached.

Increment the value of the symtab_type to its compressed variant so the
data could be recovered successfully.

Fixes: ee756ef7491eafd7 ("perf dso: Add reference count checking and accessor functions")
Signed-off-by: Veronika Molnarova <vmolnaro@redhat.com>
Acked-by: Michael Petlan <mpetlan@redhat.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Michael Petlan <mpetlan@redhat.com>
Link: https://lore.kernel.org/r/20241010144836.16424-1-vmolnaro@redhat.com
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
tools/perf/util/machine.c

index fad227b625d155c5c1f3d3abc37bfa4c3bb8c7d2..4f0ac998b0ccfd7a6dfd2e1ac9e9ca95d0b59438 100644 (file)
@@ -1343,7 +1343,7 @@ static int maps__set_module_path(struct maps *maps, const char *path, struct kmo
         * we need to update the symtab_type if needed.
         */
        if (m->comp && is_kmod_dso(dso)) {
-               dso__set_symtab_type(dso, dso__symtab_type(dso));
+               dso__set_symtab_type(dso, dso__symtab_type(dso)+1);
                dso__set_comp(dso, m->comp);
        }
        map__put(map);