Re: [RFC v1 3/4] vfio-ccw: Set pa_nr to 0 if memory allocation fails for pa_iova_pfn

Cornelia Huck
2019-07-02T08:45:54Z

On Mon, 1 Jul 2019 12:23:45 -0400
Farhan Ali <alifm@linux.ibm.com> wrote:

> So we clean up correctly.
>
> Signed-off-by: Farhan Ali <alifm@linux.ibm.com>
> ---
> drivers/s390/cio/vfio_ccw_cp.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/s390/cio/vfio_ccw_cp.c b/drivers/s390/cio/vfio_ccw_cp.c
> index cab1be9..c5655de 100644
> --- a/drivers/s390/cio/vfio_ccw_cp.c
> +++ b/drivers/s390/cio/vfio_ccw_cp.c
> @@ -72,8 +72,10 @@ static int pfn_array_alloc(struct pfn_array *pa, u64 iova, unsigned int len)
> sizeof(*pa->pa_iova_pfn) +
> sizeof(*pa->pa_pfn),
> GFP_KERNEL);
> - if (unlikely(!pa->pa_iova_pfn))
> + if (unlikely(!pa->pa_iova_pfn)) {
> + pa->pa_nr = 0;
> return -ENOMEM;
> + }
> pa->pa_pfn = pa->pa_iova_pfn + pa->pa_nr;
>
> pa->pa_iova_pfn[0] = pa->pa_iova >> PAGE_SHIFT;

This looks like an older error -- can you give a Fixes: tag? (Yeah, I
know I sound like a broken record wrt that tag... :)