Messages in this thread | | | Date | Fri, 25 Nov 2022 16:37:37 +0200 | From | Andy Shevchenko <> | Subject | Re: [PATCH 2/2] RDMA/srp: Fix error return code in srp_parse_options() |
| |
On Fri, Nov 25, 2022 at 08:03:51PM +0800, Wang Yufen wrote: > In the previous while loop, "ret" may be assigned zero. Therefore, > "ret" needs to be assigned -EINVAL at the beginning of each loop.
...
> while ((p = strsep(&sep_opt, ",\n")) != NULL) { > + ret = -EINVAL; > if (!*p) > continue;
Better option is to investigate each case separately and gather all of them into a single fix.
For example, this
case SRP_OPT_MAX_IT_IU_SIZE: if (match_int(args, &token) || token < 0) { pr_warn("bad maximum initiator to target IU size '%s'\n", p); goto out; } target->max_it_iu_size = token; break;
can be rewritten as
case SRP_OPT_MAX_IT_IU_SIZE: ret = match_int(args, &token); if (ret) goto out; if (token < 0) { pr_warn("bad maximum initiator to target IU size '%s'\n", p); ret = -EINVAL; goto out; } target->max_it_iu_size = token; break;
and so on...
-- With Best Regards, Andy Shevchenko
| |