diff mbox series

[2/3] driver: rng: Fix SMCCC TRNG crash

Message ID 20240125140502.22400-3-o451686892@gmail.com
State Superseded
Delegated to: Tom Rini
Headers show
Series Random Number Generator fixes | expand

Commit Message

Weizhao Ouyang Jan. 25, 2024, 2:05 p.m. UTC
Fix a SMCCC TRNG null pointer crash due to a failed smccc feature
binding.

Signed-off-by: Weizhao Ouyang <o451686892@gmail.com>
---
 drivers/rng/smccc_trng.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Heinrich Schuchardt Jan. 25, 2024, 2:55 p.m. UTC | #1
On 25.01.24 15:05, Weizhao Ouyang wrote:
> Fix a SMCCC TRNG null pointer crash due to a failed smccc feature
> binding.
>
> Signed-off-by: Weizhao Ouyang <o451686892@gmail.com>

Reviewed-by: Heinrich Schuchardt <xypron.gpk@gmx.de>

> ---
>   drivers/rng/smccc_trng.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/rng/smccc_trng.c b/drivers/rng/smccc_trng.c
> index 3a4bb33941..3087cb991a 100644
> --- a/drivers/rng/smccc_trng.c
> +++ b/drivers/rng/smccc_trng.c
> @@ -166,7 +166,7 @@ static int smccc_trng_probe(struct udevice *dev)
>   	struct smccc_trng_priv *priv = dev_get_priv(dev);
>   	struct arm_smccc_res res;
>
> -	if (!(smccc_trng_is_supported(smccc->invoke_fn)))
> +	if (!smccc || !(smccc_trng_is_supported(smccc->invoke_fn)))
>   		return -ENODEV;
>
>   	/* At least one of 64bit and 32bit interfaces is available */
Heinrich Schuchardt Jan. 26, 2024, 1:04 p.m. UTC | #2
On 25.01.24 15:05, Weizhao Ouyang wrote:
> Fix a SMCCC TRNG null pointer crash due to a failed smccc feature
> binding.
>
> Signed-off-by: Weizhao Ouyang <o451686892@gmail.com>

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

> ---
>   drivers/rng/smccc_trng.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/rng/smccc_trng.c b/drivers/rng/smccc_trng.c
> index 3a4bb33941..3087cb991a 100644
> --- a/drivers/rng/smccc_trng.c
> +++ b/drivers/rng/smccc_trng.c
> @@ -166,7 +166,7 @@ static int smccc_trng_probe(struct udevice *dev)
>   	struct smccc_trng_priv *priv = dev_get_priv(dev);
>   	struct arm_smccc_res res;
>
> -	if (!(smccc_trng_is_supported(smccc->invoke_fn)))
> +	if (!smccc || !(smccc_trng_is_supported(smccc->invoke_fn)))
>   		return -ENODEV;
>
>   	/* At least one of 64bit and 32bit interfaces is available */
diff mbox series

Patch

diff --git a/drivers/rng/smccc_trng.c b/drivers/rng/smccc_trng.c
index 3a4bb33941..3087cb991a 100644
--- a/drivers/rng/smccc_trng.c
+++ b/drivers/rng/smccc_trng.c
@@ -166,7 +166,7 @@  static int smccc_trng_probe(struct udevice *dev)
 	struct smccc_trng_priv *priv = dev_get_priv(dev);
 	struct arm_smccc_res res;
 
-	if (!(smccc_trng_is_supported(smccc->invoke_fn)))
+	if (!smccc || !(smccc_trng_is_supported(smccc->invoke_fn)))
 		return -ENODEV;
 
 	/* At least one of 64bit and 32bit interfaces is available */