mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-23 15:32:25 +00:00
dde_linux: call init_page_count for each page
The lx_emul_virt_to_pages implementation initialized the page ref counter only for the first page, leaving the remaining elements in uninitialized state. This, in turn, rendered the Linux page_pool (as used by the emac network driver) ineffective, ultimately leading the a memory leak. The fix changes the call of 'init_page_count' to take the loop variable as argument. Issue #4225
This commit is contained in:
parent
4dacac3dbb
commit
d072c408ab
@ -29,7 +29,7 @@ struct page *lx_emul_virt_to_pages(void const *virt, unsigned count)
|
||||
page = p;
|
||||
for (i = 0; i < count; i++, p++) {
|
||||
p->virtual = (void*)((uintptr_t)page_aligned_virt + i*PAGE_SIZE);
|
||||
init_page_count(page);
|
||||
init_page_count(p);
|
||||
lx_emul_associate_page_with_virt_addr(p, p->virtual);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user