Type:
Task
Priority:
Major
Resolution:
Fixed
Component/s:
None
gcc/ld have different options that can make resulting binaries more secure against buffer/stack overflow exploits. RedHat uses most of them for distribution binaries. We need to analyze these options, understand the benefits and drawbacks, and possibly use them too in our builds.
The (incomplete) list is
-pie
-Wp,-D_FORTIFY_SOURCE=2
-fstack-protector --param=ssp-buffer-size=4
-Wl,-z,relro,-z,now
relates to
MDEV-6479
stack traces in 10.1
Closed
links to
{"report":{"fcp":1842.8000000715256,"ttfb":474.89999997615814,"pageVisibility":"visible","entityId":31112,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":32,"apdex":0.5,"journeyId":"d4db57ed-d11e-4fa0-b8ee-f6d4ef44e136","navigationType":0,"readyForUser":2001.5,"redirectCount":0,"resourceLoadedEnd":2633,"resourceLoadedStart":484.10000002384186,"resourceTiming":[{"duration":650.6000000238419,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":484.10000002384186,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":484.10000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1134.7000000476837,"responseStart":0,"secureConnectionStart":0},{"duration":652.2000000476837,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true&whisper-enabled=true","startTime":484.39999997615814,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":484.39999997615814,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1136.6000000238419,"responseStart":0,"secureConnectionStart":0},{"duration":726.2999999523163,"initiatorType":"script","name":"https://jira.mariadb.org/s/0917945aaa57108d00c5076fea35e069-CDN/lu2cib/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":484.60000002384186,"connectEnd":484.60000002384186,"connectStart":484.60000002384186,"domainLookupEnd":484.60000002384186,"domainLookupStart":484.60000002384186,"fetchStart":484.60000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":484.60000002384186,"responseEnd":1210.8999999761581,"responseStart":1210.8999999761581,"secureConnectionStart":484.60000002384186},{"duration":869.7000000476837,"initiatorType":"script","name":"https://jira.mariadb.org/s/2d8175ec2fa4c816e8023260bd8c1786-CDN/lu2cib/820016/12ta74/494e4c556ecbb29f90a3d3b4f09cb99c/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true&whisper-enabled=true","startTime":485.5,"connectEnd":485.5,"connectStart":485.5,"domainLookupEnd":485.5,"domainLookupStart":485.5,"fetchStart":485.5,"redirectEnd":0,"redirectStart":0,"requestStart":485.5,"responseEnd":1355.2000000476837,"responseStart":1355.2000000476837,"secureConnectionStart":485.5},{"duration":875.3999999761581,"initiatorType":"script","name":"https://jira.mariadb.org/s/a9324d6758d385eb45c462685ad88f1d-CDN/lu2cib/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":486.3000000715256,"connectEnd":486.3000000715256,"connectStart":486.3000000715256,"domainLookupEnd":486.3000000715256,"domainLookupStart":486.3000000715256,"fetchStart":486.3000000715256,"redirectEnd":0,"redirectStart":0,"requestStart":486.3000000715256,"responseEnd":1361.7000000476837,"responseStart":1361.6000000238419,"secureConnectionStart":486.3000000715256},{"duration":875.7000000476837,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":486.39999997615814,"connectEnd":486.39999997615814,"connectStart":486.39999997615814,"domainLookupEnd":486.39999997615814,"domainLookupStart":486.39999997615814,"fetchStart":486.39999997615814,"redirectEnd":0,"redirectStart":0,"requestStart":486.39999997615814,"responseEnd":1362.1000000238419,"responseStart":1362.1000000238419,"secureConnectionStart":486.39999997615814},{"duration":875.7999999523163,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":486.60000002384186,"connectEnd":486.60000002384186,"connectStart":486.60000002384186,"domainLookupEnd":486.60000002384186,"domainLookupStart":486.60000002384186,"fetchStart":486.60000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":486.60000002384186,"responseEnd":1362.3999999761581,"responseStart":1362.3999999761581,"secureConnectionStart":486.60000002384186},{"duration":950.7999999523163,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2cib/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":486.8000000715256,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":486.8000000715256,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1437.6000000238419,"responseStart":0,"secureConnectionStart":0},{"duration":875.8999999761581,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":487,"connectEnd":487,"connectStart":487,"domainLookupEnd":487,"domainLookupStart":487,"fetchStart":487,"redirectEnd":0,"redirectStart":0,"requestStart":487,"responseEnd":1362.8999999761581,"responseStart":1362.8999999761581,"secureConnectionStart":487},{"duration":950.7999999523163,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":487.10000002384186,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":487.10000002384186,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1437.8999999761581,"responseStart":0,"secureConnectionStart":0},{"duration":876.1999999284744,"initiatorType":"script","name":"https://jira.mariadb.org/s/5d5e8fe91fbc506585e83ea3b62ccc4b-CDN/lu2cib/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":487.3000000715256,"connectEnd":487.3000000715256,"connectStart":487.3000000715256,"domainLookupEnd":487.3000000715256,"domainLookupStart":487.3000000715256,"fetchStart":487.3000000715256,"redirectEnd":0,"redirectStart":0,"requestStart":487.3000000715256,"responseEnd":1363.5,"responseStart":1363.5,"secureConnectionStart":487.3000000715256},{"duration":1765.7000000476837,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":494.89999997615814,"connectEnd":494.89999997615814,"connectStart":494.89999997615814,"domainLookupEnd":494.89999997615814,"domainLookupStart":494.89999997615814,"fetchStart":494.89999997615814,"redirectEnd":0,"redirectStart":0,"requestStart":494.89999997615814,"responseEnd":2260.600000023842,"responseStart":2260.600000023842,"secureConnectionStart":494.89999997615814},{"duration":2138,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2cib/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":495,"connectEnd":495,"connectStart":495,"domainLookupEnd":495,"domainLookupStart":495,"fetchStart":495,"redirectEnd":0,"redirectStart":0,"requestStart":495,"responseEnd":2633,"responseStart":2633,"secureConnectionStart":495},{"duration":798.2000000476837,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":1478.6000000238419,"connectEnd":1478.6000000238419,"connectStart":1478.6000000238419,"domainLookupEnd":1478.6000000238419,"domainLookupStart":1478.6000000238419,"fetchStart":1478.6000000238419,"redirectEnd":0,"redirectStart":0,"requestStart":1478.6000000238419,"responseEnd":2276.8000000715256,"responseStart":2276.7000000476837,"secureConnectionStart":1478.6000000238419},{"duration":724.5,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":1910.1000000238419,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":1910.1000000238419,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":2634.600000023842,"responseStart":0,"secureConnectionStart":0}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":259,"responseStart":475,"responseEnd":492,"domLoading":479,"domInteractive":2693,"domContentLoadedEventStart":2693,"domContentLoadedEventEnd":2784,"domComplete":3466,"loadEventStart":3466,"loadEventEnd":3467,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":2638.2000000476837},{"name":"bigPipe.sidebar-id.end","time":2639.100000023842},{"name":"bigPipe.activity-panel-pipe-id.start","time":2639.2000000476837},{"name":"bigPipe.activity-panel-pipe-id.end","time":2640.600000023842},{"name":"activityTabFullyLoaded","time":2820}],"measures":[],"correlationId":"3a7850a8fd172","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":98,"dbReadsTimeInMs":11,"dbConnsTimeInMs":20,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
FTR, this are the changes to my build script
--- xl_build_new 2014-06-25 14:40:40.354214993 +0200
+++ xl_build_MDEV-5730 2014-06-25 14:40:33.154617307 +0200
@@ -5,5 +5,5 @@
#CC=gcc
#CXX=g++
-CFLAGS="-O3 -g -fno-omit-frame-pointer -fno-strict-aliasing -DNDEBUG -DDBUG_OFF -Wno-maybe-uninitialized"
+CFLAGS="-O3 -g -fno-omit-frame-pointer -fno-strict-aliasing -DNDEBUG -DDBUG_OFF -Wno-maybe-uninitialized -pie -fPIC -Wl,-z,relro,-z,now -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2"
CXXFLAGS="$CFLAGS -felide-constructors"