diff --git a/include/trace/events/smbus.h b/include/trace/events/smbus.h index 71a87edfc46dda00ddf22a8358cb35bbb072a15e..e306d8b928c3810ec7284a1e1567a5d742d99175 100644 --- a/include/trace/events/smbus.h +++ b/include/trace/events/smbus.h @@ -57,6 +57,8 @@ TRACE_EVENT_CONDITION(smbus_write, case I2C_SMBUS_I2C_BLOCK_DATA: __entry->len = data->block[0] + 1; copy: + if (__entry->len > I2C_SMBUS_BLOCK_MAX + 2) + __entry->len = I2C_SMBUS_BLOCK_MAX + 2; memcpy(__entry->buf, data->block, __entry->len); break; case I2C_SMBUS_QUICK: