Re: [PATCH] binfmt_elf.c: core file shrinking

From: Thanh-Lam NGUYEN
Date: Fri Oct 14 2011 - 11:04:24 EST


On 14/10/2011 16:45, Hillf Danton wrote:

> On Fri, Oct 14, 2011 at 4:52 PM, Thanh-Lam NGUYEN
> <thanh-lam.nguyen@xxxxxxxxxxxxxxxxxx> wrote:
>> Sorry for upping the patch,
>> as it is my first contribution I would like to know if there is any
>> problem with it.
>>
>> Best regard
>> Thanh lam NGUYEN
>>
>> On 11/10/2011 17:36, Thanh-Lam NGUYEN wrote:
>>
>>> The vma_shrink function looks for the 1st allocated and the last
>>> allocated page. Only this part is dumped to the disk (the virual
>>> start address and the size are dupdated to reflect the new dumped
>>> information).
>>>
>>> Signed-off-by: Thanh Lam NGUYEN <thanh-lam.nguyen@xxxxxxxxxxxxxxxxxx>
>>> Signed-off-by: Benjamin ZORES <Benjamin.Zores@xxxxxxxxxxxxxxxxxx>
>>> ---
>>> linux/fs/binfmt_elf.c | 54
>>> ++++++++++++++++++++++++++++++++++++++++++++++----
>
> corrupted message?
>
>>> 1 file changed, 55 insertions(+), 4 deletions(-)
>>>
>>> --- linux/fs/binfmt_elf.c
>>> +++ linux/fs/binfmt_elf.c
>>> @@ -1085,6 +1085,48 @@
>>> * Jeremy Fitzhardinge <jeremy@xxxxxxxx>
>>> */
>>>
>>> +/*
>>> + * Search for 1st and last allocated page from vma_start to vma_end.
>>> + * Update vma_start and vma_end to reflect the result.
>>> + */
>>> +void vma_shrink(struct vm_area_struct *vma, unsigned long *vma_start,
>>> + unsigned long *vma_end)
>>> +{
>>> + int allocated;
>>> + unsigned long start, addr, end;
>>> +
>>> + allocated = 0;
>>> + start = end = *vma_start;
>>> + for (addr = *vma_start; _addr < *vma_end; addr += PAGE_SIZE) {
> -----^
> where is _addr from?
>

My bad, it's addr and not _addr.

>>> + struct page *page;
>>> + if (get_user_pages(current, current->mm, addr, 1, 0, 1,
>>> + &page, NULL) <= 0) {
>>> + /* NO PAGE */
> --
> To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>



--
=~=~=~=~=~=~=~=~=~=~=~=~==~=~=~=~=~=~=~=~=~=~=~=~=~=~=
Thanh lam NGUYEN
Prestataire externe ALTEN | ALTEN Subcontractor
pour ALCATEL-LUCENT | in ALCATEL-LUCENT

Tel: +333906 77095

Equipe/Team: SWINT
email: tlnguyen@xxxxxxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/