From patchwork Mon Aug 13 19:42:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hollis Blanchard X-Patchwork-Id: 10564789 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8F58015A6 for ; Mon, 13 Aug 2018 19:44:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 79D3928643 for ; Mon, 13 Aug 2018 19:44:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6BBAB28426; Mon, 13 Aug 2018 19:44:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from UCOL19PA10.eemsg.mail.mil (ucol19pa10.eemsg.mail.mil [214.24.24.83]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 36B3228426 for ; Mon, 13 Aug 2018 19:44:39 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.53,234,1531785600"; d="scan'208";a="574428201" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.3]) by UCOL19PA10.eemsg.mail.mil with ESMTP/TLS/AES256-SHA; 13 Aug 2018 19:44:36 +0000 X-IronPort-AV: E=Sophos;i="5.53,234,1531785600"; d="scan'208";a="16956365" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2DmAwBi33Fb/wHyM5BcHAEBAQQBAQoBAYMkJ2YjShIoi3dfo3QUgV0UGAsJgRuCX4QyNBgBAgEBAQEBAQIBbBwMgjUkgmYCJBMUIAsDAwkCPgIICAMBLRUXCAsFGASCfwEogVgDDK04M4RohWMFiyuHPwKBLgESAWyFCQKNPzCMbwkFgXcBBoQfiScLjjcBK4pXiA+BQThhcU0jUIJphgGKck99iUuCOgEB Received: from tarius.tycho.ncsc.mil (HELO tarius.infosec.tycho.ncsc.mil) ([144.51.242.1]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 13 Aug 2018 19:44:35 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus.infosec.tycho.ncsc.mil [192.168.25.40]) by tarius.infosec.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w7DJiQhP026585; Mon, 13 Aug 2018 15:44:29 -0400 Received: from tarius.infosec.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id w7DJhT0d003212 for ; Mon, 13 Aug 2018 15:43:29 -0400 Received: from goalie.tycho.ncsc.mil (goalie.infosec.tycho.ncsc.mil [144.51.242.250]) by tarius.infosec.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w7DJhTTN026577; Mon, 13 Aug 2018 15:43:29 -0400 IronPort-PHdr: 9a23:PNnJFxKiVGmAlA9h1dmcpTVXNCE6p7X5OBIU4ZM7irVIN76u5InmIFeFv60/kVTOWdyK8/sc16zbvqX7VioF6JeF9nUDdM8EWxwEjJAQmAotSI6ABFbgJfHnJyo9AIxZVVBj8n36eUhYEcrzfRvT93u16zNBUg7nO19TIeL4UpXXk9zxz/q7rp3UZwFJnw23Zbp0JxW/twn5s8QQnYx4bK02z0iBuWNGLtxf3nggPlePh1D578a08oRk9nFwvPYl9tV3e6Hzea84RKZUJDErNXwy/ovgshyQBRCX6C46VWMb2gFNHxCD7Bz+WcLptTDms+NmxCSAFdf7SbklAHKn4qF3TwXnziwAMjM= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A1BUAQB53nFbly0YGNZcHQEBBQELAYMkJ2Z/jB+MPJgXgXoLI4Ekgl9Gg0shNBgBAgEBAQEBAQIUAQEBAQEIFgZMhXFST28OgyUBKIFYAwytMTOEaIVjBYkUgheDdoNJAoIuhQkCjW+MbwkFgXcBBoQfiScLjjgrileID4FBggpNI4M6gjKDTopyjVEBAQ X-IPAS-Result: A1BUAQB53nFbly0YGNZcHQEBBQELAYMkJ2Z/jB+MPJgXgXoLI4Ekgl9Gg0shNBgBAgEBAQEBAQIUAQEBAQEIFgZMhXFST28OgyUBKIFYAwytMTOEaIVjBYkUgheDdoNJAoIuhQkCjW+MbwkFgXcBBoQfiScLjjgrileID4FBggpNI4M6gjKDTopyjVEBAQ X-IronPort-AV: E=Sophos;i="5.53,234,1531800000"; d="scan'208";a="345464" Received: from emsm-gh1-uea11.ncsc.mil ([214.29.60.35]) by goalie.tycho.ncsc.mil with ESMTP; 13 Aug 2018 15:43:28 -0400 IronPort-PHdr: 9a23:zo0ShR1BBJmYI51MsmDT+DRfVm0co7zxezQtwd8ZseITKPad9pjvdHbS+e9qxAeQG9mDtbQc06L/iOPJYSQ4+5GPsXQPItRndiQuroEopTEmG9OPEkbhLfTnPGQQFcVGU0J5rTngaRAGUMnxaEfPrXKs8DUcBgvwNRZvJuTyB4Xek9m72/q99pHPYghEniaxba9vJxiqsAvdsdUbj5F/Iagr0BvJpXVIe+VSxWx2IF+Yggjx6MSt8pN96ipco/0u+dJOXqX8ZKQ4UKdXDC86PGAv5c3krgfMQA2S7XYBSGoWkx5IAw/Y7BHmW5r6ryX3uvZh1CScIMb7S60/Vza/4KdxUBLmlScJOSA3/m/UjcJ/g75UrQm9pxBj2YPYfJuYOOZicq7bYNgURXBBXsFUVyFZAI28aI8PD+4APeZDsoLwul8OogG4BQawBOPg0CVIiWLr1qA90+QhFgXG3AghH9IVqHvbt9H1O70UUe+pzKnH1y/DYO5N1Df49ofIdAwhofaWXb5qbcXRzkwvGhrDg16Np4LlODaV2f4Ms2id9+dgWuOvi3InqwFsuTej3Nsjio7Mho8T11vK9j15zZ4rKdGlR0N3e8CoHZRKuy2EOIZ6WMwvTmFwtConxbALu4S3cSYFxZg9wxPTduaLf5WO7xn+TuieOy14i2hgeL+nhxa970ygyurkW8a6zltEtyxLn9fSu34XyxHf9sqKRuFj8Ui/3DaPzA/T5vtBIU8ulKrbL4QtwrsxlpoXqUjDHyn2l1vqjKKOaEko5+el5/75brjpvJOQKYB5hhvxP6kugsC/BP43MgkKX2iV4+S807jj8FX7TrVNiv02lqjZsIvCKskGoq62GQlV3Zoj6xmlFTepzc8VnXwZI1JDZBKHiJLpN0vSL/D/CPezm06snytzx/DaIr3hBY3ALmPen7f6Zrt9905dxxYzzdBY/Z5UDKoBL+jpVk/+s9zYEAczMxaozOb/FNV9yoQeVHqUAqCHNKPSsFmI5v8gIuSXeI8UuCryK/gi5/L0i385gkUScbOm3ZsQdnDrVshhdhGCbH7thMoROXsbtQo5CurxgRuNViAFNFioWKdpxjY/DIO9Ra3HT4amgLWb0G/vHppSYmFdPVqIGHHjd4yeV98JZSSOJdUnmTsBA+vyA7Q93A2j4Vepg4FsKfDZr3VC78DqycR16uvPlBo76T1zCYGH3nqQS31vxDlQFSI926Qm8FR0kgvF3KV9mPMeENVS47VMUwNpfZLfzukvDdf0V0qBe9qSU1+pT52gBi15VdM+xdICIg59FtyugwqF3n+sBLkYxPSQHJJh1KXa0jDqItpljW7c3fwhiF0iQ9B4P2mvgKV//hLfL4vElVmejeChcqFPlDXV+jK7xHGV9FpdTBY2VKzEWX4FYU6DjdP94kLZeJWqALIsMgJbxeaHJ61WbcevhlJDF7/4INqLRWW3li+rAAqQgLOBaI2/Y2IGwCDUE1QJiSgJ8HKPJFF4Ayqnv2XEA3plElfi X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BUAQA13nFbly0YGNZcHQEBBQELAYMkJ2Z/jB+MPJgXgXoLI4Ekgl9Gg0shNBgBAgEBAQEBAQIBEwEBAQEBCBYGTAyCNSKDDlJPbw6DJQEogVgDDK0wM4RohWMFiRSCF4N2g0kCgi6FCQKNb4xvCQWBdwEGhB+JJwuOOCuKV4gPgUGCCk0jgzqCMoNOinKNUQEB X-IPAS-Result: A0BUAQA13nFbly0YGNZcHQEBBQELAYMkJ2Z/jB+MPJgXgXoLI4Ekgl9Gg0shNBgBAgEBAQEBAQIBEwEBAQEBCBYGTAyCNSKDDlJPbw6DJQEogVgDDK0wM4RohWMFiRSCF4N2g0kCgi6FCQKNb4xvCQWBdwEGhB+JJwuOOCuKV4gPgUGCCk0jgzqCMoNOinKNUQEB X-IronPort-AV: E=Sophos;i="5.53,234,1531785600"; d="scan'208";a="16956331" X-IronPort-Outbreak-Status: No, level 0, Unknown - Unknown Received: from ucol3cpa07.eemsg.mail.mil ([214.24.24.45]) by emsm-gh1-uea11.NCSC.MIL with ESMTP; 13 Aug 2018 19:43:28 +0000 X-EEMSG-check-005: 0 X-EEMSG-check-006: 000-001;03c56766-3863-4a6d-b884-b4f486ad07d3 Authentication-Results: ucol19pa04.eemsg.mail.mil; dkim=none (message not signed) header.i=none; spf=None smtp.pra=hollis_blanchard@mentor.com; spf=Pass smtp.mailfrom=Hollis_Blanchard@mentor.com; spf=None smtp.helo=postmaster@relay1.mentorg.com X-EEMSG-check-008: 362585023|UCOL19PA04_EEMSG_MP2.csd.disa.mil X-EEMSG-check-001: false X-EEMSG-SBRS: 3.5 X-EEMSG-ORIG-IP: 192.94.38.131 X-EEMSG-check-002: true IronPort-PHdr: 9a23:5xnCnByC8iUDTXfXCy+O+j09IxM/srCxBDY+r6Qd2+4UIJqq85mqBkHD//Il1AaPAd2Fraocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94HSbglSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wymt771zRRHolikJKjA3/mLQhMN/kK1Wuw6hqwBlzoLIeoyZKOZyc6XAdt0aX2pBWcNRWjRDDIO7a4sPC+sBPf1FpITgo1sBtx2+ChWsBOz10D9Hm2L90Ko60+QmFQHG2A0gH8kWv3vPqNX6LqESXvy1zKbS1zXMcuhb2TLj54jObhAhpuuMUahsfsrWzEkiDgXIhUiep4ziOjOazOUNs26D4upvVOKvl24nqxxqrTS12sgsjYzJi4QIwV7H7SV02Js5KNmmREJhZdOpH4Fcui+ZOodsX88vTXxktD4nxrAJu5O3ZiYHxZs9yxPbdvCLaZWE7xT+X+iLOzh4nmhqeLenihay70egzur8W9Gu0FlUqipKiNnNum0X2xzW9MeHTOd9/kC72TaAzQzc9uZEIUUsmaraLZ4u3KIwm4IOvUnHACP6gkH7gaCMekgq+eWk8fnrb7v7qpOEMo97kAD+MqAgmsylBuQ4NxADUWqc+eS40L3j/Fb5T61Xg/0yiKbZtozVJcQBqa6jHgBYyYMj5Ai5Dze619QYh2MLI05CeBKCl4TpIU3BIOjkDfejhFShiCxryO3dPrD6HpXMLmTMkLfmfbpn7U5c0xA8wcpQ55JTFLELOOjzVVPptNzEEh85NBS5w/35B9V514MeX3+PA6CCPaPOsV6H+uIvI+6WaI8TozbyMeIp5/HpjX8nyhchevz9xpYTaXalDtx6Mk6ZZjzqmd5HHmAU6FkQVuvv3X2FVTpSfD6YW6s67TEyEo7uWYfEQoSsm4uL2C69FZ1ffGxuD12KDXDyMY6DXqFfO2qpPsZ9n2lcBvCaQIg72ET27V6o+/9cNuPRvxYgm9fm3dlx6ffUkEhopzl5CdiaySeGSGQmxzpUFQ9z57h2pAlG8nnGybJx2qYKENFV+/RTFAw9MMyElrEoO5XJQgvEO+yxZhOmT9GhW2ljVN81ys5XJUNwHcmllB+F1C2vUecY X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0DMAQA13nFbh4MmXsBcHAEBAQQBAQoBAYMkgQ1/jB+MPJgXgXoLExCBJIJfRoNLGQcBBDAYAQIBAQEBAQEBAQETAQEBCgsJCCkjDII1IoMOUk9vDoMlASiBWA+tMDOEaIVjBYkUgheHPwKCLoUJAo1vjG8JBYF3AQaEH4knC443ASuKV4gPgUGCCk0jgzqCMoNOinKNUQEB X-IPAS-Result: A0DMAQA13nFbh4MmXsBcHAEBAQQBAQoBAYMkgQ1/jB+MPJgXgXoLExCBJIJfRoNLGQcBBDAYAQIBAQEBAQEBAQETAQEBCgsJCCkjDII1IoMOUk9vDoMlASiBWA+tMDOEaIVjBYkUgheHPwKCLoUJAo1vjG8JBYF3AQaEH4knC443ASuKV4gPgUGCCk0jgzqCMoNOinKNUQEB Received: from relay1.mentorg.com ([192.94.38.131]) by ucol19pa04.eemsg.mail.mil with ESMTP/TLS/DHE-RSA-AES256-SHA256; 13 Aug 2018 19:43:23 +0000 Received: from svr-orw-mbx-04.mgc.mentorg.com ([147.34.90.204]) by relay1.mentorg.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-SHA384:256) id 1fpIkJ-00054Y-0A from Hollis_Blanchard@mentor.com ; Mon, 13 Aug 2018 12:43:19 -0700 Received: from svr-orw-mbx-04.mgc.mentorg.com (147.34.90.204) by SVR-ORW-MBX-04.mgc.mentorg.com (147.34.90.204) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Mon, 13 Aug 2018 12:43:16 -0700 Received: from cveaol6qa08.wv.mentorg.com (147.34.91.1) by svr-orw-mbx-04.mgc.mentorg.com (147.34.90.204) with Microsoft SMTP Server id 15.0.1320.4 via Frontend Transport; Mon, 13 Aug 2018 12:43:16 -0700 X-EEMSG-check-009: 444-444 From: Hollis Blanchard To: Date: Mon, 13 Aug 2018 12:42:14 -0700 Message-ID: <20180813194214.20929-1-hollis_blanchard@mentor.com> X-Mailer: git-send-email 2.13.0 MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 13 Aug 2018 15:44:24 -0400 Subject: [PATCH] Fix build break around __atomic_*() with GCC<4.7 X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Cc: Hollis Blanchard , sds@tycho.nsa.gov Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP The __atomic_* GCC primitives were introduced in GCC 4.7, but Red Hat Enterprise Linux 6.x (for example) provides GCC 4.4. Tweak the current code to use the (most conservative) __sync_synchronize() primitive provided by those older GCC versions. Fixes https://github.com/SELinuxProject/selinux/issues/97 (Really, no __atomic or __sync operations are needed here at all, since POSIX 4.12 "Memory Synchronization" says pthread_mutex_lock() and pthread_mutex_unlock() "synchronize memory with respect to other threads"...) --- libselinux/src/label_file.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libselinux/src/label_file.h b/libselinux/src/label_file.h index 2fa85474..47859baf 100644 --- a/libselinux/src/label_file.h +++ b/libselinux/src/label_file.h @@ -351,8 +351,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, * init_routine does not take a parameter, it's not possible * to use, so we generate the same effect with atomics and a * mutex */ +#ifdef __ATOMIC_RELAXED regex_compiled = __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE); +#else + /* GCC <4.7 */ + __sync_synchronize(); + regex_compiled = spec->regex_compiled; +#endif if (regex_compiled) { return 0; /* already done */ } @@ -360,8 +366,14 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, __pthread_mutex_lock(&spec->regex_lock); /* Check if another thread compiled the regex while we waited * on the mutex */ +#ifdef __ATOMIC_RELAXED regex_compiled = __atomic_load_n(&spec->regex_compiled, __ATOMIC_ACQUIRE); +#else + /* GCC <4.7 */ + __sync_synchronize(); + regex_compiled = spec->regex_compiled; +#endif if (regex_compiled) { __pthread_mutex_unlock(&spec->regex_lock); return 0; @@ -404,7 +416,13 @@ static inline int compile_regex(struct saved_data *data, struct spec *spec, } /* Done. */ +#ifdef __ATOMIC_RELAXED __atomic_store_n(&spec->regex_compiled, true, __ATOMIC_RELEASE); +#else + /* GCC <4.7 */ + spec->regex_compiled = true; + __sync_synchronize(); +#endif __pthread_mutex_unlock(&spec->regex_lock); return 0; }