From patchwork Mon Jun 19 15:49:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yury Norov X-Patchwork-Id: 9796817 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 52767600C5 for ; Mon, 19 Jun 2017 16:49:54 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3AE2427CF9 for ; Mon, 19 Jun 2017 16:49:54 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2E7C027EE2; Mon, 19 Jun 2017 16:49:54 +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=-1.9 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,DKIM_VALID autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [65.50.211.133]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B423D27CF9 for ; Mon, 19 Jun 2017 16:49:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3W/hf+9hnMJ+4cbOVxfPUI3tAotNc08GQJlTsWsA0Ck=; b=STmTDu4ut1yrb7 UrnHxzJpyYJYr4yKzHhu2Pkjt+Y0eCSnvCE1Bc7jPIXKk2JPdxsllT8yp1BSe96f8k/bjoXqU6QXD DhccYLF/IJ19BulHPZJCCtF6UW41PORmHYQJWCpGI8HhsxPxkEVLAXB+4Qy8FX9n5B+uyh5APuzVO c1INgRE5wqg62IdMSGQjWuuJp4q+xGD9qNQ+yLf8RP4cVoUdN3dIwoMbMarshuNvNhWYmyyGpnKKO kS/vjo+G+iK+pQBffUJCZpVsxz0Q7UC7PfWxgxUIfg9isP2w8wCNbtdqgy2agNm35KzVMJ8n+BsxV TbAufShot+BCxSkmOdYA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1dMzs7-0006WP-H5; Mon, 19 Jun 2017 16:49:51 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dMzrZ-0005kJ-Hn for linux-arm-kernel@bombadil.infradead.org; Mon, 19 Jun 2017 16:49:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=Content-Type:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=pw5mSZxj/HF3qvUlzLSrJX/sAgzNqvne+gh0ZLmthzo=; b=GGYlrWJuOIhLFviL3yV1gReIL k8ybQFPQuRmN2JQl4MJw5Ki8XiRUgaKtTufyAwH77SFTo2PRhZ/3qbHq10uCgQafLOOT08YuUjCOR 8xNtisxprdYuXa0xJE+M0BAj+zgLwI1hOBw/XpxTSY9MhmA4psctT2OM24d1+8z869HABX2O8ahmP hfOMqHmk4To6qoz3UX7y0tDS9Ks1KXcR0mk706Ml+oYxWc6KFkQfkHvFm+rO+Z8xVRTURbgXjCB7R qyk3CvW4tT+PFH3NqyZI6JWiFbDeQbxpzCuwNV+HC9SSyQj0j9TwbteSTYSbrYpEuLckKgBnn/UH+ QT8Ihw7sA==; Received: from mail-dm3nam03on0075.outbound.protection.outlook.com ([104.47.41.75] helo=NAM03-DM3-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1dMyz5-0001rH-U8 for linux-arm-kernel@lists.infradead.org; Mon, 19 Jun 2017 15:53:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=pw5mSZxj/HF3qvUlzLSrJX/sAgzNqvne+gh0ZLmthzo=; b=nEmt2vEyMwCTXwdYffiR1yISf8SF2MD4Qy+04hj2VHsmsSOTkeOmfwsht5YnB+kNWcDr4geCHVdQG8fOdhzOFJvVBwBupiNYo6JGF8UHSupv2+Lb6zXIOTj45fAc/gAQ+yj3ULab411uYPEIWFqMCZXTlXnqXlECSP/tVYNFXaI= Authentication-Results: arm.com; dkim=none (message not signed) header.d=none; arm.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost (85.253.137.34) by SN1PR0701MB1870.namprd07.prod.outlook.com (10.162.100.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.12; Mon, 19 Jun 2017 15:52:34 +0000 From: Yury Norov To: Catalin Marinas , Arnd Bergmann , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Subject: [PATCH 11/20] arm64: introduce binfmt_elf32.c Date: Mon, 19 Jun 2017 18:49:54 +0300 Message-Id: <20170619155003.13218-12-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170619155003.13218-1-ynorov@caviumnetworks.com> References: <20170619155003.13218-1-ynorov@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [85.253.137.34] X-ClientProxiedBy: VI1P190CA0006.EURP190.PROD.OUTLOOK.COM (10.165.188.147) To SN1PR0701MB1870.namprd07.prod.outlook.com (10.162.100.20) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PR0701MB1870: X-MS-Office365-Filtering-Correlation-Id: 992fbadc-61f2-4499-def4-08d4b72b3431 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(201703131423075)(201703031133081); SRVR:SN1PR0701MB1870; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1870; 3:QhcVuQBnlv7RLFq8/bAOndI4fVqzjghmBEcgZ8aqAWgoJqFJTFg3YTXt/lsuD9v0/ZDMlY5CKHNdGjqHVTzbkVbquznt48toZxvckXqQ7yixlZrp786EV2shXTpDAU4fCgjvJTfA6KlKi4AuS30Q5RTuSD3axwE5fiWhyz1eqINruDxcr6P6QsJSndTjwAta+c58nqQOEkg1j0gGZupFuQKz7g8leNWF+1MnH9FhPM3Nz69T6OyU4iPxiQvo64dWDmOn9+U9SuT5LeL/8156A/wSWMxU6s0UDXJXuHf20T4Z3fFzGy6EwKiSczeiXjhyuPqzePpwRyy76XsshQfMWQ==; 25:2a40/akSlDpVgbLalhwcMoMQlEuMmHQlF/pKUy1z5SiiY+cMaYTVPmTv3eelVeGDcPw8uNBdODWir9/OneFg17hKuZT1ygtSQwuUI2vlUApkTJdlgMgW9c4hFB9GET09N08mWbc6bIVrQW4njSZrjXaawVdUxIn1iBtYL2BgLUmE2eqwILvR8xA9BDil8nFXeKFX/6PySqa0/UuU8Bml7hbmJn1WPB+B5C3qxNaYYmHjNceBCrEZ6jxd83CddNhL3iK7j2BeEoocR2kNKAlC/JDU36Vaz2JrSg5kEebqA2CIIL/cmEQZcpvmQd7wM6kjJc5qMWUmNTkH8XkmxfXysxebN8cZ5e/iOLvTYP2VZX4bDvkOlMSesL+8P58sLJKaf2UR+UTI+pDaudyYPf5UZ1lwvGygQ+zVuUjR1vXmLMqRERIcq0tbkds75FtFUQ4HkmHJnGq+hSDwvuJfnjh1WkihAPHD0gsFjibyTiNI1J8= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1870; 31:a2vQTMZ5FtkJ5TAO6F2FzWL7cEy4sG2Rz6ppqGavxKh/62f95pMKPSzpjWSl3ZWBmSSAvqttbDBfi/gNX7wulS95ZwSfP5jG6ittpsBDVDlyA+0LdEUu1zLyKi3blYw0GlWFgqa6n+nq5sV6LxOdyfFWiruov+aBgbpnRuq7IRAqINJ8fxsdQiQ5fXEbVIFB73qm56oIR+jxz6UG0P7qwPnJhAM7I8+1uEWOG6WApCA=; 20:ONcpCi/O5nNlStGTHm2T7U7xsf+wNeghebMJPKxG3epJIq8/gDH6BaH8IftN5kh4qzU2OFz/yxSN8RNuqTBh8NZYjNUz9yiHVQC14BWRIMwIJTT5WhbPUYhBQ8p3DCCfIkba63KcpbJrM53kur9p3Qct6moLCvwB2rmgm4L340dzBpYPYx7l2VeUmMvtUG+aHanZ8DV+YsuQAyQsZjnNRLD4G1ZQfxda6XSprg336YnecEFdSEoozxhhEbG/AbRM2TcqUAoV+CQN6ehw9l/Jlldn+BYgxBnEMyJTx1Lr7yGlo2uxhUkyu3Xx5wfVsFofkjFt5GzVDMomAFPaPVNlkFclLBiy84/TOU11NA5ibvbR6iUXGVZJVjdZ4EKrjn+66CR9baoXlU1ClXYwHtTLW+Yhmh5dxHEYIgCo7rjE83J77HDYU9wCwjpbqzbGZhEuWU+T8fR2D5K0TGjYiVogiWqIGfQKzygUvsykmXaGohSFfmkSFw/5HgYbFRSO2ZyK5HWWloENYiRcov0sXtiZMiQ8E3HvBHBl+/NxtETOaxyTAh4Hf9CyA/u04wuld2+egtOPW5Dn0Ae/TxNumyTQ0kn/a5SP01ZqtsY4N+UHXj0= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(3002001)(100000703101)(100105400095)(10201501046)(6041248)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR0701MB1870; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR0701MB1870; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0701MB1870; 4:F6GycshF0Pefr++1VwfDTPgOCyUMJmZRKiegYAad?= =?us-ascii?Q?jAN/yne8n3sFn8yvHqFwE35RvEk8NjzHxAOvUaZJ1U9CT0ul/5jW4cSA31oR?= =?us-ascii?Q?81lVqW2V1jfdzdmDT2FapVwsLZveSO4Rs4WeJroX18z43apCLhOMbBwDq2vP?= =?us-ascii?Q?lnArZRhOnfvLRDvN0pZ2zaLTnJi1N5VV5/YTrBxz5kCEUGCFoxU1fiw1aoWf?= =?us-ascii?Q?yG4Jj4OfAbdvg6T7er+SB0VGJFk93VpjbLaiXqQJdPq76lMbsoQQPY7YkBMZ?= =?us-ascii?Q?TyZ0a+AtdHRT5iz5leT9nuLILOyWpu+QXjukOrTVtBxvV58lcrmuC7U76CK4?= =?us-ascii?Q?lwTdd1SFbxkA63ufgj/C+f7S+df8m7EbPsqG7FqjXgXcj6sAXJObzWKnPGf3?= =?us-ascii?Q?uIITnCAv2I3iATVmuSOBcvxLycU7LtcoIdkE3uNiNXn5D8/eKt3x2jxyQnvc?= =?us-ascii?Q?ZSk543wgkoj924OTLMQcxZv18p3Hbsg4Or8D/1h52l1NtPaUNMRA4SzG6m1P?= =?us-ascii?Q?pfT91IzwClSQv20Nn3rB1PAXeEvyyaR2qqyM5Y5gpVTZ9CgK7cGtcNhXW/jj?= =?us-ascii?Q?t17vSmUi8KEP1NR5Nat8zPk86HRpWE5QVYZpSn1vwSGw0pAi7J93fEem1Z90?= =?us-ascii?Q?LcBg2OPIeWZO436jWBHqNMzE0jB5Shq1GjiHYezq9HguJtaRq3to7zyFT40Y?= =?us-ascii?Q?pXXjc30Xx0zzpGk6TnV4JOrnJqMOF+XkEZJ5cAr5EAVuXGozvgkbqtmO5RfP?= =?us-ascii?Q?Q1v7M9WSvXDcU6pjE21im4JqBZ/afVRig5mTlRQEnMIJSbov8OLrY1jhaAK6?= =?us-ascii?Q?v9/RRqiVaXXRFNaLj+402hAx0V31365G69ocBLiameIOSnPiJY3kK/mPOvj0?= =?us-ascii?Q?rgA7JNa607C5D4rU3J6NR1rKMmkb9UEFugl1CYFEqB5XOrO/lBJf6RXdY143?= =?us-ascii?Q?sso9FSLWMfpsEPU0dm4OouCkByb5iMKLfUHXeJZF7k8nQlCh5ldDsOP/QBLT?= =?us-ascii?Q?6501gvuQ8oJVnmnSR4BWViMS3HIYMOWUu5MuQLpIwQ+Ri0jfthQg7D/afa8X?= =?us-ascii?Q?m93FQVJ9KmM6788Uc6H3pAVsgdsq3wScUyc2oSf3W1ibaGiDzwKIFmpfId4h?= =?us-ascii?Q?oTW1WO5YRQw=3D?= X-Forefront-PRVS: 0343AC1D30 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6069001)(6009001)(39840400002)(39850400002)(39400400002)(39410400002)(39450400003)(50466002)(5003940100001)(1076002)(8676002)(50986999)(33646002)(48376002)(76506005)(5660300001)(25786009)(6116002)(2906002)(47776003)(76176999)(189998001)(66066001)(3846002)(50226002)(81166006)(38730400002)(54906002)(478600001)(72206003)(53936002)(6486002)(2950100002)(42882006)(6666003)(6496005)(42186005)(7416002)(7736002)(7406005)(36756003)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0701MB1870; H:localhost; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0701MB1870; 23:grUtECPT8p6IC4T3gBKkDZ0/W+cY0xYUd5YeYrP?= =?us-ascii?Q?wI05ijKgZ29ZmTNPq/wopixIVNEDw6/uNh+Hr4fxxsE84ZE2WTLEqrj3V6mC?= =?us-ascii?Q?EufOP/rs1Ed7cxIsx/KP3N1NOqSZ3UbDJ46wv6E0qcIUEo8q71hKeoypNwCV?= =?us-ascii?Q?5H6npGcHMRZKQ4/RiC3HQBWZcIAeW/7YaI/q/tIT/QzqSNY4mA0n6CcieGP/?= =?us-ascii?Q?n5XUpD/T9ptCRXs+kORDVzvRsBMJ+VVK/VrW5hTVq1FrqMw4qURlClU9787R?= =?us-ascii?Q?tD6YxXdu3WKlNIULovO463LUgNzcrK/9DMhotSuaUwkvbICPVCBAeu57oa1R?= =?us-ascii?Q?/ZP/q/yGk2CaXiIeOJu5TG2q9zhzD5RPRN765iVpjW45N2sLNiufnrwg1oZg?= =?us-ascii?Q?EAMnbwDYFuBxyKi1RYyINFJ9ZSN6tx09yCNUztPB7wuCUKDgsT3RO6msMKm8?= =?us-ascii?Q?A6UMqb3iE/x5i6GUO3xsEPZG0V206DtCoMpliEekZeZ5rMOJ59swuL9/GjUF?= =?us-ascii?Q?2K9F1qiZYKPpVITyGDMMAeoxQr/NT4h3AeCrmfVsbmhKm3FSp6kpa1PfV70Z?= =?us-ascii?Q?Z2YbYyU1BhcPCZ1AlShVM2vxhkzmr/N/xidBS9YdtAU4N3Q24aemUSkHWqgx?= =?us-ascii?Q?Sbolyvg7LqWOQO0K9XhLppwRsWRpxCIyskGy9CbIvLCagxnO0Ooq/6w955sj?= =?us-ascii?Q?n4eRTw5iPRTEbR8HjopzOS0Cf/0YlHHbLkJOKQvQ4+CZbyOfnFOjuT5TJ5AT?= =?us-ascii?Q?dbjy3sHU1MzUswlzexdAC8AEEhKl6PiRkitxeJtbQPO+PBwEhT5vaz+9QBgE?= =?us-ascii?Q?70IljAtkK9UMi4Yf6hfMnjSlIaW8aeMNBanWzqTfvE9rOBwpVyPkr/Lhp38b?= =?us-ascii?Q?q8Snl9LjdiqfB7hLp0qWTWMZ3XgjxST9+nMk+qorJGEhL7yabVMqj9cOzd8+?= =?us-ascii?Q?qJIuMn0e/qEE/S1LA0HG595VvixH7IgdIW31LuhhiT7rJ7voPjGMHStY/dxy?= =?us-ascii?Q?Mb23P/OPazGfW78AMqlxdCYgXyE+BWkpbt/apWeh2SaD/44s9jt/Yz4xSaIR?= =?us-ascii?Q?dXzJCCpPdo6XeAb4+A5ydVcvCU5CSivo4l0s+U0/u6cpS57i0LQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0701MB1870; 6:W6n4wRYDjqqzPmkajd96zhxl4TXWmnu3YR5WaRdC?= =?us-ascii?Q?4N1V75qlhVzaCVE8AAEuOicrL08/vxFXZbh6g/2toj3orRwf2J+x0t60a6Ob?= =?us-ascii?Q?b5FqToEc1+ozUQgygYtXAF8wAaREOaTwYPGsDbQIWRDOHZ9pcukHuLV13cQo?= =?us-ascii?Q?pgZS3DI4duErSVx8tjvxxclTnrTvcEfgIfF5JW1VqY0eQJuUoUWlkJr3+lUI?= =?us-ascii?Q?F+2/KgwWEbjxN91ooaXhIRzEGLpzAzQtFGNP9kPFBo70aCgwftfk1Nbk43+1?= =?us-ascii?Q?nI6aoiYkmcG2c5RMNxKWJ48xJJ8oZkpl/KxtGk23TMoWGfKE6Pk3Tx+REImr?= =?us-ascii?Q?9x2qUiq3csisDT/orML8yCgZnPG6cSHY1OxAw/TbiRc7N8/hKsasJifkt+jm?= =?us-ascii?Q?/TtpikmxZglX9oYrtCKxPj5ByF5cbIIx9PS4IEllkPl1ADcbsSsRRT4AeHKk?= =?us-ascii?Q?MDUmzUi9WYOn0Ah62eN1JRHLkQQcyNi7CiEhKmJuOdIaT5KmhEmO+XJlCpnM?= =?us-ascii?Q?GhgntDPhd9pHsBIjI6MkPTstWbbxhfUMehY50rD66DDnsZ7/VqJsk2sv4syo?= =?us-ascii?Q?jp+tIf8WoT2MGUL5eYL5wZpo0pGoPGdnWWdDzWozY9j975oXl9x3jJX/vM3O?= =?us-ascii?Q?Xjf0kSnHC40XK41dr9rnv1VUqbZiLrXb4nsLWlwe2ybT+DgvoZgW0xo4gq59?= =?us-ascii?Q?pq/ezrYIT4HR3ZRx8EB3OsNJ17zKyleRLNULhQzGhmKhSdkKW3ZhvigBPGuN?= =?us-ascii?Q?3S/y2Ny0TniKon5HGrSuby6XdnzFvHbFGV8RrWmJvHpwRu/wHh2Ar5e+JHmx?= =?us-ascii?Q?MrsC0lgYbMOJiMMm6UhIE+FC6nM8yOsCdbf9GnJDKUdwYFDipoJ+y6H2RZa5?= =?us-ascii?Q?wq0yYLeRNBGByddDrI7haf9lWg52IX4FgYX4OamZ7PP+KPni8nsXtfznXlNv?= =?us-ascii?Q?Q74pnosMqxvZjr4XcI8M6+GzbwFM5rLADzjWm4Adlk9qZ7dcmBSIj//DPqD2?= =?us-ascii?Q?+lE=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1870; 5:aF6aecHVHCBWsLrPh516XfBLYT3+kX2mR+yleHQLGPeG+fSiEV7SRJGO738YEvp+tUPyuanHW4QLg3NtYjMwFHxjZmLamDZZVzbPW7W84iZjTB5ApzuSEbZcNtw8bZ2lUZnnhspgBP4FMF5Ah54alB3i99fSkAM8PgaavrLt469rbN9jZs4DlUIAZ9XkdlcTY9mCGJjCbfAlWJpEEeW8adzpOQW0dLgaX0DopTOpiJQGG6mk/vrmX657++eEaBUFBNjOB2wbFsid4RP0/EQY/SdmOdOGYnh5YLbqDGFrTvnrrJJFL6xZg80xjoAgTUlxqgoNp6CNijzrIYRnoy5ufk9Qcwph/fm4cztJzb0F32o6vhupk1WVZMoYV9aBXL9LVxrhYoV2mERJo2dukkehVOkOsBjEWoDsnZl/oGJ2Zj9z+0Nq4qvlexAfwejbskUrrsCfeRbhav+ml9FEdVe1hg7McEOIppvGEe9fAQm9PENx1uU8WKbPpsSdf4JZMUVC; 24:POMy3fC8JPWh9C2u3h00MU37nEZ+wiEF6T0RSMwHtm9h/XmKg31gHCt8eyME2oFeWNGOXRf9STt5liLO07F5pVLdPmC0RY9e7857Y4DGkNg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR0701MB1870; 7:kXCJWdRLI0xWf8ktY1qA0CesTv0d6N8HkuY9idZtg9xgWIGRBIn6vKWBPXbT7WwNYDEkW+I32IpMoSRfiP/R09DoxReWyG94GUOVXCiANyX6U8sSqORD6thXxJH4BdJw/HqdzfEMYNzd8NPQOZ04npoH2OgIL9BfLnQFre+/wHheiJuTlvl7d4onU98vXTdgAdN3McZw3Nw3Qt80D+dfbyso5w/OW1VsENIYVfuc/jcmG8Zq1qWm1uqTuM9h8VPo7XE2lP3MZeZ3vUR05cdBFEY0o2mgvjRJIjDhcHLA0cSkLrQfHajSHMdzcSjCOp3Gejgv3hAdaiPpmOoMb3Tv2zwoYNwpkozqiIGAQ95OGcFF6JCftFIjAsUA4ETUFYS294/6LerloRpqyagaTMp93BIhHlC0OBwiR4ANsGQbWdmdIkiggw8+Rnd27fNAKpdXsvm/tR6ffYiHAQ8yhCjdaRGdrUKqeM/pzMVFlUO7geFakDjFWPeeZ0eR67RATByYLqxbhywwGu+IP8Kl9Q5bSN+W+O/EDSl8yPYNaf6E/w9l/+x8jEm5gJJ1F4cVJnsz99rt+qn8XCdDtIkdoepP32yqJbAxOmph8kMaSRMaKVQ6SDH7PXtRcAD0fNMNWcy5mQqkmatAwhA5jsSVu2/ZhFzp4NB9P06yFGcGusEzKvhdYlMWaNIslA5jg4hhU9UeYZ8Sfnyjs6hsQNDouH71bpY1RiFwC35nySjV3MyWEYjNk+1nZ2hsVmlPz4PTzBKVfSKMcNF8PJSuMfBlC52eE0CS8Fr0O4hVrzDVN5rD3rE= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2017 15:52:34.9180 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0701MB1870 X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: szabolcs.nagy@arm.com, Heiko Carstens , Chris Metcalf , Yury Norov , philipp.tomsich@theobroma-systems.com, Joseph Myers , zhouchengming1@huawei.com, Steve Ellcey , Prasun.Kapoor@caviumnetworks.com, Andreas Schwab , Alexander Graf , Geert Uytterhoeven , Adam Borowski , manuel.montezelo@gmail.com, James Hogan , Chris Metcalf , Andrew Pinski , linyongting@huawei.com, Alexey Klimov , Mark Brown , Bamvor Zhangjian , Maxim Kuvyrkov , Florian Weimer , Nathan_Lynch@mentor.com, James Morse , Ramana Radhakrishnan , schwidefsky@de.ibm.com, davem@davemloft.net, christoph.muellner@theobroma-systems.com Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP As we support more than one compat formats, it looks more reasonable to not use fs/compat_binfmt.c. Custom binfmt_elf32.c allows to move aarch32 specific definitions there and make code more maintainable and readable. Signed-off-by: Yury Norov --- arch/arm64/Kconfig | 1 - arch/arm64/include/asm/elf.h | 30 +++--------------------------- arch/arm64/include/asm/hwcap.h | 2 -- arch/arm64/kernel/Makefile | 2 +- arch/arm64/kernel/binfmt_elf32.c | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 41 insertions(+), 31 deletions(-) create mode 100644 arch/arm64/kernel/binfmt_elf32.c diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 8713a2807582..168ab2cc426b 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -1085,7 +1085,6 @@ config AARCH32_EL0 bool "Kernel support for 32-bit EL0" def_bool y depends on ARM64_4K_PAGES || EXPERT - select COMPAT_BINFMT_ELF if BINFMT_ELF select HAVE_UID16 select OLD_SIGSUSPEND3 select COMPAT_OLD_SIGACTION diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index 8f7bafa60d01..2a727658f51c 100644 --- a/arch/arm64/include/asm/elf.h +++ b/arch/arm64/include/asm/elf.h @@ -174,39 +174,15 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm, #endif #ifdef CONFIG_COMPAT - #define COMPAT_ELF_ET_DYN_BASE (2 * TASK_SIZE_32 / 3) +#endif /* CONFIG_COMPAT */ +#ifdef CONFIG_AARCH32_EL0 /* AArch32 registers. */ #define COMPAT_ELF_NGREG 18 typedef unsigned int compat_elf_greg_t; typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG]; - -/* AArch32 EABI. */ -#define EF_ARM_EABI_MASK 0xff000000 -#define compat_elf_check_arch(x) (system_supports_32bit_el0() && \ - ((x)->e_machine == EM_ARM) && \ - ((x)->e_flags & EF_ARM_EABI_MASK)) - -#define compat_start_thread compat_start_thread -/* - * Unlike the native SET_PERSONALITY macro, the compat version inherits - * READ_IMPLIES_EXEC across a fork() since this is the behaviour on - * arch/arm/. - */ -#define COMPAT_SET_PERSONALITY(ex) \ -({ \ - set_bit(TIF_32BIT, ¤t->mm->context.flags); \ - clear_thread_flag(TIF_32BIT_AARCH64); \ - set_thread_flag(TIF_32BIT); \ - }) -#define COMPAT_ARCH_DLINFO -extern int aarch32_setup_vectors_page(struct linux_binprm *bprm, - int uses_interp); -#define compat_arch_setup_additional_pages \ - aarch32_setup_vectors_page - -#endif /* CONFIG_COMPAT */ +#endif /* CONFIG_AARCH32_EL0 */ #endif /* !__ASSEMBLY__ */ diff --git a/arch/arm64/include/asm/hwcap.h b/arch/arm64/include/asm/hwcap.h index 2c7fc5d89813..99dfd9277559 100644 --- a/arch/arm64/include/asm/hwcap.h +++ b/arch/arm64/include/asm/hwcap.h @@ -47,8 +47,6 @@ #define ELF_HWCAP (elf_hwcap) #ifdef CONFIG_AARCH32_EL0 -#define COMPAT_ELF_HWCAP (compat_elf_hwcap) -#define COMPAT_ELF_HWCAP2 (compat_elf_hwcap2) extern unsigned int compat_elf_hwcap, compat_elf_hwcap2; #endif diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile index 49fefa42d136..de6c84702d83 100644 --- a/arch/arm64/kernel/Makefile +++ b/arch/arm64/kernel/Makefile @@ -28,7 +28,7 @@ $(obj)/%.stub.o: $(obj)/%.o FORCE $(call if_changed,objcopy) arm64-obj-$(CONFIG_AARCH32_EL0) += sys32.o kuser32.o signal32.o \ - sys_compat.o entry32.o + sys_compat.o entry32.o binfmt_elf32.o arm64-obj-$(CONFIG_FUNCTION_TRACER) += ftrace.o entry-ftrace.o arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o arm64-obj-$(CONFIG_ARM64_MODULE_PLTS) += module-plts.o diff --git a/arch/arm64/kernel/binfmt_elf32.c b/arch/arm64/kernel/binfmt_elf32.c new file mode 100644 index 000000000000..ff1f192a738a --- /dev/null +++ b/arch/arm64/kernel/binfmt_elf32.c @@ -0,0 +1,37 @@ +/* + * Support for AArch32 Linux ELF binaries. + */ + +/* AArch32 EABI. */ +#define EF_ARM_EABI_MASK 0xff000000 + +#define compat_start_thread compat_start_thread +/* + * Unlike the native SET_PERSONALITY macro, the compat version inherits + * READ_IMPLIES_EXEC across a fork() since this is the behaviour on + * arch/arm/. + */ +#define COMPAT_SET_PERSONALITY(ex) \ +({ \ + set_bit(TIF_32BIT, ¤t->mm->context.flags); \ + clear_thread_flag(TIF_32BIT_AARCH64); \ + set_thread_flag(TIF_32BIT); \ + }) + +#define COMPAT_ARCH_DLINFO +#define COMPAT_ELF_HWCAP (compat_elf_hwcap) +#define COMPAT_ELF_HWCAP2 (compat_elf_hwcap2) + +#define compat_arch_setup_additional_pages \ + aarch32_setup_vectors_page +struct linux_binprm; +extern int aarch32_setup_vectors_page(struct linux_binprm *bprm, + int uses_interp); + +/* AArch32 EABI. */ +#define compat_elf_check_arch(x) (system_supports_32bit_el0() && \ + ((x)->e_machine == EM_ARM) && \ + ((x)->e_flags & EF_ARM_EABI_MASK)) + + +#include "../../../fs/compat_binfmt_elf.c"