On Wed, Oct 4, 2023 at 4:23 PM Artur Paszkiewicz <artur.paszkiew...@intel.com> wrote: > > Multi-process applications operate on shared hugepage memory but each > process has its own ASan shadow region which is not synchronized with > the other processes. This causes issues when different processes try to > use the same memory because they have their own view of which addresses > are valid. > > Fix it by mapping the shadow regions for memseg lists as shared memory. > The primary process is responsible for creating and removing the shared > memory objects. > > Disable ASan instrumentation for triggering the page fault in > alloc_seg() because if the segment is already allocated by another > process and is marked as free in the shadow, accessing this address will > cause an ASan error. > > Signed-off-by: Artur Paszkiewicz <artur.paszkiew...@intel.com>
Interesting patch. I have a few questions: - did you test with --in-memory mode? with --no-huge? - I did not look at the patch, but I wonder if there is a risk some "local" ASan region (for the process heap, for example) can overlap with some "shared" ASan region (for shared DPDK hugepages). - with this work, would unit tests (that were marked failing with ASan) be ok now? See REGISTER_FAST_TEST macro in app/test. Thanks for working on this topic. -- David Marchand