Re: [PATCHv3 5/5] scsi_devinfo: fixup string compare

Bart Van Assche
2017-08-15T23:04:03Z

On Fri, 2017-08-11 at 16:23 +0200, Hannes Reinecke wrote:
> When checking the model and vendor string we need to use the
> minimum value of either string, otherwise we'll miss out on
> wildcard matches.
> And we should take card when matching with zero size strings;

"card"? Did you perhaps mean "care"?

> results might be unpredictable.
> With this patch the rules for matching devinfo strings are
> as follows:
> - Vendor strings must match exactly
> - Empty Model strings will only match if the devinfo model
> is also empty
> - Model strings shorter than the devinfo model string will
> not match

The above sentence contradicts the first sentence.

> + /*
> + * @model specifies the full string, and
> + * must be larger or equal to devinfo->model
> + */

What does "larger than or equal to" mean for strings? Did you perhaps mean that
devinfo->model must be a prefix of @model?

> if (!memcmp(devinfo->vendor, vendor,
> - sizeof(devinfo->vendor)) &&
> - !memcmp(devinfo->model, model,
> - sizeof(devinfo->model)))
> + sizeof(devinfo->vendor)) &&
> + !memcmp(devinfo->model, model,
> + sizeof(devinfo->model)))
> return devinfo;

Is this a whitespace-only change? If so, please fold it in the previous patch.

Thanks,

Bart.