[PATCH i-g-t 2/7] tests/intel/kms_big_joiner: fix crash in multi joiner test
Modem, Bhanuprakash
bhanuprakash.modem at intel.com
Fri Apr 19 09:42:15 UTC 2024
On 19-04-2024 12:09 pm, Kunal Joshi wrote:
> Fix test from crashing on out of bound.
>
> Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
> Cc: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> Signed-off-by: Kunal Joshi <kunal1.joshi at intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem at intel.com>
> ---
> tests/intel/kms_big_joiner.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/tests/intel/kms_big_joiner.c b/tests/intel/kms_big_joiner.c
> index 078f76ac1..88923be6b 100644
> --- a/tests/intel/kms_big_joiner.c
> +++ b/tests/intel/kms_big_joiner.c
> @@ -162,7 +162,7 @@ static void test_single_joiner(data_t *data, int output_count, bool force_joiner
>
> static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
> {
> - int i;
> + int i, cleanup;
> uint32_t available_pipe_mask;
> enum pipe pipe, master_pipe;
> igt_output_t **outputs;
> @@ -173,6 +173,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
>
> available_pipe_mask = BIT(data->n_pipes) - 1;
> outputs = force_joiner ? data->non_big_joiner_output : data->big_joiner_output;
> + cleanup = 0;
>
> igt_display_reset(&data->display);
> igt_display_commit2(&data->display, COMMIT_ATOMIC);
> @@ -183,6 +184,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
> master_pipe = setup_pipe(data, output, pipe, available_pipe_mask);
> if (master_pipe == PIPE_NONE)
> continue;
> + cleanup++;
> mode = igt_output_get_mode(output);
> primary[i] = igt_output_get_plane_type(output, DRM_PLANE_TYPE_PRIMARY);
> igt_create_pattern_fb(data->drm_fd, mode->hdisplay, mode->vdisplay, DRM_FORMAT_XRGB8888,
> @@ -195,7 +197,7 @@ static void test_multi_joiner(data_t *data, int output_count, bool force_joiner)
> }
> }
> igt_display_commit2(&data->display, COMMIT_ATOMIC);
> - for (i = 0; i < output_count; i++) {
> + for (i = 0; i < cleanup; i++) {
> igt_plane_set_fb(primary[i], NULL);
> igt_remove_fb(data->drm_fd, &fb[i]);
> }
More information about the igt-dev
mailing list