]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:53:47 +0000 (13:53 +0100)
[ Upstream commit 05a62936e6b14c005db3b0c9c7d8b93d825dd9ca ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/perf/util/machine.c

index 706be5e4a076176fcc42b607fe55ef262bc4515d..b2e6e73d7a925c86f9a7dc73c073211287470c09 100644 (file)
@@ -1342,7 +1342,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);