Re: [PATCH 3/9] dmaengine: idxd: Fix possible invalid memory access after FLR

From: Nathan Lynch
Date: Fri Aug 15 2025 - 15:27:22 EST


Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx> writes:

> In the case that the first Field Level Reset (FLR) concludes

I think you mean Function Level Reset? (here and in other changes in the
series)


> correctly, but in the second FLR the scratch area for the saved
> configuration cannot be allocated, it's possible for a invalid memory
> access to happen.
>
> Always set the deallocated scratch area to NULL after FLR completes.
>
> Fixes: 98d187a98903 ("dmaengine: idxd: Enable Function Level Reset (FLR) for halt")
> Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@xxxxxxxxx>
> ---
> drivers/dma/idxd/init.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/dma/idxd/init.c b/drivers/dma/idxd/init.c
> index a58b8cdbfa60ba9f00b91a737df01517885bc41a..31e00af136a7e13887d3ffd00efbb05864712a80 100644
> --- a/drivers/dma/idxd/init.c
> +++ b/drivers/dma/idxd/init.c
> @@ -1136,6 +1136,7 @@ static void idxd_reset_done(struct pci_dev *pdev)
> }
> out:
> kfree(idxd->idxd_saved);
> + idxd->idxd_saved = NULL;
> }
>
> static const struct pci_error_handlers idxd_error_handler = {
>
> --
> 2.50.1