Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932211AbbGZGVk (ORCPT ); Sun, 26 Jul 2015 02:21:40 -0400 Received: from mail-db3on0087.outbound.protection.outlook.com ([157.55.234.87]:50315 "EHLO emea01-db3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751353AbbGZGVi (ORCPT ); Sun, 26 Jul 2015 02:21:38 -0400 Authentication-Results: spf=fail (sender IP is 212.179.42.66) smtp.mailfrom=ezchip.com; synopsys.com; dkim=none (message not signed) header.d=none; From: Noam Camus To: , , CC: , , , , Noam Camus Subject: [PATCH] fs: heap/bss calculation ignore section above STACK_TOP. Date: Sun, 26 Jul 2015 09:21:01 +0300 Message-ID: <1437891661-32007-1-git-send-email-noamc@ezchip.com> X-Mailer: git-send-email 1.7.1 MIME-Version: 1.0 Content-Type: text/plain X-TM-AS-Product-Ver: SMEX-11.0.0.1191-8.000.1202-21704.005 X-TM-AS-Result: No--7.045100-8.000000-31 X-TM-AS-User-Approved-Sender: No X-TM-AS-User-Blocked-Sender: No X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;AM1FFO11OLC001;1:qTNm0csmtCgpKwsTpr9zygvs4RmthQtvF+iWAHQN4YqKkNyCotf8r9943RlJ6ZcjNhPLtLpieJaYR/4GSMbuBGf8OYHb1S8B6fwsXjhxnK0FN2NOGDI/qSn3ScuASr+1KGmnbjC/65IXSZL9GIXeNPF0g4lAAKf/C4l3BD1BJnHzZAs40/JZBY4D2ySca8XGJ+JpSnyfcMQ6PjLR0wcE2mGfKD1iKOOezcyqCbvG/aaz6vrAgHlDXFMOsx7rckmRdVBvvwddNAuO7hrvHJv3r+i8x/ktMm/3AEO2W+JpcfqLYrmizUVvPsaIMAomlb5Y X-Forefront-Antispam-Report: CIP:212.179.42.66;CTRY:IL;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(979002)(6009001)(2980300002)(339900001)(199003)(189002)(87936001)(36756003)(229853001)(33646002)(105606002)(5003940100001)(77096005)(47776003)(106466001)(104016003)(62966003)(5001770100001)(77156002)(189998001)(85426001)(86362001)(2201001)(46102003)(5001920100001)(5001970100001)(50986999)(49486002)(50466002)(92566002)(19580405001)(6806004)(48376002)(107886002)(50226001)(19580395003)(4001430100001)(969003)(989001)(999001)(1009001)(1019001);DIR:OUT;SFP:1101;SCL:1;SRVR:HE1PR02MB1147;H:ezex10.ezchip.com;FPR:;SPF:Fail;MLV:ovrnspm;A:1;MX:1;PTR:ezmail.ezchip.com;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1147;2:Ofys0VIGFX81DFvon1KUdJg+4zIFiF/JOg5fKA3rGzHFRwjD9qptAl3Pcs4LKRIjvBvbKPNTe2RS6uKDwsXTzQVJwzoHvYF/E1Q98E7M3Fv5H+d3ILVFLDEkEWuzP83LnRF/+JpfbB8N3ufHAjUb3R/oAeCrrx9HCT8qdHFDGAY=;3:pmbrCMpXfk8te3YQwtAchfhVZrFBilQfs5aeH/HpzMFvdJtFF47TcnsuffWSzSQcv4owhc5lCcnj5hInIF7brTFPA6GVAxlmOaIZ4yDmZESyIu7SdVXr/+J6o1oD3owLdCUMrBupqfaLI9xLOEF3ZvnajndwwFhDe/YeblY5rZa/CzW/bVSTWT2ngj+22bmzMYNgQtRvIBh6DQ81z0pe120HsT+oF8VUkn1EUYh0CIU=;25:zSl5ryLM1XDqM1R9LueeqdKj/EaMqfPhTkoEZwrclkRrssVIvZcUphCVoHa9aLtW00nFbTUFupm5i+n5+mEMVMNN1UOWfGYVZPOb6LUPNXpVi+o0Rt+eRZBpfdsRU02JZCZLW+myR1ARJgk3Hi6vZLlBY+wCZpiBBgbq0YR3PzyajP4VTUFVP5yBklEsMQgRyrrqBkFLxr72PqYiha2OcsA1JsQbSD1nAO8TxMfUSNsp7DNZHGw57pcP0jBk4ORb;20:tvKpNlRxyzIAXxbQlQT4X5gxpFBUZIXIFZe7Wm3Fnc4/jw+zGImxf6HPiHnjvCJq02RjYi7AiRgKU/KGOEkQ8/A7j8AXzAojAf21WID5TbR42WC2UzbnL5i2DttDCnYalbXu6oW45gHcIPCVPxESmM6HCBJNR9HG0bKYvFMJO2Q= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1147; HE1PR02MB1147: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:HE1PR02MB1147;BCL:0;PCL:0;RULEID:;SRVR:HE1PR02MB1147; X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1147;4:MFcL/nUmNPFyat/tSuO5Vds/M0QQnqnx2DhUvu9YOTRAPTNOgTPvzAYpotV+/NdnxIEKfHB0XRvpLFA4TRr8YwWprg6BmBAUMdluc1KCPJW7cfdpJhvk4GNoVZbKZJX+YRkWE+O1h8YFLSUCMP8qMqv2nPkFHgYM0qJAO0LZeqrvCEWl4EADhSKGHCS1cP8xXzcNOM2t2VlfBhd0C+ntcQT8cIjOrM5FFeA7GQ+YFiMPdLeSMBJtN+PGrCNKXwtJALHpJPnHxQFcajkGxRz4EkB188OUIVW4oebm0z7pxFY= X-Forefront-PRVS: 064903DDDC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;HE1PR02MB1147;23:wMQzFsFBB79TovpRXDgSyLdGf4UVCY4g9RHesKoMU?= =?us-ascii?Q?wzXlp1nqfcw1a7Z6NffmLqlzAAyjrEebx3EIeMxEmDRBXzhrO7FkwhqEJThQ?= =?us-ascii?Q?Dz+/Q2hAFwh11yVytKajHti2JtUHyI8V/+xnYMYfMi3AIGmLMuge6k3Vs4VR?= =?us-ascii?Q?WGzPHDhld2OOeOyj4XBtvyyjFdElQJ/smtwT/wahM2jLBnXcu1etQgci3x8T?= =?us-ascii?Q?6OZdMSbOOgelDVDLHdYcvfXUESi6XUnxqfEXFmn7/R8RmG6CD878SIkmz3aZ?= =?us-ascii?Q?0St7WYnhYuuQpvvyEJIFOSwEtA/Ig1SGrX6lRLckaLy8t0r86G9WFrrRoaCy?= =?us-ascii?Q?xn5hX57jVqRyXSMBdHybufDjkqfW45l30WVsGRyggu+78JI7roWyApBfk1Cj?= =?us-ascii?Q?R+9k4HVJ3WB3DQWvaheJXgaT3v49AGUgEo+zrvA4IOhQqaiqJ+WmLXpzcCps?= =?us-ascii?Q?bvdaTGTn6uewpo9RM7yi65SMT8KWRrab8pcr9kgY26o+HpQCmgC1UqCiviCr?= =?us-ascii?Q?7WjaCdOr7TKe4ghhPMSx1NTKX85L31ebFpNYNisRcuudPRflWZ1+XkArF+GC?= =?us-ascii?Q?puM3LbwWMiyFEiGdoRnciqDiCJr7b47Z80/rEdwvacwF0o0L0lbIdxM/UVy3?= =?us-ascii?Q?vVsovrxVfH1juARaQjCTROO9JKeXjfj6+lGTyxaZQ7zsExLmR43YrWgjLUmN?= =?us-ascii?Q?MRVedO0W4ShehAeRcKYpY/dgq3p3vp7cRt1g0wXdi/8lJSFKSb1EfdBBCPt+?= =?us-ascii?Q?VC7x8IbJQ+6+0Cg6hitiAAIkDijQAD3zC6hQhKoX9zCW1WHYr/xK9OpWw17N?= =?us-ascii?Q?OoIiGF+iRw5LYSfurQUQMF9pDTSd2t98bysB2BZe8bYdSAFxUNk6q3oBh87J?= =?us-ascii?Q?y7e/v70hjj2PuV0zqH3x9soGfNyFY0Yvsfjka4GruF6831HlU+Ocv/BnSoTy?= =?us-ascii?Q?vEMtCUPd0PIiIp0RYLUjWcLf0KbjSS4Iopj89RhrMHpdCt/uaUb1O1EZnf47?= =?us-ascii?Q?x5zMdHWDxFzY9EGjiS8S0SB5/EA3VmcCdUiSdunQqsmhFe3JJQDunE9xn+cD?= =?us-ascii?Q?VE3XquH29y77i4Or1PAqNg7EUlY?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR02MB1147;5:4CGNVOz0VYas2378/YpRVrg65OvE0ss6MlITYeVE/dA5KNw7D7mgHfAhLkFNMowYDH7Y8ujCE/zTNkJHk9DCwGsR8YHUK0YIHXQtcAl6xKjr7taIG5S/F56VOCQw1711ZHW/71nKPbfnKisLbVaYDg==;24:IEpHhdJbxmP8LiMiMjX1FVcsT8nsDyLnHQspD6cEZa1KlQQT/UASaHCIR9RhJWOLfXIDvIIk86+5VoFKJe/O4jBggyDTCQd3RCEdWSxDBO4=;20:DiBKAbVwXAYnil4+7TIq3eX5k7m770/GNKI8uzFcfZSwLdWG209gUAaX35iHAVKK/j3/U2RJUrMSm6m7oYzODg== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: ezchip.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2015 06:21:33.8173 (UTC) X-MS-Exchange-CrossTenant-Id: 0fc16e0a-3cd3-4092-8b2f-0a42cff122c3 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0fc16e0a-3cd3-4092-8b2f-0a42cff122c3;Ip=[212.179.42.66];Helo=[ezex10.ezchip.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR02MB1147 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1245 Lines: 40 From: Noam Camus Today bss/heap is placed above last loaded sections. Current check is only against TASK_SIZE, maybe since most architectures do: But this is not true for all of them and a gap between TASK_SIZE and STACK_TOP is possible and may be used for variant purposes. For example we use it for a special physical memory mapping. In such case of section in this gap we skip it for matter of heap/bss calculation. set_brk will never work for such case anyway. Signed-off-by: Noam Camus --- fs/binfmt_elf.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 6b65996..e445886 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -962,6 +962,9 @@ static int load_elf_binary(struct linux_binprm *bprm) k = elf_ppnt->p_vaddr + elf_ppnt->p_filesz; + if (k >= STACK_TOP) + continue; + if (k > elf_bss) elf_bss = k; if ((elf_ppnt->p_flags & PF_X) && end_code < k) -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/