net/sfc/base: check size of memory to read sensors data to

Size of provided memory should be consistent with specified size.

Fixes: dfb3b1ce15 ("net/sfc/base: import monitors access via MCDI")
Cc: stable@dpdk.org

Signed-off-by: Martin Harvey <mharvey@solarflare.com>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
This commit is contained in:
Martin Harvey 2018-09-10 10:33:15 +01:00 committed by Ferruh Yigit
parent 0c52235b43
commit 252faf84f4

View File

@ -194,6 +194,12 @@ efx_mcdi_read_sensors(
uint8_t payload[MAX(MC_CMD_READ_SENSORS_EXT_IN_LEN,
MC_CMD_READ_SENSORS_EXT_OUT_LEN)];
uint32_t addr_lo, addr_hi;
efx_rc_t rc;
if (EFSYS_MEM_SIZE(esmp) < size) {
rc = EINVAL;
goto fail1;
}
req.emr_cmd = MC_CMD_READ_SENSORS;
req.emr_in_buf = payload;
@ -211,6 +217,11 @@ efx_mcdi_read_sensors(
efx_mcdi_execute(enp, &req);
return (req.emr_rc);
fail1:
EFSYS_PROBE1(fail1, efx_rc_t, rc);
return (rc);
}
static __checkReturn efx_rc_t