Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
R
relibc
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 33
    • Issues 33
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 20
    • Merge Requests 20
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • redox-os
  • relibc
  • Merge Requests
  • !295

Merged
Opened Jul 18, 2020 by Ahmed Abd El Mawgood@oddcoderContributor

Allocator

  • Overview 0
  • Commits 6
  • Pipelines 1
  • Changes 8

This patch fixes huge memory corruption in relibc linux.

The problem is that we have 2 identical copies of relibc ones in ld.so and the other in libc.so

Problem happens when there is transition from on to the other. The issue is that each ofthem has it own rust allocator but both are operating on the same memory space (brk()) but without sharing metadata for who is allocating what. that leaded to huge memory corruption that only appears some of the times. This patchset uses dlmalloc mspaces to do bookkeeping of malloc metadata between 2 copies of libc and rust stdlib instances.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: redox-os/relibc!295
Source branch: allocator

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.