From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751317AbdKUPn5 (ORCPT ); Tue, 21 Nov 2017 10:43:57 -0500 Received: from mailout.easymail.ca ([64.68.200.34]:55735 "EHLO mailout.easymail.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750772AbdKUPn4 (ORCPT ); Tue, 21 Nov 2017 10:43:56 -0500 Reply-To: shuah@kernel.org Subject: Re: [PATCH] selftests: posix_timers: Use common error handling code in two functions To: SF Markus Elfring , linux-kselftest@vger.kernel.org, Frederic Weisbecker , John Stultz , Stephen Boyd , Thomas Gleixner Cc: LKML , kernel-janitors@vger.kernel.org, Shuah Khan , Shuah Khan References: <3ce187fa-a6df-a419-6924-ea12bf837972@users.sourceforge.net> From: Shuah Khan Message-ID: Date: Tue, 21 Nov 2017 08:43:37 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <3ce187fa-a6df-a419-6924-ea12bf837972@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/21/2017 03:00 AM, SF Markus Elfring wrote: > From: Markus Elfring > Date: Tue, 21 Nov 2017 10:50:32 +0100 > > Add jump targets so that a bit of exception handling can be better reused > at the end of these functions. > > This issue was detected by using the Coccinelle software. Please include Coccinelle report in the change log. > > Signed-off-by: Markus Elfring > --- > tools/testing/selftests/timers/posix_timers.c | 32 +++++++++++++-------------- > 1 file changed, 16 insertions(+), 16 deletions(-) > > diff --git a/tools/testing/selftests/timers/posix_timers.c b/tools/testing/selftests/timers/posix_timers.c > index 15cf56d32155..5c9fbb06194f 100644 > --- a/tools/testing/selftests/timers/posix_timers.c > +++ b/tools/testing/selftests/timers/posix_timers.c > @@ -104,10 +104,8 @@ static int check_itimer(int which) > signal(SIGALRM, sig_handler); > > err = gettimeofday(&start, NULL); > - if (err < 0) { > - perror("Can't call gettimeofday()\n"); > - return -1; > - } > + if (err < 0) > + goto report_failure; Instead of report_failure, makes this specific to the failure. Something like, gettimeofday_error > > err = setitimer(which, &val, NULL); > if (err < 0) { > @@ -123,10 +121,8 @@ static int check_itimer(int which) > idle_loop(); > > err = gettimeofday(&end, NULL); > - if (err < 0) { > - perror("Can't call gettimeofday()\n"); > - return -1; > - } > + if (err < 0) > + goto report_failure; > > if (!check_diff(start, end)) > printf("[OK]\n"); > @@ -134,6 +130,10 @@ static int check_itimer(int which) > printf("[FAIL]\n"); > > return 0; > + > +report_failure: > + perror("Can't call gettimeofday()\n"); > + return -1; > } > > static int check_timer_create(int which) > @@ -162,10 +162,8 @@ static int check_timer_create(int which) > signal(SIGALRM, sig_handler); > > err = gettimeofday(&start, NULL); > - if (err < 0) { > - perror("Can't call gettimeofday()\n"); > - return -1; > - } > + if (err < 0) > + goto report_failure; > > err = timer_settime(id, 0, &val, NULL); > if (err < 0) { > @@ -176,10 +174,8 @@ static int check_timer_create(int which) > user_loop(); > > err = gettimeofday(&end, NULL); > - if (err < 0) { > - perror("Can't call gettimeofday()\n"); > - return -1; > - } > + if (err < 0) > + goto report_failure; > > if (!check_diff(start, end)) > printf("[OK]\n"); > @@ -187,6 +183,10 @@ static int check_timer_create(int which) > printf("[FAIL]\n"); > > return 0; > + > +report_failure: > + perror("Can't call gettimeofday()\n"); > + return -1; > } > > int main(int argc, char **argv) > thanks, -- Shuah