Skip to content

Commit

Permalink
common/sfc_efx/base: fix signed/unsigned mismatch warnings
Browse files Browse the repository at this point in the history
[ upstream commit a0f0b03 ]

Fix signed/unsigned mismatch issues found by Windows build.

Fixes: 34285fd ("common/sfc_efx/base: add match spec validate API")
Fixes: bb71f7e ("common/sfc_efx/base: add match specs class comparison API")
Fixes: e9d5c5f ("common/sfc_efx/base: avoid reading past buffer")

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Andy Moreton <amoreton@xilinx.com>
  • Loading branch information
ol-ivanmal authored and bluca committed Feb 2, 2021
1 parent 6b2b02c commit b79e4c8
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions drivers/common/sfc_efx/base/efx_mae.c
Original file line number Diff line number Diff line change
Expand Up @@ -644,7 +644,7 @@ efx_mae_match_spec_field_set(
goto fail1;
}

if (field_id >= desc_set_nentries) {
if ((unsigned int)field_id >= desc_set_nentries) {
rc = EINVAL;
goto fail2;
}
Expand Down Expand Up @@ -844,7 +844,8 @@ efx_mae_match_spec_is_valid(
if (field_caps == NULL)
return (B_FALSE);

for (field_id = 0; field_id < desc_set_nentries; ++field_id) {
for (field_id = 0; (unsigned int)field_id < desc_set_nentries;
++field_id) {
const efx_mae_mv_desc_t *descp = &desc_setp[field_id];
efx_mae_field_cap_id_t field_cap_id = descp->emmd_field_cap_id;
const uint8_t *m_buf = mvp + descp->emmd_mask_offset;
Expand All @@ -853,7 +854,7 @@ efx_mae_match_spec_is_valid(
if (m_size == 0)
continue; /* Skip array gap */

if (field_cap_id >= field_ncaps)
if ((unsigned int)field_cap_id >= field_ncaps)
break;

switch (field_caps[field_cap_id].emfc_support) {
Expand Down Expand Up @@ -1350,14 +1351,15 @@ efx_mae_match_specs_class_cmp(
return (0);
}

for (field_id = 0; field_id < desc_set_nentries; ++field_id) {
for (field_id = 0; (unsigned int)field_id < desc_set_nentries;
++field_id) {
const efx_mae_mv_desc_t *descp = &desc_setp[field_id];
efx_mae_field_cap_id_t field_cap_id = descp->emmd_field_cap_id;

if (descp->emmd_mask_size == 0)
continue; /* Skip array gap */

if (field_cap_id >= field_ncaps)
if ((unsigned int)field_cap_id >= field_ncaps)
break;

if (field_caps[field_cap_id].emfc_mask_affects_class) {
Expand Down

0 comments on commit b79e4c8

Please sign in to comment.