staging: bcm2835-camera: fix coding style issues
Subsystems (3)
cover staging: bcm2835-camera: fix coding style issues
This patchset fixes the following issues:
[1] Added null check after memory allocation to avoid a possible null pointer dereference
[2] Replaced instances of kmalloc and memset with a kzalloc
[3] Replaced null error return values with kernel preferred error return values i.e. return ERR_PTR(-ENOMEM) instead of NULL
Aishwarya Pant (3):
staging: bcm2835-camera: add check to avoid null pointer dereference
staging: bcm2835-camera: replace kmalloc with kzalloc
staging: bcm2835-camera: use kernel preferred style for handling
errors
.../vc04_services/bcm2835-camera/mmal-vchiq.c | 24 +++++++++++++--------- 1 file changed, 14 insertions(+), 10 deletions(-)
Signature · 1 line
2.7.4
PATCH 1/3 staging: bcm2835-camera: add check to avoid null pointer dereference
This patch adds checks after memory allocation to avoid possible null pointer dereferences.
--- drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c +6 -0
@@ -263,6 +263,9 @@ get_msg_context(struct vchiq_mmal_instance *instance) msg_context =kmalloc (sizeof (*msg_context),GFP_KERNEL );memset (msg_context,0 ,sizeof (*msg_context)); +if (!msg_context) +return NULL ; + msg_context->instance = instance; msg_context->handle = mmal_context_map_create_handle(&instance->context_map,
@@ -2008,6 +2011,9 @@ 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 ; +mutex_init (&instance->vchiq_mutex);mutex_init (&instance->bulk_mutex);
Signature · 1 line
2.7.4
Greg KH
maintainerRe: [PATCH 1/3] staging: bcm2835-camera: add check to avoid null pointer dereference
Quoted 13 lines · Aishwarya Pant
This patch adds checks after memory allocation to avoid possible null pointer dereferences.
Signed-off-by Aishwarya Pant <[email protected]>--- drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 6 ++++++ 1 file changed, 6 insertions(+)drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c +0
-0
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c get_msg_context(struct vchiq_mmal_instance *instance) · line 267
Quoted 5 lines
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c +2
-0@@ -263,6 +263,9 @@ get_msg_context(struct vchiq_mmal_instance *instance) msg_context =kmalloc (sizeof (*msg_context),GFP_KERNEL );memset (msg_context,0 ,sizeof (*msg_context)); +if (!msg_context) +return NULL ;
But you just crashed one line above!
not good :(
greg k-h
PATCH 2/3 staging: bcm2835-camera: replace kmalloc with kzalloc
In reply to Aishwarya PantThis patch replaces kmalloc and memset with kzalloc
--- drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c +3 -5
@@ -259,9 +259,8 @@ 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 ); -memset (msg_context,0 ,sizeof (*msg_context)); +/* todo: should this be allocated from a pool to avoid kzalloc */ + msg_context =kzalloc (sizeof (*msg_context),GFP_KERNEL );if (!msg_context)return NULL ;
@@ -2008,8 +2007,7 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)return -EIO ; } - instance =kmalloc (sizeof (*instance),GFP_KERNEL ); -memset (instance,0 ,sizeof (*instance)); + instance =kzalloc (sizeof (*instance),GFP_KERNEL );if (!instance)return -ENOMEM ;
Signature · 1 line
2.7.4
Greg KH
maintainerRe: [PATCH 2/3] staging: bcm2835-camera: replace kmalloc with kzalloc
Quoted 24 lines · Aishwarya Pant
This patch replaces kmalloc and memset with kzalloc
Signed-off-by Aishwarya Pant <[email protected]>--- drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c +2
-3@@ -259,9 +259,8 @@ 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 ); -memset (msg_context,0 ,sizeof (*msg_context)); +/* todo: should this be allocated from a pool to avoid kzalloc */ + msg_context =kzalloc (sizeof (*msg_context),GFP_KERNEL );if (!msg_context)return NULL ;
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance) · line 2013
Quoted 9 lines
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c +1
-2@@ -2008,8 +2007,7 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)return -EIO ; } - instance =kmalloc (sizeof (*instance),GFP_KERNEL ); -memset (instance,0 ,sizeof (*instance)); + instance =kzalloc (sizeof (*instance),GFP_KERNEL );if (!instance)return -ENOMEM ;
Does not apply to my tree :(
Please rebase and resend.
thanks,
greg k-h
PATCH 3/3 staging: bcm2835-camera: use kernel preferred style for handling errors
In reply to Aishwarya PantThis patch replaces NULL error values with error pointer values.
--- drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c +6 -6
@@ -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);
Signature · 1 line
2.7.4