[PATCH] staging: mmal-vchiq: add a check for the return of vmalloc()

xkernel.wang@foxmail.com posted 1 patch 4 years, 3 months ago
There is a newer version of this series
drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] staging: mmal-vchiq: add a check for the return of vmalloc()
Posted by xkernel.wang@foxmail.com 4 years, 3 months ago
From: Xiaoke Wang <xkernel.wang@foxmail.com>

vmalloc() is a memory allocation API which can return NULL when some
internal memory errors happen. So it is better to check the return
value of it to catch the error in time.

Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
---
 drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
index 76d3f03..1bbd301 100644
--- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
+++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
@@ -1909,6 +1909,11 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
 	mutex_init(&instance->vchiq_mutex);
 
 	instance->bulk_scratch = vmalloc(PAGE_SIZE);
+	if (!instance->bulk_scratch) {
+		err = -ENOMEM;
+		kfree(instance);
+		goto err_shutdown_vchiq;
+	}
 	instance->vchiq_instance = vchiq_instance;
 
 	mutex_init(&instance->context_map_lock);
--
Re: [PATCH] staging: mmal-vchiq: add a check for the return of vmalloc()
Posted by Greg KH 4 years, 3 months ago
On Fri, Mar 04, 2022 at 04:17:41PM +0800, xkernel.wang@foxmail.com wrote:
> From: Xiaoke Wang <xkernel.wang@foxmail.com>
> 
> vmalloc() is a memory allocation API which can return NULL when some
> internal memory errors happen. So it is better to check the return
> value of it to catch the error in time.
> 
> Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>
> ---
>  drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
> index 76d3f03..1bbd301 100644
> --- a/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
> +++ b/drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c
> @@ -1909,6 +1909,11 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
>  	mutex_init(&instance->vchiq_mutex);
>  
>  	instance->bulk_scratch = vmalloc(PAGE_SIZE);
> +	if (!instance->bulk_scratch) {
> +		err = -ENOMEM;
> +		kfree(instance);

This is called in the error section, please just jump to the proper
location and then this line will not be needed.

thanks,

greg k-h
Re: [PATCH] staging: mmal-vchiq: add a check for the return of vmalloc()
Posted by Dan Carpenter 4 years, 3 months ago
On Tue, Mar 15, 2022 at 03:21:30PM +0100, Greg KH wrote:
> On Fri, Mar 04, 2022 at 04:17:41PM +0800, xkernel.wang@foxmail.com wrote:
> > From: Xiaoke Wang <xkernel.wang@foxmail.com>
> > 
> > vmalloc() is a memory allocation API which can return NULL when some
> > internal memory errors happen. So it is better to check the return
> > value of it to catch the error in time.
> > 
> > Signed-off-by: Xiaoke Wang <xkernel.wang@foxmail.com>

Unfortunately these patches are not making it to the
linux-staging@lists.linux.dev list.  They are on LKML but no one reads
LKML.

Here is the link to the staging archive.  Greg's email is there.  But
the first email is missing.
https://lore.kernel.org/linux-staging/YjCg6oQcNiGKEH3x@kroah.com/T/#u

regards,
dan carpenter