[igt-dev] [PATCH] [i-g-t] tests/amdgpu/amd_hotplug: fix test crash signal sigsegv

Hamza Mahfooz hamza.mahfooz at amd.com
Thu May 4 15:13:29 UTC 2023


On 5/4/23 10:22, Hersen Wu wrote:
> MAX_PIPES is 6 within amd_hotplug. IGT_MAX_PIPES is changed from
> 6 to 8 by 'commit 3d3a7f1c041d ("lib: Fix igt_kms for drivers with
> 8 crtc's")'. amd_hotplug loop up to display->n_pipes = 8, this will
> exceed range of array and cause crash.
> fix this issue with loop using for_each_pipe.
> 
> Signed-off-by: Hersen Wu <hersenxs.wu at amd.com>

Reviewed-by: Hamza Mahfooz <hamza.mahfooz at amd.com>

> ---
>   tests/amdgpu/amd_hotplug.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/amdgpu/amd_hotplug.c b/tests/amdgpu/amd_hotplug.c
> index 736040a2..c13bf49d 100644
> --- a/tests/amdgpu/amd_hotplug.c
> +++ b/tests/amdgpu/amd_hotplug.c
> @@ -109,7 +109,7 @@ static void test_hotplug_basic(data_t *data, bool suspend)
>   	test_init(data);
>   
>   	/* Setup all outputs */
> -	for (i = 0; i < display->n_pipes; i++) {
> +	for_each_pipe(&data->display, i) {
>   		output = data->output[i];
>   		if (!output || !igt_output_is_connected(output))
>   			continue;
> @@ -122,7 +122,7 @@ static void test_hotplug_basic(data_t *data, bool suspend)
>   	igt_display_commit_atomic(display, DRM_MODE_ATOMIC_ALLOW_MODESET, 0);
>   
>   	/* Collect reference CRCs */
> -	for (i = 0; i < display->n_pipes; i++) {
> +	for_each_pipe(&data->display, i) {
>   		output = data->output[i];
>   		if (!output || !igt_output_is_connected(output))
>   			continue;
> @@ -136,7 +136,7 @@ static void test_hotplug_basic(data_t *data, bool suspend)
>   	}
>   
>   	/* Trigger hotplug and confirm reference image is the same. */
> -	for (i = 0; i < display->n_pipes; i++) {
> +	for_each_pipe(&data->display, i) {
>   		output = data->output[i];
>   		if (!output || !igt_output_is_connected(output))
>   			continue;
-- 
Hamza



More information about the igt-dev mailing list