[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ELF bugfixes
From: |
Robert Millan |
Subject: |
Re: ELF bugfixes |
Date: |
Sat, 21 Mar 2009 23:03:12 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Sat, Mar 21, 2009 at 07:05:23PM +0100, phcoder wrote:
> Robert Millan wrote:
>> On Sat, Mar 21, 2009 at 06:58:58PM +0100, phcoder wrote:
>>> Robert Millan wrote:
>>>> On Wed, Mar 18, 2009 at 02:26:40PM +0100, phcoder wrote:
>>>>> Robert Millan wrote:
>>>>>> On Fri, Mar 13, 2009 at 09:52:39PM +0100, phcoder wrote:
>>>>>>> - grub_multiboot_payload_entry_offset = ehdr->e_entry -
>>>>>>> phdr(lowest_segment)->p_vaddr;
>>>>>>> + for (i = 0; i < ehdr->e_phnum; i++)
>>>>>>> + if (phdr(i)->p_vaddr <= ehdr->e_entry + &&
>>>>>>> phdr(i)->p_vaddr + phdr(i)->p_memsz > ehdr->e_entry)
>>>>>>> + grub_multiboot_payload_entry_offset = (ehdr->e_entry -
>>>>>>> phdr(i)->p_vaddr)
>>>>>>> + + (phdr(i)->p_paddr - phdr(lowest_segment)->p_paddr);
>>>>>> You need to handle the case in which grub_multiboot_payload_entry_offset
>>>>>> is left
>>>>>> uninitialized (it needs to be initialized each time the multiboot
>>>>>> command is
>>>>>> run, not just when the module is loaded).
>>>>>>
>>>>> module? actually it's when loading image. Perhaps you mean that
>>>>> additional error check is necessary
>>>> I meant GRUB's multiboot.mod, not the payload's module. Sorry I wasn't
>>>> clear.
>>>>
>>> With this error check if grub_multiboot_payload_entry_offset it can
>>> happen only if no image is loaded. And actually
>>> grub_multiboot_payload_entry_offset is set to 0 at multiboot.mod load
>>> So I don't really understand the problem
>>
>> You can't rely on grub_multiboot_payload_entry_offset being set to 0, because
>> any subsequent call of "multiboot /something" has the potential to override
>> this. You must not assume the multiboot command is only going to be run
>> once.
>>
> No but it always corresponds to the current image. It's set either in
> multiboot.c or in grub_multiboot_load_elf
It is now, but your code makes this conditional.
--
Robert Millan
The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
how) you may access your data; but nobody's threatening your freedom: we
still allow you to remove your data and not access it at all."
- Re: ELF bugfixes, (continued)
- Re: ELF bugfixes, Robert Millan, 2009/03/13
- Re: ELF bugfixes, phcoder, 2009/03/13
- Re: ELF bugfixes, David Miller, 2009/03/13
- Re: ELF bugfixes, phcoder, 2009/03/13
- Re: ELF bugfixes, Robert Millan, 2009/03/18
- Re: ELF bugfixes, phcoder, 2009/03/18
- Re: ELF bugfixes, Robert Millan, 2009/03/21
- Re: ELF bugfixes, phcoder, 2009/03/21
- Re: ELF bugfixes, Robert Millan, 2009/03/21
- Re: ELF bugfixes, phcoder, 2009/03/21
- Re: ELF bugfixes,
Robert Millan <=
- Re: ELF bugfixes, phcoder, 2009/03/21
- Re: ELF bugfixes, Robert Millan, 2009/03/21
- Re: ELF bugfixes, Robert Millan, 2009/03/21
- Re: ELF bugfixes, Robert Millan, 2009/03/13
- Re: ELF bugfixes, phcoder, 2009/03/13
- Re: ELF bugfixes, Robert Millan, 2009/03/14
- Re: ELF bugfixes, phcoder, 2009/03/15
Re: ELF bugfixes, phcoder, 2009/03/12