On 6/26/20 12:13 PM, Adrian Moreno wrote:
>
>
> On 6/24/20 2:26 PM, Maxime Coquelin wrote:
>> This patches fixes a null pointer derefencing that happens
>> when the device string passed to the iterator is NULL. This
>> situation can happen when iterating on a class type.
>> For example:
>>
>> RTE_DEV_FOREACH(dev, "class=eth", &dev_iter) {
>> ...
>> }
>>
>> Fixes: e79df833d3f6 ("bus/dpaa: support hotplug ops")
>> Cc: sta...@dpdk.org
>> Cc: shreyansh.j...@nxp.com
>>
>> Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com>
>> ---
>> drivers/bus/dpaa/dpaa_bus.c | 5 +++++
>> 1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c
>> index d53fe6083a..216f38acd4 100644
>> --- a/drivers/bus/dpaa/dpaa_bus.c
>> +++ b/drivers/bus/dpaa/dpaa_bus.c
>> @@ -703,6 +703,11 @@ dpaa_bus_dev_iterate(const void *start, const char *str,
>> struct rte_dpaa_device *dev;
>> char *dup, *dev_name = NULL;
>>
>> + if (str == NULL) {
>> + DPAA_BUS_DEBUG("No device string\n");
>> + return NULL;
>> + }
>> +
> nitpicky: technically the trailing "\n" is not needed. Feel free to ignore
Thanks, I'll fix while applying.
>
>> /* Expectation is that device would be name=device_name */
>> if (strncmp(str, "name=", 5) != 0) {
>> DPAA_BUS_DEBUG("Invalid device string (%s)\n", str);
>>
>
> Acked-by: Adrián Moreno <amore...@redhat.com>
>