On 16/08/18 21:25 +0200, Mark Wielaard wrote:
> On Thu, Aug 16, 2018 at 10:34:23AM +0800, Robert Yang wrote:
>> The one which actually saves the data is data_list.data.d.d_buf, so check it
>> before free rawdata_base.
>> 
>> This can fix a segmentation fault when prelink libqb_1.0.3:
>> prelink: /usr/lib/libqb.so.0.18.2: Symbol section index outside of section 
>> numbers
>> 
>> The segmentation fault happens when prelink call elf_end().
> 
> Could you run your reproducer under valgrind and show what it
> says before your patch? And/Or post the file (libqb) to replicate
> the reproducer somewhere to see exactly what goes wrong?

As an author of the commit (wider topical patchset) allegedly causing
that problem (see https://github.com/ClusterLabs/libqb/issues/314
for the story behind the problem raised here, specifically,
cross-compiling seems to be involved), I am also curious
about what's going on here.

> I don't fully understand what is going wrong. Is the section data
> pointing to the file data or something created by elf_newdata?

Out of curiousity, tried this on my Fedora machine without any
success to reproduce:

  # dnf install -y libqb 
https://kojipkgs.fedoraproject.org//packages/prelink/0.5.0/1.fc19/x86_64/prelink-0.5.0-1.fc19.x86_64.rpm
  # chmod -x /etc/cron.daily/prelink
  # cp /usr/lib64/libqb.so.0.19.0{,.bck}
  # /usr/lib64/libqb.so.0.19.0{,.bck} >/dev/null && echo same || echo not
  > not
  # dnf downgrade -y 
https://kojipkgs.fedoraproject.org//packages/libqb/1.0.2/1.fc26/x86_64/libqb-1.0.2-1.fc26.x86_64.rpm
  # cp /usr/lib64/libqb.so.0.18.2{,.bck}
  # /usr/lib64/libqb.so.0.19.0{,.bck} >/dev/null && echo same || echo not
  > not

-- 
Nazdar,
Poki

Attachment: pgpSkrR26JSAT.pgp
Description: PGP signature

Reply via email to