Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp4622070rwb; Sat, 10 Dec 2022 11:49:44 -0800 (PST) X-Google-Smtp-Source: AA0mqf48pNeHV7QHsmn956Qxknt9RLD+R52FRKiTvNrhw5LGg9OCrm0563aOzccYA3mqODwPvpk8 X-Received: by 2002:a05:6a20:a5a3:b0:a3:eb66:226d with SMTP id bc35-20020a056a20a5a300b000a3eb66226dmr12839447pzb.52.1670701784398; Sat, 10 Dec 2022 11:49:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1670701784; cv=none; d=google.com; s=arc-20160816; b=i3E5uDAfzHCO+8ZHCsRhje92T686h/vUKtv0dUkTNJX+dTeNEArUbIApqqpzTxVfg5 eP6fHW9HdtHtwnwYVIaWQWkL+dOUYQxJOItA+SNWRI9hMIcyNpxsevsNVC1/RaE5WZfK h/Oxk8jd2JrqaaocFlN5J+jDERp2i8lMTzvW6ws3WwIFtT6L8P3dXjfGOKzKc6jf58I+ 9urgQCqRlRuOxk2mvbb9/D6iXHjbsOkFAGW7tnFHtLCJw4oHJsALN+nklsfl0OnkhBrC rSzkEJjT/fu2Dm/c0gMh9mS+dkQfosJu2BKtx+gSBLjdIzSwFbA4VXOu9GvIb1FnrELC s7Zg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:sender:dkim-signature; bh=FbOFRSFNWc0TQHFBoZfUW3DKjgTHvU2458m2mJ2hLTA=; b=MpZvXCdYOSl/CyFFBN5aFRXh2QJL4RAV5Mk3nbeoad3ja3WuYr0YoALbo1weQvSkKI jXNH6ljPeJxIdaQKnsWX6WTqUJLjsygV6iyTE55fQ/aLN/coO30+n+HF/YhESP5bRXrH T6s/O2XDSluVK8qV21nS8x87wppH10cbGLzMIqQRVZpzsOGr0veRO/G+c195urRoxbxu eXd983t5FsEggnPcQEkhT9Mkxfzs39MeQ86tYr143dU9gOQRGqx3ELkpK8sEGY4Cp0Iv drocu6RZk1DT2jnHWbRX1dZfVyFaXHnsGKLp4Yf/YawXf+rkNoVoRnvuANK501vAIurW NFwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Qke1071K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 14-20020a630f4e000000b0046ef21af717si4803210pgp.683.2022.12.10.11.49.33; Sat, 10 Dec 2022 11:49:44 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=Qke1071K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229777AbiLJSiD (ORCPT + 74 others); Sat, 10 Dec 2022 13:38:03 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52516 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229548AbiLJSiB (ORCPT ); Sat, 10 Dec 2022 13:38:01 -0500 Received: from mail-pf1-x42c.google.com (mail-pf1-x42c.google.com [IPv6:2607:f8b0:4864:20::42c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3BEB7F01A for ; Sat, 10 Dec 2022 10:38:00 -0800 (PST) Received: by mail-pf1-x42c.google.com with SMTP id c13so5919753pfp.5 for ; Sat, 10 Dec 2022 10:38:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :from:to:cc:subject:date:message-id:reply-to; bh=FbOFRSFNWc0TQHFBoZfUW3DKjgTHvU2458m2mJ2hLTA=; b=Qke1071KChkc42+nucj0OH/1nqcHsCprxGYxniIdB40lT5dgim2kSxJGpL6ilcbMix oX2V7FlUtQns7jrBvMyL1UDS883SZNumo9YawBOhFbu1PkFwjmGs4qRiBkHVb5/CBXm5 mPIuWVpNOf6og6hmdIfJtPFvcY7l7kXacg7itvLyPaftYL5VaknQh3Qap8WZsqzIRP+1 HwjaIgK7FX2xq7hOHE8bssnjbP2judi4C2f+MzbL062QRttcFTdDxd2oSr+l499Kq3Ag SeuHDLpTIrltIk+AYondUXJyx4+QOLxxE3QuuB2TF9jozIIs2ubHwEuYh4fRwuuOedzx RVlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=FbOFRSFNWc0TQHFBoZfUW3DKjgTHvU2458m2mJ2hLTA=; b=duKdbhwKAtZhkf9cRCJioudJVCgBD/DBveC4ANPgYAhQunI48F6fvZ5m6uD7BGPx1V m3XwIWy8TxDXv5Kii+bbFNImp8O2lhftk0cX1WVsphsQJqWZRJcj/BtmJuOjRElp0IfA y9emF146ZwvUS1SuN+98wgZw/6z51XebPrWJ7PjFWKogmGdlqvRJeTiFiHqmlOSwnw/s QLqsxNLLCclR6KnU0uXYM6OPBilKKE8O0oD4HJqafTQ/4Gq3AA2rH93wAQl+xO/PKbh0 BYh9QoAqMD6lubhi4Pk1xFnmEWVYEsaE8oDHqDJO6ka/FGD9ySHmiaoMKpQtf4amy0oG V4yA== X-Gm-Message-State: ANoB5pmcidRM8jCaH2T4DOoOlZ48krMr1LLVuYyRU+6Va1bEiZJllbzo Q2qER+/RWMpQr0MOb+u+Xg0= X-Received: by 2002:a05:6a00:1411:b0:574:a541:574a with SMTP id l17-20020a056a00141100b00574a541574amr12136513pfu.0.1670697479535; Sat, 10 Dec 2022 10:37:59 -0800 (PST) Received: from localhost (2603-800c-1a02-1bae-a7fa-157f-969a-4cde.res6.spectrum.com. [2603:800c:1a02:1bae:a7fa:157f:969a:4cde]) by smtp.gmail.com with ESMTPSA id x28-20020aa78f1c000000b0056bc5ad4862sm3055146pfr.28.2022.12.10.10.37.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 10 Dec 2022 10:37:59 -0800 (PST) Sender: Tejun Heo Date: Sat, 10 Dec 2022 08:37:57 -1000 From: Tejun Heo To: "lilingfeng (A)" Cc: linux-kernel@vger.kernel.org, jack@suse.cz, bingjingc@synology.com, ebiggers@google.com, james.smart@broadcom.com, houtao1@huawei.com, yi.zhang@huawei.com, yangerkun@huawei.com, yukuai3@huawei.com Subject: Re: [PATCH-next] lib: parser: optimize match_NUMER apis to use local array Message-ID: References: <20221209063434.1566682-1-lilingfeng3@huawei.com> <8ed91647-f429-493e-b4e1-1f6bf11c228b@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <8ed91647-f429-493e-b4e1-1f6bf11c228b@huawei.com> X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, On Sat, Dec 10, 2022 at 10:51:11AM +0800, lilingfeng (A) wrote: > Thank you for your advice. But I think match_number() is aimed to turn the > string to num, so maybe it's better to return an error code rather than > using match_stlcpy() to truncate it to give a wrong num when the string > is too long to store. Yeah, so, you check the the returned length and return an error code if the returned value is too long for the buffer. That's how this family of functions get error-checked. > > > +{ > > > + size_t len = s->to - s->from; > > > + > > > + if (!s->from) > > > + return -EINVAL; > > If we use match_strlcpy() we lose the above null check but given that other > > match_*() functions aren't doing it, this likely shouldn't matter. > > Like this: > match_strdup > ?kmemdup_nul > ? if (!s) // null check has been done here > ?? return NULL > So I think null check may be necessary. I mean, it's there now but other match functions don't, so it's unlikely that the NULL check is necessary unless we're saying "parsing this type string can encounter NULL inputs but these don't". That said, it doesn't really matter. If you wanna keep the NULL check, do so before calling strlcpy. Thanks. -- tejun