diff options
| author | Danila Chernetsov <listdansp@mail.ru> | 2026-09-01 13:47:13 -0400 |
|---|---|---|
| committer | David Teigland <teigland@redhat.com> | 2026-09-02 09:01:52 -0500 |
| commit | 19982c99a302ab544c69f95d37ca3070c89762d3 (patch) | |
| tree | c20a0f800cf77fc6e8b06b42c160ee44f445efe8 /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | 7bf1aca6d626944091a5cb218b4e487547edff0a (diff) | |
| download | linux-19982c99a302ab544c69f95d37ca3070c89762d3.tar.gz linux-19982c99a302ab544c69f95d37ca3070c89762d3.zip | |
dlm: fix NULL pointer dereference in dlm_dump_rsb_name()
The function dlm_dump_rsb_name() is called from receive_rcom_lookup()
when a debug dump is requested via a special RCOM_LOOKUP message with
rc_id == 0xFFFFFFFF.
The resource name passed to dlm_dump_rsb_name() comes from the received
message. There is no guarantee that an RSB with this name exists in the
local hash table.
dlm_search_rsb_tree() returns 0 when the RSB is found and stores a valid
pointer in r. When the lookup fails, it returns -EBADR and leaves r
NULL.
The current error handling is inverted:
if (!error)
goto out;
As a result, dlm_dump_rsb() is called only when the lookup fails and r
is NULL, resulting in a NULL pointer dereference.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: 2d90354027ad ("dlm: merge toss and keep hash table lists into one list")
Acked-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: Danila Chernetsov <listdansp@mail.ru>
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
