firedancer
firedancer copied to clipboard
AddressSanitizer support for workspaces
Firedancer primarily allocates memory in shared memory workspaces (fd_wksp.h
).
These are mapped into memory as part of large shared memory objects.
ASan currently fails to detect most forms of out-of-bounds memory accesses because it considers an entire mmap()ed shared memory object as valid.
To fix, use the ASan poison API (https://github.com/firedancer-io/firedancer/issues/39) to mark workspaces invalid by default. Then, selectively unpoison when a user joins or creates objects in workspace memory regions.
https://git.firedancer.io/c/firedancer/+/412
Fixed by https://github.com/firedancer-io/firedancer/pull/50
@lheeger-jump Are you still working on this?