mirror of
https://github.com/amd/blis.git
synced 2026-05-11 09:39:59 +00:00
Fixed ASAN reported issues in bli_l3_packm.c
The local_mem_s is allocated on stack but in the inner scop of the “if” block, however, it can be accessed through cntl_mem_p outside the if block. This error is flagged by address sanitizer. Fixed this issue by moving the variables declaration at the functions scope. This fix address the issue reported for follwoing libflame APIs geqp3, geqrf, gerq2, gerqf, gesvd, ggev, ggevx, potrf, potrs, stedc, steqr, syevd AMD-Internal: [CPUPL-2587] Change-Id: I63749c7d406c7339d2b45b0488108ccd3f90a248
This commit is contained in:
@@ -47,6 +47,8 @@ void bli_l3_packm
|
||||
{
|
||||
packbuf_t pack_buf_type;
|
||||
mem_t* cntl_mem_p;
|
||||
mem_t* local_mem_p;
|
||||
mem_t local_mem_s;
|
||||
siz_t size_needed;
|
||||
|
||||
// FGVZ: Not sure why we need this barrier, but we do.
|
||||
@@ -80,9 +82,6 @@ void bli_l3_packm
|
||||
// all threads in the chief's thread group.
|
||||
if ( bli_mem_is_unalloc( cntl_mem_p ) )
|
||||
{
|
||||
mem_t* local_mem_p;
|
||||
mem_t local_mem_s;
|
||||
|
||||
if ( bli_thread_am_ochief( thread ) )
|
||||
{
|
||||
#ifdef BLIS_ENABLE_MEM_TRACING
|
||||
@@ -110,9 +109,6 @@ void bli_l3_packm
|
||||
}
|
||||
else // ( bli_mem_is_alloc( cntl_mem_p ) )
|
||||
{
|
||||
mem_t* local_mem_p;
|
||||
mem_t local_mem_s;
|
||||
|
||||
// If the mem_t entry in the control tree does NOT contain a NULL
|
||||
// buffer, then a block has already been acquired from the memory
|
||||
// broker and cached in the control tree.
|
||||
|
||||
Reference in New Issue
Block a user