Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Feature request - Create a slab allocator for all kernel structures #19

Open
3 tasks done
bSchnepp opened this issue Oct 3, 2021 · 1 comment
Open
3 tasks done
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@bSchnepp
Copy link
Owner

bSchnepp commented Oct 3, 2021

Issue Checklist

  • A related or similar issue is not already marked as open
  • Another issue describing a similar feature has not already been marked as wontfix or closed
  • This feature is not already present in the software

=====================================================
Feature Description
A slab allocator should be used by the kernel to allocate and initialize objects very quickly, and with minimal fragmentation.
Ideally, total fragmentation should not exceed 20% of a page size (roughly 800 bytes).

Feature Benefits
List the reasons why this feature would be beneficial

  • Use after free bugs are much more difficult to take advantage of
  • Solaris, L4, and Linux all use this kind of allocator
  • Predictable performance and avoiding mixing kernel memory with userland memory
  • Cache benefits, for iterating over all processes

Use case examples
List examples where this feature could be useful for end users.

  • System performance will be improved
  • Security is improved for free
  • Stronger guarantees about object consistency
  • Can be combined with a generic buddy or simple doubly linked allocator for more fine-grained control (see Linux)

Additional information
Any additional information should be placed here.

@bSchnepp bSchnepp added enhancement New feature or request help wanted Extra attention is needed labels Oct 3, 2021
@bSchnepp bSchnepp self-assigned this Oct 3, 2021
@bSchnepp
Copy link
Owner Author

We should at least be good for having a single cache as of 0bd7b11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant