[PATCH] Simplify note processing
Dmitry V. Levin
ldv@altlinux.org
Thu Oct 10 10:38:00 GMT 2019
On Thu, Oct 10, 2019 at 12:26:37PM +0200, Andreas Schwab wrote:
> On Okt 10 2019, "Dmitry V. Levin" <ldv@altlinux.org> wrote:
>
> > On Thu, Oct 10, 2019 at 10:48:29AM +0200, Andreas Schwab wrote:
> >> This removes dead code during note processing.
> >>
> >> * elf/dl-load.c (open_verify): Remove dead code.
> >> ---
> >> elf/dl-load.c | 17 +++--------------
> >> 1 file changed, 3 insertions(+), 14 deletions(-)
> >>
> >> diff --git a/elf/dl-load.c b/elf/dl-load.c
> >> index 24e2819345..1ed7a7bbd6 100644
> >> --- a/elf/dl-load.c
> >> +++ b/elf/dl-load.c
> >> @@ -1682,21 +1682,10 @@ open_verify (const char *name, int fd,
> >>
> >> /* Check .note.ABI-tag if present. */
> >> for (ph = phdr; ph < &phdr[ehdr->e_phnum]; ++ph)
> >> - if (ph->p_type == PT_NOTE && ph->p_filesz >= 32 && ph->p_align >= 4)
> >> + if (ph->p_type == PT_NOTE && ph->p_filesz >= 32
> >> + && (ph->p_align == 4 || ph->p_align == 8))
> >> {
> >> ElfW(Addr) size = ph->p_filesz;
> >> - /* NB: Some PT_NOTE segment may have alignment value of 0
> >> - or 1. gABI specifies that PT_NOTE segments should be
> >> - aligned to 4 bytes in 32-bit objects and to 8 bytes in
> >> - 64-bit objects. As a Linux extension, we also support
> >> - 4 byte alignment in 64-bit objects. If p_align is less
> >> - than 4, we treate alignment as 4 bytes since some note
> >> - segments have 0 or 1 byte alignment. */
> >> - ElfW(Addr) align = ph->p_align;
> >> - if (align < 4)
> >> - align = 4;
> >> - else if (align != 4 && align != 8)
> >> - continue;
> >
> > This effectively removes support of ph->p_align < 4.
>
> No. It was never supported. The condition ph->p_align >= 4 has been
> there from the beginning.
Indeed, and the "free (abi_note_malloced)" is actually outside the loop,
I must've completely misread the code, sorry for the noise.
The change is fine then.
--
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20191010/846e64bb/attachment.sig>
More information about the Libc-alpha
mailing list