Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752897AbbLXMek (ORCPT ); Thu, 24 Dec 2015 07:34:40 -0500 Received: from mout.web.de ([212.227.17.11]:65227 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751035AbbLXMeh (ORCPT ); Thu, 24 Dec 2015 07:34:37 -0500 Subject: [PATCH 1/3] Documentation-getdelays: Fix a check for container file usage in main() To: linux-doc@vger.kernel.org, Jonathan Corbet References: <566ABCD9.1060404@users.sourceforge.net> <567BE5AA.6070607@users.sourceforge.net> Cc: LKML , kernel-janitors@vger.kernel.org, Julia Lawall From: SF Markus Elfring Message-ID: <567BE64C.4090604@users.sourceforge.net> Date: Thu, 24 Dec 2015 13:34:20 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <567BE5AA.6070607@users.sourceforge.net> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:fXjZH2dC5PuFzH9/Jnqv9W0n5yKMaAvkOkW2gKpqNJTrQ/zUHcB /vRrkyz2OpcURJ0H+UjNfXdsbski7Wy/Da5uTNLatgPyBUpQJ/IrLrx9CGYye3OmDnsysQS I7xRg90p5aAZAVvtl+pcWXt+u0pFB0y5UPX49c3rAql7EZW66VBUgn3AVyQ1OfN9oA/xTiA RMks5wI3v2z92V2HUXkpg== X-UI-Out-Filterresults: notjunk:1;V01:K0:PEwN9V7Fhv0=:nCxc0HOnZjz7wf2XKVwd+E FKL9WJcwZaJSD1sk8btIf+a/ZKoeOBGdNnlWot6ENNTdPCLEb2bhcXlllP4hAn2LrUVTx8IwK 91PfgF9AyPP35urRjzsqKsZr9fVyFn26XmHoh7MvLrHUuj7DM9u9bK6YG5NqRYlieIBwXKqss xDyCWt8uf6wCFd98ZrZwqpeMZtV28zaNv+Esc04/UocaPo16ZRoEd/9ieezoHUwc+nIfHoR5I HUNjY5Hk4Ze2W+4Zbb7uGdxzNO809Yoxt/pvIQSOFk4/8UKh9hvOBx/udDddYABYg0UinBBsd Jh/G0hVnTAU+dqHT5KjlvTXflTaGbO99ZydJvWyOPCs6vKSBiO6g7mpqCMORNAw3qi/jq52qJ 7qRTPBh6n1e01D2/drNO46P91KlnVM7oUo727hq5/oSGBFhk1Y4labx+8s42BiFjhhs4AFldz IXL6wANcQenqfxAVpMTqXM8r8+D8sO72ZL2D1aY+vQF8jrI1PPw2a9dK/vFyXRYsoC6npYmGd t5XkDXBTvNuCaYSG9r2suWVQnCwkinq/Znlz75e74y6q3dFf4UD/a6n2Od561xY594gz56ftJ oXHODE5e/nO/VPAhTrNv+yqKfgVeIxEn/viJOvmwEjhC/WBYHx4Ev/V02t2NrIKebbWNxL9Py k9C+NISmkL5G2HpTYvjbembHq56xII5EhDLq9Y0lD1SLzCaST6b5dPpswAqt4yMyti7Jvb+oy txZvqwhW74dJJM0jQKJ/buA4EbOadiiO64TRzCAgSoRxiXcbmQdeZziAPBPu7nt+x7T06Xdo1 2EbFiSj Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2441 Lines: 93 From: Markus Elfring Date: Thu, 24 Dec 2015 11:00:54 +0100 The close() function could be called by the main() function even if the passed variable "cfd" was assigned a negative value. * Corresponding implementation details could be improved by adjustments for jump targets according to the Linux coding style convention. * Fix the affected condition check. Signed-off-by: Markus Elfring --- Documentation/accounting/getdelays.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Documentation/accounting/getdelays.c b/Documentation/accounting/getdelays.c index f405780..6656c0c 100644 --- a/Documentation/accounting/getdelays.c +++ b/Documentation/accounting/getdelays.c @@ -383,7 +383,7 @@ int main(int argc, char *argv[]) id = get_family_id(nl_sd); if (!id) { fprintf(stderr, "Error getting family id, errno %d\n", errno); - goto err; + goto close_socket; } PRINTF("family id %d\n", id); @@ -394,13 +394,13 @@ int main(int argc, char *argv[]) PRINTF("Sent register cpumask, retval %d\n", rc); if (rc < 0) { fprintf(stderr, "error sending register cpumask\n"); - goto err; + goto close_socket; } } if (tid && containerset) { fprintf(stderr, "Select either -t or -C, not both\n"); - goto err; + goto close_socket; } /* @@ -426,18 +426,18 @@ int main(int argc, char *argv[]) cfd = open(containerpath, O_RDONLY); if (cfd < 0) { perror("error opening container file"); - goto err; + goto close_socket; } rc = send_cmd(nl_sd, id, mypid, CGROUPSTATS_CMD_GET, CGROUPSTATS_CMD_ATTR_FD, &cfd, sizeof(__u32)); if (rc < 0) { perror("error sending cgroupstats command"); - goto err; + goto close_container; } } if (!maskset && !tid && !containerset) { usage(); - goto err; + goto check_container; } do { @@ -536,11 +536,14 @@ done: if (rc < 0) err(rc, "error sending deregister cpumask\n"); } -err: +check_container: + if (cfd >= 0) { +close_container: + close(cfd); + } +close_socket: close(nl_sd); if (fd) close(fd); - if (cfd) - close(cfd); return 0; } -- 2.6.3 -- 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/