Subject: Re: Fixing Linux emulated brk()
To: Wolfgang Solfrank <firstname.lastname@example.org>
From: Christos Zoulas <email@example.com>
Date: 03/15/2001 09:25:58
On Mar 15, 3:23pm, firstname.lastname@example.org (Wolfgang Solfrank) wrote:
-- Subject: Re: Fixing Linux emulated brk()
| Wouldn't simply always returning a page-aligned value (even if the user
| didn't ask for it) help here? Actually, the real break value cannot be
| non-page-aligned anyways...
I think that you are absolutely right. Let's try to do that.
| BTW, the linux_sys_brk looks a bit broken to me.
| 1. It doesn't take into account that vm_daddr might be unaligned.
| It probably should do something similar to what sys_obreak does when
| extracting the old value, i.e.
| oldbrk = round_page(vm->vm_daddr + ctob(vm->vm_dsize));
| 2. From the comment in this file, it seems that it wants to only increase
| the break value. The actual code however doesn't compare with the old
| break value, but with vm_daddr, i.e. the start of the data area.