* [PATCH v2 1/3] staging: bcm2835-camera: add check to avoid null pointer dereference
2017-03-09 19:00 [PATCH v2 0/3] staging: bcm2835-camera: fix coding style issues Aishwarya Pant
@ 2017-03-09 19:00 ` Aishwarya Pant
2017-03-09 19:01 ` [PATCH v2 2/3] staging: bcm2835-camera: replace kmalloc with kzalloc Aishwarya Pant
2017-03-09 19:01 ` [PATCH v2 3/3] staging: bcm2835-camera: use kernel preferred style for handling errors Aishwarya Pant
2 siblings, 0 replies; 4+ messages in thread
From: Aishwarya Pant @ 2017-03-09 19:00 UTC (permalink / raw)
To: outreachy-kernel; +Cc: gregkh
This patch adds checks after memory allocation to avoid possible null
pointer dereferences.
Signed-off-by: Aishwarya Pant <aishpant@gmail.com>
---
Changes in v2:
-- Fix null dereference in memset
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
index 6126919..4eead48 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
@@ -261,8 +261,11 @@ get_msg_context(struct vchiq_mmal_instance *instance)
/* todo: should this be allocated from a pool to avoid kmalloc */
msg_context = kmalloc(sizeof(*msg_context), GFP_KERNEL);
- memset(msg_context, 0, sizeof(*msg_context));
+ if (!msg_context)
+ return NULL;
+
+ memset(msg_context, 0, sizeof(*msg_context));
msg_context->instance = instance;
msg_context->handle =
mmal_context_map_create_handle(&instance->context_map,
@@ -2006,8 +2009,11 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
}
instance = kmalloc(sizeof(*instance), GFP_KERNEL);
- memset(instance, 0, sizeof(*instance));
+ if (!instance)
+ return -ENOMEM;
+
+ memset(instance, 0, sizeof(*instance));
mutex_init(&instance->vchiq_mutex);
mutex_init(&instance->bulk_mutex);
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH v2 2/3] staging: bcm2835-camera: replace kmalloc with kzalloc
2017-03-09 19:00 [PATCH v2 0/3] staging: bcm2835-camera: fix coding style issues Aishwarya Pant
2017-03-09 19:00 ` [PATCH v2 1/3] staging: bcm2835-camera: add check to avoid null pointer dereference Aishwarya Pant
@ 2017-03-09 19:01 ` Aishwarya Pant
2017-03-09 19:01 ` [PATCH v2 3/3] staging: bcm2835-camera: use kernel preferred style for handling errors Aishwarya Pant
2 siblings, 0 replies; 4+ messages in thread
From: Aishwarya Pant @ 2017-03-09 19:01 UTC (permalink / raw)
To: outreachy-kernel; +Cc: gregkh
This patch replaces kmalloc and memset with kzalloc
Signed-off-by: Aishwarya Pant <aishpant@gmail.com>
---
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
index 4eead48..f795137 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
@@ -259,13 +259,12 @@ get_msg_context(struct vchiq_mmal_instance *instance)
{
struct mmal_msg_context *msg_context;
- /* todo: should this be allocated from a pool to avoid kmalloc */
- msg_context = kmalloc(sizeof(*msg_context), GFP_KERNEL);
+ /* todo: should this be allocated from a pool to avoid kzalloc */
+ msg_context = kzalloc(sizeof(*msg_context), GFP_KERNEL);
if (!msg_context)
return NULL;
- memset(msg_context, 0, sizeof(*msg_context));
msg_context->instance = instance;
msg_context->handle =
mmal_context_map_create_handle(&instance->context_map,
@@ -2008,12 +2007,11 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
return -EIO;
}
- instance = kmalloc(sizeof(*instance), GFP_KERNEL);
+ instance = kzalloc(sizeof(*instance), GFP_KERNEL);
if (!instance)
return -ENOMEM;
- memset(instance, 0, sizeof(*instance));
mutex_init(&instance->vchiq_mutex);
mutex_init(&instance->bulk_mutex);
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH v2 3/3] staging: bcm2835-camera: use kernel preferred style for handling errors
2017-03-09 19:00 [PATCH v2 0/3] staging: bcm2835-camera: fix coding style issues Aishwarya Pant
2017-03-09 19:00 ` [PATCH v2 1/3] staging: bcm2835-camera: add check to avoid null pointer dereference Aishwarya Pant
2017-03-09 19:01 ` [PATCH v2 2/3] staging: bcm2835-camera: replace kmalloc with kzalloc Aishwarya Pant
@ 2017-03-09 19:01 ` Aishwarya Pant
2 siblings, 0 replies; 4+ messages in thread
From: Aishwarya Pant @ 2017-03-09 19:01 UTC (permalink / raw)
To: outreachy-kernel; +Cc: gregkh
This patch replaces NULL error values with error pointer values.
Signed-off-by: Aishwarya Pant <aishpant@gmail.com>
---
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
index f795137..d87e2df 100644
--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
@@ -263,7 +263,7 @@ get_msg_context(struct vchiq_mmal_instance *instance)
msg_context = kzalloc(sizeof(*msg_context), GFP_KERNEL);
if (!msg_context)
- return NULL;
+ return ERR_PTR(-ENOMEM);
msg_context->instance = instance;
msg_context->handle =
@@ -273,7 +273,7 @@ get_msg_context(struct vchiq_mmal_instance *instance)
if (!msg_context->handle) {
kfree(msg_context);
- return NULL;
+ return ERR_PTR(-ENOMEM);
}
return msg_context;
@@ -508,8 +508,8 @@ buffer_from_host(struct vchiq_mmal_instance *instance,
/* get context */
msg_context = get_msg_context(instance);
- if (!msg_context) {
- ret = -ENOMEM;
+ if (IS_ERR(msg_context)) {
+ ret = PTR_ERR(msg_context);
goto unlock;
}
@@ -836,8 +836,8 @@ static int send_synchronous_mmal_msg(struct vchiq_mmal_instance *instance,
}
msg_context = get_msg_context(instance);
- if (!msg_context)
- return -ENOMEM;
+ if (IS_ERR(msg_context))
+ return PTR_ERR(msg_context);
init_completion(&msg_context->u.sync.cmplt);
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread