drivers/staging/vc04_services/vchiq-mmal/mmal-vchiq.c | 5 +++++ 1 file changed, 5 insertions(+)
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);
--
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
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
© 2016 - 2026 Red Hat, Inc.