From: "Zeng, ZhichaoX" <zhichaox.zeng@intel.com>
To: "Richardson, Bruce" <bruce.richardson@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
"Burakov, Anatoly" <anatoly.burakov@intel.com>
Subject: RE: [PATCH] net/ice: fix wrong DDP search path
Date: Mon, 4 Nov 2024 09:57:27 +0000 [thread overview]
Message-ID: <CO6PR11MB56025EBE01071AB02DE14CAEF1512@CO6PR11MB5602.namprd11.prod.outlook.com> (raw)
In-Reply-To: <ZyShBTp5H7TzQhD7@bricha3-mobl1.ger.corp.intel.com>
Hi Bruce,
Thanks for your suggestions, will send v2 patch.
Regards
Zhichao
> -----Original Message-----
> From: Richardson, Bruce <bruce.richardson@intel.com>
> Sent: Friday, November 1, 2024 5:36 PM
> To: Zeng, ZhichaoX <zhichaox.zeng@intel.com>
> Cc: dev@dpdk.org; Burakov, Anatoly <anatoly.burakov@intel.com>
> Subject: Re: [PATCH] net/ice: fix wrong DDP search path
>
> On Fri, Nov 01, 2024 at 04:44:43PM +0800, Zhichao Zeng wrote:
> > In the previous implementation, when the user did not enter any value
> > in "/sys/module/firmware_class/parameters/path", it would incorrectly
> > search for DDP packages under "/". This commit fixes this issue.
> >
> > Fixes: 9207f93640a7 ("net/ice: support custom search path for DDP
> > package")
> >
> > Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
> > ---
> > drivers/net/ice/ice_ethdev.c | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/ice/ice_ethdev.c
> > b/drivers/net/ice/ice_ethdev.c index d5e94a6685..0705f8e961 100644
> > --- a/drivers/net/ice/ice_ethdev.c
> > +++ b/drivers/net/ice/ice_ethdev.c
> > @@ -1922,8 +1922,11 @@ static int ice_read_customized_path(char
> *pkg_file, uint16_t buff_len)
> > return -EIO;
> > }
> >
> > - if (pkg_file[n - 1] == '\n')
> > + if (pkg_file[n - 1] == '\n') {
> > n--;
> > + if (n == 0)
> > + return -EINVAL;
> > + }
> >
> > pkg_file[n] = '\0';
> >
>
> May I suggest a slightly alternative fix, that I think it a little shorter and neater
> (assuming it works - if not, let me know.)
>
> Rather than adding an explicit check for n==0 and returning error, I think we
> can instead change the return value of the function to be the length of the
> data read. So at line 1931 "return 0" we can change that to "return n".
> Then at the call site for the function we can change:
>
> if (ice_read_customized_path(....) == 0) {
>
> to
> if (ice_read_customized_path(....) > 0) {
>
> What do you think?
>
> /Bruce
>
> PS: if you do take this approach, we can also slightly shorten the function by
> changing/removing the block:
>
> if (n == 0) {
> close(fp);
> return -EIO;
> }
> ... /* length adjust and zeroing */
> return n;
>
> to be an inverted check with the length adjustment and zeroing inside it:
> if (n > 0){
> if (pkg_file[n -1] == '\n')
> n--;
> pkg_file[n] = '\0';
> }
> close(fp);
> return n;
>
> That gives us a zero return value too in case of reading zero bytes. It also
> handles the currently unhandled case of read returning < 0.
next prev parent reply other threads:[~2024-11-04 9:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-01 8:44 Zhichao Zeng
2024-11-01 9:36 ` Bruce Richardson
2024-11-04 9:57 ` Zeng, ZhichaoX [this message]
2024-11-04 10:09 ` [PATCH v2] " Zhichao Zeng
2024-11-04 14:32 ` Bruce Richardson
2024-11-05 2:41 ` Li, HongboX
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CO6PR11MB56025EBE01071AB02DE14CAEF1512@CO6PR11MB5602.namprd11.prod.outlook.com \
--to=zhichaox.zeng@intel.com \
--cc=anatoly.burakov@intel.com \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).