Skip to content

Race condition #61

@arauhala

Description

@arauhala

There is a race condition in the mmap allocator memory management. Following sequence can happen:

  1. Memory in address X is allocated. X is put into allocatedMemoryReferences
  2. Memory in address X is released with 'close' request. X is removed from allocatedMemoryReferences
  3. MemoryReference for address X has been garbage collected, and it is put into the 'queue'.
  4. Memory in address X is reallocated. X is is put into allocatedMemoryReferences
  5. Memory in address X is popped from 'queue', and because X is in allocatedMemoryReferences, it gets released second time.
  6. Memory in address X is assumed to be allocated, and so it is used, which causes a segfault.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions