From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751882AbcHKEWs (ORCPT ); Thu, 11 Aug 2016 00:22:48 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:45599 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750741AbcHKEWq (ORCPT ); Thu, 11 Aug 2016 00:22:46 -0400 X-AuditID: cbfee68d-f79286d000007a9a-c7-57abfd934612 From: Maninder Singh To: ard.biesheuvel@linaro.org, catalin.marinas@arm.com, bp@suse.de, deller@gmx.de, will.deacon@arm.com, tony.luck@intel.com Cc: linux-kernel@vger.kernel.org, ajeet.y@samsung.com, pankaj.m@samsung.com, Maninder Singh , Vaneet Narang Subject: [PATCH 1/2] scripts/sortextable: make close happens only if file is opened Date: Thu, 11 Aug 2016 09:52:31 +0530 Message-id: <1470889351-11159-1-git-send-email-maninder1.s@samsung.com> X-Mailer: git-send-email 1.7.9.5 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrNLMWRmVeSWpSXmKPExsWyRsSkVnfy39XhBstmmFi8eDWBxeL/h92M FhP7NS3eL+thtLj/6TajxeVdc9gsDs9vY7G492Yrk8WbC/dYLA6dnMto8fLjCRYHbo8189Yw enz4GOexeM9LJo871/awefRtWcXosfl0tcfnTXIB7FFcNimpOZllqUX6dglcGUundbMVHOWp +Lmrgb2B8QtnFyMHh4SAicTGv8ldjJxAppjEhXvr2UBsIYEVjBJn3phAxE0k/m46yNLFyAUU X8oosXHTdkYI5yejxPZnd8A62AT0JFbt2sMCMlREoFZiT5cnSA2zwFxGie4fC5hBaoQFQiU2 LDjJCmKzCKhKbPq0G6yeV8BdYt+EeIh7FCTmTLIBaZUQWMcu8bhlDjtEuYDEt8mHWCBqZCU2 HWCGuE1S4uCKGywTGAUXMDKsYhRNLUguKE5KLzLUK07MLS7NS9dLzs/dxAgM89P/nvXuYLx9 wPoQowAHoxIPr0fm6nAh1sSy4srcQ4ymQBsmMkuJJucDoymvJN7Q2MzIwtTE1NjI3NJMSZxX UepnsJBAemJJanZqakFqUXxRaU5q8SFGJg5OqQbGqAtq9d4PFnas0p1jJK0oKyfgMtH6c9+2 poC+Scl5d1ztCg5cj1r10URB9GtC2+S0hxoid/7ty/2xcerLD/4zRLu0T+60FKi03ebrc3Jh m9Ma1vq39cnm3e3n1st+mH0hjV3lwaXZzA6T2IRcXJanJR32XuS89PSkY+Iz+l/lFa6MrXCb wHtfiaU4I9FQi7moOBEA7ApksG4CAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrFIsWRmVeSWpSXmKPExsVy+t9jAd3Jf1eHG2w+oWPx4tUEFov/H3Yz Wkzs17R4v6yH0eL+p9uMFpd3zWGzODy/jcXi3putTBZvLtxjsTh0ci6jxcuPJ1gcuD3WzFvD 6PHhY5zH4j0vmTzuXNvD5tG3ZRWjx+bT1R6fN8kFsEc1MNpkpCampBYppOYl56dk5qXbKnkH xzvHm5oZGOoaWlqYKynkJeam2iq5+AToumXmAJ2opFCWmFMKFApILC5W0rfDNCE0xE3XAqYx Qtc3JAiux8gADSSsYcxYOq2breAoT8XPXQ3sDYxfOLsYOTkkBEwk/m46yAJhi0lcuLeerYuR i0NIYCmjxMZN2xkhnJ+MEtuf3WEDqWIT0JNYtWsPUAcHh4hArcSeLk+QGmaBuYwS3T8WMIPU CAuESmxYcJIVxGYRUJXY9Gk3WD2vgLvEvgnxIKaEgILEnEk2Exi5FzAyrGKUSC1ILihOSs81 ykst1ytOzC0uzUvXS87P3cQIjqdn0jsYD+9yP8QowMGoxMPrkbk6XIg1say4MvcQowQHs5II L+cXoBBvSmJlVWpRfnxRaU5q8SFGU6D1E5mlRJPzgbGeVxJvaGxibmpsamliYWJmqSTO+/j/ ujAhgfTEktTs1NSC1CKYPiYOTqkGxsDIwNe71l+d4ORxXf5Ny0Fzq/P573YKiR/fOaHk3d6q NQ0vK/8aTJ9x8hJnRZK/7l356Vl+F3cfm5LadzAurVHIQtyzOFvgFmt/zNX8/eaZJqq68Zm1 3HKLT1aeX8/zSzj7xhHudfFntgnP6jO8qNpu+6OK/du5ahs7+8dSMXx7Sj9vL2OXVmIpzkg0 1GIuKk4EAIeI4Rq9AgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 1. Currently code is doing close even if it is failed to open, which is wrong so fixing the same. 2. if file open is failed just return from there, no need of next operations. 3. Use mmap address only after validation. Issue is reported by static checker tool. Reported-by: Ajeet Yadav Signed-off-by: Maninder Singh Signed-off-by: Vaneet Narang --- scripts/sortextable.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/sortextable.c b/scripts/sortextable.c index f453b7c..30b4e7c 100644 --- a/scripts/sortextable.c +++ b/scripts/sortextable.c @@ -70,7 +70,6 @@ cleanup(void) { if (!mmap_failed) munmap(ehdr_curr, sb.st_size); - close(fd_map); } static void __attribute__((noreturn)) @@ -91,7 +90,13 @@ static void *mmap_file(char const *fname) void *addr; fd_map = open(fname, O_RDWR); - if (fd_map < 0 || fstat(fd_map, &sb) < 0) { + + if (fd_map < 0) { + perror("open"); + fail_file(); + return MAP_FAILED; + } + if (fstat(fd_map, &sb) < 0) { perror(fname); fail_file(); } @@ -106,6 +111,7 @@ static void *mmap_file(char const *fname) fprintf(stderr, "Could not mmap file: %s\n", fname); fail_file(); } + close(fd_map); return addr; } @@ -270,6 +276,9 @@ do_file(char const *const fname) table_sort_t custom_sort; Elf32_Ehdr *ehdr = mmap_file(fname); + if (ehdr == MAP_FAILED) + return; + ehdr_curr = ehdr; switch (ehdr->e_ident[EI_DATA]) { default: -- 1.7.9.5