Commit 9d513abf authored by Tomasz Zawadzki's avatar Tomasz Zawadzki Committed by Konrad Sztyber
Browse files

test/idxd: suppress accel-config leaks



This patch suppresses memory leaks originating from the
accel-config library, which is utilized by idxd_kernel in SPDK.
The leaks are present in functions such as accfg_device_foreach()
and accfg_wq_foreach().

Unfortunately, Leak Sanitizer's filtering options are limited to
glob patterns that match file, function, or library names. This is
particularly true for __scandir64_tail, which is traced back to libc.

The leaks are documented in the order they are addressed upstream,
corresponding to specific Fedora releases:
- v3.4.6.4 for Fedora 37
- v3.5.2 for Fedora 38
- v4.0 for Fedora 39
- v4.1.1 for Fedora 40

All leaks are resolved as of v4.1.6, which is expected to be included
starting with Fedora 41. Consequently, each Fedora package will require
suppression until then.

As older Fedora releases become less prevalent in CI, their corresponding
suppressions can be phased out.

Please see example from running accel_perf on one device on v3.4.6.4:
==511262==ERROR: LeakSanitizer: detected memory leaks
----

Direct leak of 440 byte(s) in 14 object(s) allocated from:
    #0 0x7f745dcba6af in __interceptor_malloc (/usr/lib64/libasan.so.8+0xba6af)
    #1 0x7f745ccf611f in __scandir64_tail (/usr/lib64/libc.so.6+0xd311f)

Direct leak of 384 byte(s) in 8 object(s) allocated from:
    #0 0x7f745dc7243b in strdup (/usr/lib64/libasan.so.8+0x7243b)
    #1 0x7f745e3b843c in add_wq (/usr/lib64/libaccel-config.so.1+0x643c)

Direct leak of 204 byte(s) in 4 object(s) allocated from:
    #0 0x7f745dc7243b in strdup (/usr/lib64/libasan.so.8+0x7243b)
    #1 0x7f745e3b8866 in add_group (/usr/lib64/libaccel-config.so.1+0x6866)

Direct leak of 2 byte(s) in 1 object(s) allocated from:
    #0 0x7f745dc7243b in strdup (/usr/lib64/libasan.so.8+0x7243b)
    #1 0x7f745e3b741e in accfg_get_param_str.constprop.0 (/usr/lib64/libaccel-config.so.1+0x541e)

SUMMARY: AddressSanitizer: 1030 byte(s) leaked in 27 allocation(s).

Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I34fe807fc7ddd7a03e55338a7b346f524eda8318
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22763


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent b217432f
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -219,6 +219,16 @@ leak:libiscsi.so
# Suppress leaks in libcrypto
# Below is caused by openssl 3.0.8 leaks
leak:libcrypto.so

# Suppress leaks in accel-config
# Versions with unresolved leaks:
# v3.4.6.4 [Fedora 37]
leak:add_wq
leak:add_group
# v3.5.2 [Fedora 38]
leak:accfg_get_param_str
# v4.0 [Fedora 39]
leak:__scandir64_tail
EOL

# Suppress leaks in libfuse3