bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH gnumach v2] Implement per task virtual memory limit


From: Diego Nieto Cid
Subject: Re: [PATCH gnumach v2] Implement per task virtual memory limit
Date: Mon, 30 Dec 2024 22:29:54 +0000

Hi,

On Mon, Dec 30, 2024 at 07:08:55PM +0100, Samuel Thibault wrote:
> 
> Please also add printing size_null in vm_map_print.
>

Ok

> dnietoc@gmail.com, le mer. 25 déc. 2024 16:16:06 -0300, a ecrit:
> 
> > @@ -1679,11 +1747,13 @@ kern_return_t vm_map_protect(
> >             vm_map_clip_end(map, current, end);
> >  
> >             old_prot = current->protection;
> > -           if (set_max)
> > +           if (set_max) {
> > +                   if (current->max_protection != new_prot && new_prot == 
> > VM_PROT_NONE)
> > +                           map->size_none += current->vme_end - 
> > current->vme_start;
> 
> You also need to take into account the case where
> current->max_protection was NONE and new_prot is not NONE, you then have
> to decrease size_none.
>

Ah right, the & in the expression tricked me into believing that max_protection 
could
not be raised.

> 
> It seems there is also an occurrence of changing max_protection in
> projected_buffer_allocate and projected_buffer_map
>

This is tricky, the allocation is made by vm_map_find_entry which
does not have access to the max_protection projected buffers will
use later.

I'll add the accounting, which will "release" the allocated memory
and made it available for future allocations, but will drop a note
that the required size must be within the limit.
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]