[PATCH] drm/amdkfd: Fix iterator used outside loop in 'kfd_add_peer_prop()'
Felix Kuehling
felix.kuehling at amd.com
Tue Jan 2 16:35:43 UTC 2024
On 2023-12-29 04:43, Srinivasan Shanmugam wrote:
> Fix the following about iterator use:
> drivers/gpu/drm/amd/amdgpu/../amdkfd/kfd_topology.c:1456 kfd_add_peer_prop() warn: iterator used outside loop: 'iolink3'
>
> Cc: Felix Kuehling <Felix.Kuehling at amd.com>
> Cc: Christian König <christian.koenig at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam at amd.com>
Reviewed-by: Felix Kuehling <felix.kuehling at amd.com>
> ---
> drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 24 ++++++++++++-----------
> 1 file changed, 13 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> index dc7c8312e8c7..68640e46312f 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
> @@ -1449,17 +1449,19 @@ static int kfd_add_peer_prop(struct kfd_topology_device *kdev,
> /* CPU->CPU link*/
> cpu_dev = kfd_topology_device_by_proximity_domain(iolink1->node_to);
> if (cpu_dev) {
> - list_for_each_entry(iolink3, &cpu_dev->io_link_props, list)
> - if (iolink3->node_to == iolink2->node_to)
> - break;
> -
> - props->weight += iolink3->weight;
> - props->min_latency += iolink3->min_latency;
> - props->max_latency += iolink3->max_latency;
> - props->min_bandwidth = min(props->min_bandwidth,
> - iolink3->min_bandwidth);
> - props->max_bandwidth = min(props->max_bandwidth,
> - iolink3->max_bandwidth);
> + list_for_each_entry(iolink3, &cpu_dev->io_link_props, list) {
> + if (iolink3->node_to != iolink2->node_to)
> + continue;
> +
> + props->weight += iolink3->weight;
> + props->min_latency += iolink3->min_latency;
> + props->max_latency += iolink3->max_latency;
> + props->min_bandwidth = min(props->min_bandwidth,
> + iolink3->min_bandwidth);
> + props->max_bandwidth = min(props->max_bandwidth,
> + iolink3->max_bandwidth);
> + break;
> + }
> } else {
> WARN(1, "CPU node not found");
> }
More information about the amd-gfx
mailing list