Bug 1027473 - /usr/libexec/lcrso/{coroparse,objdb,quorum_testquorum,...}.lcrso set executable needlessly
/usr/libexec/lcrso/{coroparse,objdb,quorum_testquorum,...}.lcrso set executab...
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: corosync (Show other bugs)
6.4
Unspecified Unspecified
low Severity low
: rc
: ---
Assigned To: Jan Friesse
Cluster QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-06 17:23 EST by Jan Pokorný
Modified: 2014-01-06 07:48 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-01-06 07:48:55 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jan Pokorný 2013-11-06 17:23:45 EST
# for p in $(for i in /usr/libexec/lcrso/*; do rpm -qf "${i}"; done \
  | sort -u); do echo "${p}:"; rpm -ql "${p}" \
  | grep -F /usr/libexec/lcrso/; done
> [...]
> corosync-1.4.1-17.el6.x86_64:
> /usr/libexec/lcrso/coroparse.lcrso
> /usr/libexec/lcrso/objdb.lcrso
> /usr/libexec/lcrso/quorum_testquorum.lcrso
> /usr/libexec/lcrso/quorum_votequorum.lcrso
> /usr/libexec/lcrso/service_cfg.lcrso
> /usr/libexec/lcrso/service_confdb.lcrso
> /usr/libexec/lcrso/service_cpg.lcrso
> /usr/libexec/lcrso/service_evs.lcrso
> /usr/libexec/lcrso/service_pload.lcrso
> /usr/libexec/lcrso/vsf_quorum.lcrso
> /usr/libexec/lcrso/vsf_ykd.lcrso
> [...]

# /usr/libexec/lcrso/coroparse.lcrso
> Segmentation fault (core dumped)
Comment 2 Jan Friesse 2013-11-07 03:32:55 EST
Moving to 6.6 because 6.5 capacity constrained.
Comment 3 Jan Friesse 2014-01-06 07:48:55 EST
Libraries (*.so) files are generally created executable (and lcrso is just renamed so). Only very few libraries contains valid entry point (libc does, pthread does, ld.so does). Vast majority of libraries execution ends with segfault. Take a look to /lib{64} or /usr/lib{64}.

Executable bit is also used on some platforms (like hp-ux) and without it, dl_open doesn't work.

Generally, I don't have any intent to solve this in RHEL 6, because possible breaking compatibility and general nonsense of such action. RHEL 7 corosync doesn't include lcrso so it's already solved there.

Note You need to log in before you can comment on or make changes to this bug.