sfxge(4): check size of memory to read sensors data to
Size of provided memory should be consistent with specified size. Submitted by: Martin Harvey <mharvey at solarflare.com> Sponsored by: Solarflare Communications, Inc. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D18252
This commit is contained in:
parent
d515a203d8
commit
9d3487a623
@ -221,6 +221,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;
|
||||
@ -238,6 +244,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
|
||||
|
Loading…
Reference in New Issue
Block a user