Re: [PATCH] staging: kpc2000: replace assertion with recovery code

From: Greg Kroah-Hartman
Date: Sun Dec 15 2019 - 13:28:29 EST


On Sun, Dec 15, 2019 at 12:12:37PM -0600, Aditya Pakki wrote:
> In kpc_dma_transfer, if either priv or ldev is NULL, crashing the
> process is excessive and is not needed. Instead of asserting, by
> passing the error upstream, the error can be handled.
>
> Signed-off-by: Aditya Pakki <pakki001@xxxxxxx>
> ---
> drivers/staging/kpc2000/kpc_dma/fileops.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/kpc2000/kpc_dma/fileops.c b/drivers/staging/kpc2000/kpc_dma/fileops.c
> index cb52bd9a6d2f..1c4633267cc1 100644
> --- a/drivers/staging/kpc2000/kpc_dma/fileops.c
> +++ b/drivers/staging/kpc2000/kpc_dma/fileops.c
> @@ -49,9 +49,11 @@ static int kpc_dma_transfer(struct dev_private_data *priv,
> u64 dma_addr;
> u64 user_ctl;
>
> - BUG_ON(priv == NULL);
> + if (!priv)
> + return -EINVAL;

How can prive ever be NULL here? Can you track back to all callers to
verify this? If so, just remove the check.

thanks,

greg k-h