On 03/04/13 11:14, Artyom Tarasenko wrote:
It seems to be an unrelated problem, double allocation of the page 0 is still a double allocation.
OTOH maybe the hint address 0 is an explicit invitation to get a next free chunk?
Very interesting. That could actually be right for two reasons:
1. 0x1000 is a multiple of page size
2. If you're not checking the return result, then what is the sense in requesting the same allocation (va = 0) twice?
So yes, I'd definitely try adding some test code to check if va == 0, and if so, set align = size before calling ofmem_claim_virt().
ATB,
Mark.