Bug 1367397

Summary: DaemonPartialRELRO - storaged
Product: Red Hat Storage Console Reporter: Martin Kudlej <mkudlej>
Component: distributionAssignee: Nishanth Thomas <nthomas>
Status: CLOSED WONTFIX QA Contact: sds-qe-bugs
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 2CC: sankarshan
Target Milestone: ---   
Target Release: 3   
Hardware: Unspecified   
OS: Unspecified   
URL: http://brewtap.app.eng.bos.redhat.com/nvr/storaged/2.2.0/3.el7
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-23 04:06:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1367296    

Description Martin Kudlej 2016-08-16 10:51:27 UTC
DaemonPartialRELRO

Daemon file compiled with only partial RELRO (should be full): /usr/libexec/storaged/storaged

Daemon executable compiled with only partial RELRO (RHEL6 requires full).

When compiled with PIE flags, the Global Offset Table is writable in order to resolve the relocations introduced by ASLR. If the binary is not Full RELRO, the bindings are resolved lazily so that the program starts up as fast as possible. This means for the life of the program it remains writable and that causes an attack point in an otherwise hardened application. With Full RELRO, all relocations are resolved and the GOT is marked read only removing the attack point.

This failure is sometimes triggered by enabling PIE without also enabling BIND_NOW. To enable BIND_NOW, put -Wl,-z,now (with now, not bind_now) among the linker flags (LDFLAGS).

Note that we use heuristics to identify daemons, and these may result in false positives (we identify "foo" as a daemon but it really isn't) and false negatives (we fail to identify "bar" as a daemon, and don't check it for RELRO).

See also http://post-office.corp.redhat.com/archives/os-devel-list/2011-July/msg00149.html.
 	Daemon file compiled with only partial RELRO (should be full): /usr/libexec/storaged/storaged