Age | Commit message (Collapse) | Author |
|
Previously it was possible for fragmentation to occur and as a result
certain allocations would have a linear virtual address space but not a
linear physical address space. This is bad since a lot of calls to
kmalloc_align rely upon both being linear, it has now been changed such
that all allocations done by kmalloc_align now guarantee this mapping
holds for both virtual and physical addresses.
It was due to oversight and sheer luck that this had been working for so
long.
|
|
|
|
|
|
Current method is also really bad since it uses multiple copies when it
should instead just copy to the send buffer of the network card
directly. But I have other things that I want to prioritize first.
|
|
|
|
This will scan for possible overflows in the program. It is a somewhat
expensive operation but really useful for debugging.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It can now boot with fairly low memory while not crashing and instead
gracefully failing the operation. Userland still does not properly
handle errors.
|
|
|
|
|
|
|
|
Fill new and freed allocations with random data unless it is allocated
from kcalloc in which case it should be zero filled.
|
|
|
|
|
|
|
|
|
|
I would like to be able to free some of those objects but I have not
decided upon how that will be done yet. Even if not freeded the added
complexity of having two functions does not make the extra bytes saved
worth it IMO.
|
|
This is mainly done to test for uninitlalized memory and find bugs
faster. Therefore it does not need to be cryptographically secure or
perfectly uniform. Xoshiro256++ seems like a good fit.
|
|
|
|
This should make it easier to spot uninitalized memory being used.
|
|
This is to allow both the kernel and the userland to share certain
header files and to make the folder structure a bit more clear.
|