Received: by 2002:a05:7412:f690:b0:e2:908c:2ebd with SMTP id ej16csp355315rdb; Thu, 19 Oct 2023 06:36:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGnlamjk117Yau31MJjIJhY0Oq68YgKNQ3TjCdgtegZiZf94zW50gA3Ws+LnZOB/qnPbwoV X-Received: by 2002:a17:903:184:b0:1c9:fccb:3b1 with SMTP id z4-20020a170903018400b001c9fccb03b1mr2795902plg.24.1697722566943; Thu, 19 Oct 2023 06:36:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697722566; cv=none; d=google.com; s=arc-20160816; b=JIlGqR8lkHm+JYPdBYck8aglnDeVVcRt/cKw6AlaV8aULY1S8GCPvvrLccrRfyzMd6 pHFyHptVsdSS5u6tvkNIThFY0SRQetStVHnerqt6/ZoLYQOhZy/1xlQTw9TF8f7bFH/T hX0c/6L0s2uEqtlmqxZLFYNWt2JgZ1Y4uB5Jd8TXpYwp2/NXU4xG2kRY/Ai+trmkEQIw h/HAx8sGbqIWvgK7RnDt8CS/sx4mKH89Eoqey81uKk/MlwfuPUxmoVwoGJFGxN5of/UX nMwWdqpMtVX8V/8wK/At9T3p1vmo+SsrHEin6PSEZXWEOGS/Jlb7pHyQoFALmF5PHQna BhHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date; bh=Wvh/DRem/mLfrAXhxDL1JDgWpSBLsmQTOb6M9Hp/NgI=; fh=ajpPd+pGfmV5BBdYp55k7LnM71ZltIo58zHybGFKQoA=; b=E98AEPBznbkmiFcKMJVuEX1jol4WrZ+FGeh2HNtsJ0QlGxtOAmq1RCqMrwWCtuA/+9 Oy/KnS2ekvhoJSCXwon24M5XLij0fURcbqM0JyeIyYnZrurUoUYi1HgMBGIL72X+bH1/ 1KY3DGws7MlkG4I5aM55z/0jDGdAvKwMN2mFFfO+ieccL5ukFCkjWx+6wYvb3NzIDvBE nhSH3ssJwVpodbn3I1a+e+boMT7dGnFR3FX4dCwyh43+CThhuF4qfvZIJnFLNIO2Osq1 OTBLIO+zFwLXTzntp/Wq9XNxA5iyKNZkHLW3sJXrwhe6+p3q5DsV8i4FW2W16mRqqKPl VV+g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id s9-20020a170902ea0900b001c9af74feaesi2433816plg.215.2023.10.19.06.36.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Oct 2023 06:36:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id A6873829B8B7; Thu, 19 Oct 2023 06:36:04 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345985AbjJSNf5 (ORCPT + 99 others); Thu, 19 Oct 2023 09:35:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345619AbjJSNfz (ORCPT ); Thu, 19 Oct 2023 09:35:55 -0400 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 36EC811D for ; Thu, 19 Oct 2023 06:35:54 -0700 (PDT) Received: from lhrpeml500005.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4SB7vl5PP2z6H7w9; Thu, 19 Oct 2023 21:33:23 +0800 (CST) Received: from localhost (10.202.227.76) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Thu, 19 Oct 2023 14:35:50 +0100 Date: Thu, 19 Oct 2023 14:35:48 +0100 From: Jonathan Cameron To: Junhao He , CC: , , , , , , , Subject: Re: [PATCH 2/3] coresight: ultrasoc-smb: simplify the code for check to_copy valid Message-ID: <20231019143530.00004c75@huawei.com> In-Reply-To: <20231012094706.21565-3-hejunhao3@huawei.com> References: <20231012094706.21565-1-hejunhao3@huawei.com> <20231012094706.21565-3-hejunhao3@huawei.com> Organization: Huawei Technologies Research and Development (UK) Ltd. X-Mailer: Claws Mail 4.1.0 (GTK 3.24.33; x86_64-w64-mingw32) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.202.227.76] X-ClientProxiedBy: lhrpeml500006.china.huawei.com (7.191.161.198) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Thu, 19 Oct 2023 06:36:04 -0700 (PDT) On Thu, 12 Oct 2023 17:47:05 +0800 Junhao He wrote: > We only need to check once when before using the to_copy variable > to simplify the code. > > Signed-off-by: Junhao He I'm not convinced this one is an improvement. Sometimes it's easier to just see the individual conditions checked even if we could combine them. It's easy to understand we don't copy data if: a) We ask for 0 data. b) There is 0 data Less easy to establish that with the extra wrap around code in there (even though that has no impact on to_copy if it is 0) Jonathan > --- > drivers/hwtracing/coresight/ultrasoc-smb.c | 13 ++++--------- > 1 file changed, 4 insertions(+), 9 deletions(-) > > diff --git a/drivers/hwtracing/coresight/ultrasoc-smb.c b/drivers/hwtracing/coresight/ultrasoc-smb.c > index b08a619d1116..e78edc3480ce 100644 > --- a/drivers/hwtracing/coresight/ultrasoc-smb.c > +++ b/drivers/hwtracing/coresight/ultrasoc-smb.c > @@ -127,20 +127,15 @@ static ssize_t smb_read(struct file *file, char __user *data, size_t len, > struct smb_drv_data, miscdev); > struct smb_data_buffer *sdb = &drvdata->sdb; > struct device *dev = &drvdata->csdev->dev; > - ssize_t to_copy = 0; > - > - if (!len) > - return 0; > - > - if (!sdb->data_size) > - return 0; > - > - to_copy = min(sdb->data_size, len); > + ssize_t to_copy = min(sdb->data_size, len); > > /* Copy parts of trace data when read pointer wrap around SMB buffer */ > if (sdb->buf_rdptr + to_copy > sdb->buf_size) > to_copy = sdb->buf_size - sdb->buf_rdptr; > > + if (!to_copy) > + return 0; > + > if (copy_to_user(data, sdb->buf_base + sdb->buf_rdptr, to_copy)) { > dev_dbg(dev, "Failed to copy data to user\n"); > return -EFAULT;