Re: [PATCH 2/2] vfio/fsl-mc: prevent underflow in vfio_fsl_mc_mmap()

From: Alex Williamson
Date: Mon Nov 02 2020 - 16:45:57 EST



Hi Diana, same for this one. Thanks,

Alex

On Fri, 23 Oct 2020 14:29:47 +0300
Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:

> My static analsysis tool complains that the "index" can be negative.
> There are some checks in do_mmap() which try to prevent underflows but
> I don't know if they are sufficient for this situation. Either way,
> making "index" unsigned is harmless so let's do it just to be safe.
>
> Fixes: 67247289688d ("vfio/fsl-mc: Allow userspace to MMAP fsl-mc device MMIO regions")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> ---
> drivers/vfio/fsl-mc/vfio_fsl_mc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/vfio/fsl-mc/vfio_fsl_mc.c b/drivers/vfio/fsl-mc/vfio_fsl_mc.c
> index 21f22e3da11f..f27e25112c40 100644
> --- a/drivers/vfio/fsl-mc/vfio_fsl_mc.c
> +++ b/drivers/vfio/fsl-mc/vfio_fsl_mc.c
> @@ -472,7 +472,7 @@ static int vfio_fsl_mc_mmap(void *device_data, struct vm_area_struct *vma)
> {
> struct vfio_fsl_mc_device *vdev = device_data;
> struct fsl_mc_device *mc_dev = vdev->mc_dev;
> - int index;
> + unsigned int index;
>
> index = vma->vm_pgoff >> (VFIO_FSL_MC_OFFSET_SHIFT - PAGE_SHIFT);
>