[igt-dev] [PATCH i-g-t v2] tests/kms_plane_scaling: Fix out-of-bound array access

Luca Coelho luca at coelho.fi
Wed Mar 22 10:44:28 UTC 2023


On Wed, 2023-03-22 at 15:52 +0530, Swati Sharma wrote:
> 
> On 22-Mar-23 3:36 PM, Luca Coelho wrote:
> > On Mon, 2023-03-20 at 20:06 +0530, Swati Sharma wrote:
> > > With this fix we are solving 2 issues. Firstly, the
> > > planes_scaling_combo() tests were leaving one scaler assigned
> > > after running sub-test with two consecutive planes because
> > > one scaler was getting reused in the next run. So with this fix
> > > scaler is not reused since we won't have any common plane.
> > > 
> > > Secondly, when k == n_planes - 1, we were trying to access
> > > planes[n_planes], which led to array out of bounds error. So, with
> > > this fix, this issue is fixed too.
> > > 
> > > v2: -fix condition if n_planes is not even (JP)
> > > 
> > > Suggested-by: Luca Coelho <luciano.coelho at intel.com>
> > > Suggested-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
> > > Reported-by: Luca Coelho <luciano.coelho at intel.com>
> > > Signed-off-by: Swati Sharma <swati2.sharma at intel.com>
> > > ---
> > >   tests/kms_plane_scaling.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/tests/kms_plane_scaling.c b/tests/kms_plane_scaling.c
> > > index 3a6904afb..7feb45ca3 100644
> > > --- a/tests/kms_plane_scaling.c
> > > +++ b/tests/kms_plane_scaling.c
> > > @@ -744,7 +744,7 @@ test_planes_scaling_combo(data_t *d, int w1, int h1, int w2, int h2,
> > >   		igt_assert(0);
> > >   	}
> > >   
> > > -	for (int k = 0; k < display->pipes[pipe].n_planes; k++) {
> > > +	for (int k = 0; k < display->pipes[pipe].n_planes - 1; k += 2) {
> > >   		igt_plane_t *p1, *p2;
> > >   
> > >   		p1 = &display->pipes[pipe].planes[k];
> > 
> > What will happen if we have only 1 plane? Shouldn't the test be
> > skipped? It seems that the loop will just not run and the test result
> > will be pass?
> Right.
> Should we add igt_require(n_planes >=2)?
> With that if n_planes=1 test will SKIP.
> 

Yes, that sounds reasonable.

--
Cheers,
Luca.


More information about the igt-dev mailing list