Received: by 10.192.165.156 with SMTP id m28csp726740imm; Mon, 16 Apr 2018 07:47:42 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/ewJ86Qul8gLE+QP8Njh86V9+liP0Wr9WaIQbcrNKmKzMgG9KxEncMLVyqofjdyhduUI9U X-Received: by 2002:a17:902:7489:: with SMTP id h9-v6mr11522038pll.278.1523890061953; Mon, 16 Apr 2018 07:47:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523890061; cv=none; d=google.com; s=arc-20160816; b=SgTlZvReBL5GkFqL61jWyaFqb8laFH5eMcDrF1LuNF480RqvQSZ3Xqz41lh0UA+suj 4UbXcv54xD1x56CjXGtdqvvkk9zpBMHeO4Dh3XpbFbCkqYpO0hO2MLpvSY0R0NLlz8Pc w4jMyq0Qy3+LHmXilnbjCP/IJCstnz39Fu8f8sB0rLKspt6uQHCYMDsP5pRD7LBQ8p7T UYpOWmQfdtSvrG63jrLzO4tuJm5wUwQOZSTWpZkwy59eTH2w7lGZT6N2TUfBT8c2XV3D mdPm6G71DIJnRhAYf7HPxp6rAmJtiAZ/Twk3zcpqvQ6MbzarFw/85xfBrbO8MJjkktF5 EZJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=1Inm4fpAjwUvbzdNyORoK8FDbgaU7ELCNKTWq55k3Kw=; b=X2JUBjMRL6xmaHNhDhjdyud/6KIvGOwHGoGHttTUJeEA94SEdbWpjnHItzX7ub/7Nl m66bruv9GWsDLjJYreCdcJ2at7mUt70ithuHZVrlecKBZrRz2zLYqvBJQRQpNiO9NBe7 rT02U9nVQtn+0JOismZsRVCzH2BzxIzyDjLLjFZ0Ol9cLebxKvzqAhgzr1o3+omvYUen ayhDPmzguCKmx6KBHYGLmLTKxQpTVe4Aot0Bl4d88mVY35PZ/aAhBdiai4XXw5M7TvqQ 96vwxZB1/+08FbqpkAqUau1YtxBjnbz2eRELxMrCloINhq5nWJ0YdPRFXQ931q5a+2ZN TGKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=AcbdyW8Q; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n30si1669196pgc.231.2018.04.16.07.47.27; Mon, 16 Apr 2018 07:47:41 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=AcbdyW8Q; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751836AbeDPOqT (ORCPT + 99 others); Mon, 16 Apr 2018 10:46:19 -0400 Received: from aserp2120.oracle.com ([141.146.126.78]:33754 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751010AbeDPOqR (ORCPT ); Mon, 16 Apr 2018 10:46:17 -0400 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w3GEjf5r164907; Mon, 16 Apr 2018 14:45:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=corp-2017-10-26; bh=1Inm4fpAjwUvbzdNyORoK8FDbgaU7ELCNKTWq55k3Kw=; b=AcbdyW8QKemsqZY9pjn7fnR4cODdbicsRMIxIWG0D7JNfNRAP7tZmL3KE90+nyskNFqu SC+1GnKTdpBcDS+yZMCZyJpwsvbaxv2X5zj4XMZ55MqeiTWDhG3EFTE72XIIhemLQMjA CppCmLtity4kYSummRWM8VfM+yu1S9B6jsllScjzxRsz0B98lljhJnU8qqXIbQc8gWl4 Jj+UeldZMY/BZQfXrFwtK+2d0BCzo1xnjJYN2mXdiWTIECBbe7ECR+2lXNBKrojZUQv2 9vL4S9tSkhNNIazFsqFH95LMK65hRRUFXSN0dUuhrXlg/Vcitd9/lK/r++R/PFzfGD6b OA== Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp2120.oracle.com with ESMTP id 2hbamnnfg5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Apr 2018 14:45:56 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0021.oracle.com (8.14.4/8.14.4) with ESMTP id w3GEjuSb024311 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 16 Apr 2018 14:45:56 GMT Received: from abhmp0010.oracle.com (abhmp0010.oracle.com [141.146.116.16]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w3GEjtBT012868; Mon, 16 Apr 2018 14:45:56 GMT Received: from mwanda (/197.254.35.146) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 16 Apr 2018 07:45:55 -0700 Date: Mon, 16 Apr 2018 17:45:48 +0300 From: Dan Carpenter To: James Simmons Cc: Greg Kroah-Hartman , devel@driverdev.osuosl.org, Andreas Dilger , Oleg Drokin , NeilBrown , Amir Shehata , Linux Kernel Mailing List , Lustre Development List Subject: Re: [PATCH 08/25] staging: lustre: libcfs: add cpu distance handling Message-ID: <20180416144548.xjjcaxivkbvynsux@mwanda> References: <1523851807-16573-1-git-send-email-jsimmons@infradead.org> <1523851807-16573-9-git-send-email-jsimmons@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1523851807-16573-9-git-send-email-jsimmons@infradead.org> User-Agent: NeoMutt/20170609 (1.8.3) X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8864 signatures=668698 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=436 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1804160139 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 16, 2018 at 12:09:50AM -0400, James Simmons wrote: > +int cfs_cpt_distance_print(struct cfs_cpt_table *cptab, char *buf, int len) > +{ > + char *tmp = buf; > + int rc = -EFBIG; > + int i; > + int j; > + > + for (i = 0; i < cptab->ctb_nparts; i++) { > + if (len <= 0) > + goto err; > + > + rc = snprintf(tmp, len, "%d\t:", i); > + len -= rc; > + > + if (len <= 0) > + goto err; The "goto err" here is sort of an example of a "do-nothing" goto. There are no resources to free or anything like that. I don't like do-nothing gotos because "return -EFBIG;" is self documenting code and "goto err;" is totally ambiguous what it does. The second problem is that do-nothing error labels easily turn into do-everything one err style error paths which I loath. And the third problem is that they introduce "forgot to set the error code" bugs. It looks like we forgot to set the error code here although it's also possible that was intended. This code is ambiguous. > + > + tmp += rc; > + for (j = 0; j < cptab->ctb_nparts; j++) { > + rc = snprintf(tmp, len, " %d:%d", > + j, cptab->ctb_parts[i].cpt_distance[j]); > + len -= rc; > + if (len <= 0) > + goto err; > + tmp += rc; > + } > + > + *tmp = '\n'; > + tmp++; > + len--; > + } > + rc = 0; > +err: > + if (rc < 0) > + return rc; > + > + return tmp - buf; > +} regards, dan carpenter