GWP-ASan: Use ring buffer to store free slots

The current method for finding a free slot is to pick a random starting
point in a bitmap and scan left or right. This has the disadvantage of
being O(n) AND relying on a system entropy source which could
potentially call into allocation methods while a lock is held. Instead,
store free slots in a ring buffer.

Bug: 896019, 917804
Change-Id: I514c6b5f65c4f29b61f90d0bf2c73b4d32211e99
Reviewed-on: https://chromium-review.googlesource.com/c/1395889
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620474}
2 files changed