CorruptedByCPU / Foton

Foton (eng. Photon) - is a similar project as Cyjon/Fern-Night, but compatibility will no longer be fully supported.
https://blackdev.org
Other
11 stars 4 forks source link

memory corruption #18

Open CorruptedByCPU opened 2 weeks ago

CorruptedByCPU commented 2 weeks ago

this problem definitely affects all versions (Cyjon/Fern-Night/Foton) from time to time, some pages overlap with other processes it will take a long time to find the problem possible design error

CorruptedByCPU commented 1 week ago

problem disgnosed, but cannot find it yet

hashout line of kernel_memory_dispose will fix issue, but on the other hand, every process will need infinite amount of memory

i somehow allowed, somewhere to allocate 1 physical page in two places... thats the main reason, or released page/s and not informed about it a kernel

void kernel_syscall_memory_release( uintptr_t target, uint64_t page ) {
    // current task properties
    struct KERNEL_TASK_STRUCTURE *task = kernel_task_active();

    // remove page from paging structure
    kernel_page_release( (uint64_t *) task -> cr3, target, page );

    // release page in binary memory map of process
    // kernel_memory_dispose( task -> memory_map, target >> STD_SHIFT_PAGE, page );

    // process memory usage
    task -> page -= page;
}