]> git.itanic.dy.fi Git - linux-stable/commit
drm/imagination: fix off by one in pvr_vm_mips_init() error handling
authorDan Carpenter <dan.carpenter@linaro.org>
Thu, 30 Nov 2023 07:27:15 +0000 (10:27 +0300)
committerMaxime Ripard <mripard@kernel.org>
Thu, 30 Nov 2023 09:26:11 +0000 (10:26 +0100)
commit55b0f4a7c37680428d640aeada96d62888366c56
tree77b5137744400c1a801afbfae64b06f62f4e5e6b
parent9ee33dc47772724ff583b060bb37c62b92b2d9c4
drm/imagination: fix off by one in pvr_vm_mips_init() error handling

If the call to vmap() fails the "page_nr" is one element beyond the end
of the mips_data->pt_dma_addr[] and mips_data->pt_pages[] arrays.

The way that this is traditionally written is that we clean up the
partial loop iteration before the goto and then we can say
while (--i >= 0).  At that point we know that all the elements thus
far are initialized so we don't need to have NULL checks.

Fixes: 927f3e0253c1 ("drm/imagination: Implement MIPS firmware processor and MMU support")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/a2d3210b-290f-4397-9c3e-efdcca94d8ac@moroto.mountain
drivers/gpu/drm/imagination/pvr_vm_mips.c