From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753068AbdKTVZw (ORCPT ); Mon, 20 Nov 2017 16:25:52 -0500 Received: from mout.web.de ([212.227.15.4]:51807 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752937AbdKTVZu (ORCPT ); Mon, 20 Nov 2017 16:25:50 -0500 To: linux-kselftest@vger.kernel.org, =?UTF-8?Q?Emilio_L=c3=b3pez?= , Shuah Khan Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] selftest: sync: Use common error handling code in sync_file_info() Message-ID: <219c366b-d753-e65b-b021-6d4a584588d0@users.sourceforge.net> Date: Mon, 20 Nov 2017 22:25:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:ukJVH1yuvEFtIHBC/hejV+CqUUOc/IKastK6ZQITvKQGOA4dhsQ QQsDs6mQLbS3iwmjorUJp3whdNVe29vDyLGEtgH3q4piiLyI8lpGtaTv+xA5OJ6dP30/GNO 4mOtNoFnxshWJpZVbBxjkSJ2MLt/sy9h7fVaHIXv8grWzQBnrWrTabrs9lYYLkb+1NhmTjV wqYm6OMvGUFRn9l5au6xQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:/6nbWn8tYs4=:wFCU6aGTn7OakW+JEVLQ1h tPhBU+VcSFRtPpG4M+eXgAh9pG+9GOTgtubMUUpevRn7AWlCD5gvyWlQROpBdSCX3kNj1YoDR glTdohI+oxs6clo8hO7M4SL0QywX5SiYYZYwh6hpHjJexBNZFTaeNKkBbbj+//DhkPz5ibBXw J4lBT1oRBucPMLsyzjXIKR3PKMA15nHRYLkcb6SS1+sj3KhZqpqlXUtxcl4nmPLAVV3S10fhC rFAf1u90QSaOgBuV1Tu6aF0SkpBwCh2+WTl2SVWUlpvLmJtad2v/2BMZWLpp/H9eC+/lV2nUy 964wcZRb/vDSD8Z58pjK/SqM19ijvCkxBxXyGr6tWvOG9OeoyATC0jG6WDNWo9VOn7oEgAXxH RRvqtL+8RluJaRbxRtx1Y4O4rCQpNjphU5PQF8HHobhHOJkkb7M6H24sqk8ae71EMQfbhIYPt MIEXhdCcft3SIysxkTbb3x1b2fWErUZsW/+FRdSbnmeqP+o9PBvJ6ZMeq5f/OlZHdjxX2vMKS RI+5EiN2pa8o+oo4QhkxXsvqSyP7BUCfFjZibR/0StHMMsMmcm9v0b15Nv4bhc2gNQJJcjx3I FRs47tY2B4Lm86njNmV8WD5/NWftjIRg08QbbxAGdePPbddDAQipaQ3fhQ7zOs/YThFdQzM2l 5OrvZY+Rdot2r6GP3D9wmtwFTvQO6pOPI6WjiIg+/90mTWBeOS529mlnpMevAg4Epzgw+x3r+ KL3it+300/7Gxau9Oa4T+e6rPQgdJ6D3TMZLhps8jPVXKg3YeObK4PUKjAliyni2GFbVn952L 5NHSzXsunKFJtPJ9mmJ68Uub0Gzd4NxerMIi8qhb0MEnXodJ+U= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Mon, 20 Nov 2017 22:20:37 +0100 Add a jump target so that a bit of exception handling can be better reused at the end of this function. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- tools/testing/selftests/sync/sync.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/sync/sync.c b/tools/testing/selftests/sync/sync.c index f3d599f249b9..d0d55377f6f8 100644 --- a/tools/testing/selftests/sync/sync.c +++ b/tools/testing/selftests/sync/sync.c @@ -92,10 +92,8 @@ static struct sync_file_info *sync_file_info(int fd) return NULL; err = ioctl(fd, SYNC_IOC_FILE_INFO, info); - if (err < 0) { - free(info); - return NULL; - } + if (err < 0) + goto free_info; num_fences = info->num_fences; @@ -104,22 +102,23 @@ static struct sync_file_info *sync_file_info(int fd) info->num_fences = num_fences; fence_info = calloc(num_fences, sizeof(*fence_info)); - if (!fence_info) { - free(info); - return NULL; - } + if (!fence_info) + goto free_info; info->sync_fence_info = (uint64_t)fence_info; err = ioctl(fd, SYNC_IOC_FILE_INFO, info); if (err < 0) { free(fence_info); - free(info); - return NULL; + goto free_info; } } return info; + +free_info: + free(info); + return NULL; } static void sync_file_info_free(struct sync_file_info *info) -- 2.15.0