Hi Shawn,
On 8/27/21 4:12 PM, Shawn Guo wrote:
[..]
So you proposed to reject PT_LOAD in the else clause, which right now
handles .mbn case
Yes, I propose to reject PT_LOAD in the else-case, and additionally
reject cases where p_offset+p_filesz > sw->size since PT_NULL can also
cause external file loads (meaning split-firmware). This is what
Siddharth's patchset - or my respin of it - is going to implement.
are you sure hash segment in .mbn is not going to be
PT_LOAD?
PT_LOAD unambiguously indicates a program header that ought to be loaded
from an external file. Any mbn file (non-split firmware) without split
files that set PT_LOAD are misusing this program header type field. I
have no way to validate whether such mbns are in circulation.
Of note, I have never referenced the definition of the program header
types yet. Please see [1]:
PT_LOAD (1)
Indicates that this program header describes a segment to be
loaded from the file.
Let me know if you're planning to send a v2 of this patch with
aforementioned improvements, then I'll adjust my plans to respin
Siddharth's patchset accordingly.
- Marijn
[1]: https://ftp.gnu.org/old-gnu/Manuals/ld-2.9.1/html_node/ld_23.html