All of lore.kernel.org
 help / color / mirror / Atom feed
* [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check
@ 2006-10-16  5:55 Amit Choudhary
  2006-10-16 16:46 ` Greg KH
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Amit Choudhary @ 2006-10-16  5:55 UTC (permalink / raw)
  To: kernel-janitors

Description: Check the return value of kmalloc() in function mos7840_get_reg(), in file drivers/usb/serial/mos7840.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>

diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
index 021be39..91d474b 100644
--- a/drivers/usb/serial/mos7840.c
+++ b/drivers/usb/serial/mos7840.c
@@ -475,6 +475,14 @@ static int mos7840_get_reg(struct moschi
 	int ret = 0;
 	buffer = (__u8 *) mcs->ctrl_buf;
 
+	/* The memory for ctrl_buf is allocated in
+	 * mos7840_startup(), but it is not checked if
+	 * kmalloc failed. So, mcs->ctrl_buf might be NULL.
+	 * So, it should be checked here.
+	 */
+	if (!buffer)
+		return -ENOMEM;
+
 //      dr=(struct usb_ctrlrequest *)(buffer);
 	dr = (void *)(buffer + 2);
 	dr->bRequestType = MCS_RD_RTYPE;
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check
  2006-10-16  5:55 [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check Amit Choudhary
@ 2006-10-16 16:46 ` Greg KH
  2006-10-17  6:33 ` Amit Choudhary
  2006-10-18 21:23 ` Greg KH
  2 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2006-10-16 16:46 UTC (permalink / raw)
  To: kernel-janitors

On Sun, Oct 15, 2006 at 10:55:13PM -0700, Amit Choudhary wrote:
> Description: Check the return value of kmalloc() in function mos7840_get_reg(), in file drivers/usb/serial/mos7840.c.
> 
> Signed-off-by: Amit Choudhary <amit2030@gmail.com>
> 
> diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
> index 021be39..91d474b 100644
> --- a/drivers/usb/serial/mos7840.c
> +++ b/drivers/usb/serial/mos7840.c
> @@ -475,6 +475,14 @@ static int mos7840_get_reg(struct moschi
>  	int ret = 0;
>  	buffer = (__u8 *) mcs->ctrl_buf;
>  
> +	/* The memory for ctrl_buf is allocated in
> +	 * mos7840_startup(), but it is not checked if
> +	 * kmalloc failed. So, mcs->ctrl_buf might be NULL.
> +	 * So, it should be checked here.
> +	 */
> +	if (!buffer)
> +		return -ENOMEM;

Why not just check it in the startup function instead?

thanks,

greg k-h
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check
  2006-10-16  5:55 [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check Amit Choudhary
  2006-10-16 16:46 ` Greg KH
@ 2006-10-17  6:33 ` Amit Choudhary
  2006-10-18 21:23 ` Greg KH
  2 siblings, 0 replies; 4+ messages in thread
From: Amit Choudhary @ 2006-10-17  6:33 UTC (permalink / raw)
  To: kernel-janitors




> > @@ -475,6 +475,14 @@ static int mos7840_get_reg(struct moschi
> >  	int ret = 0;
> >  	buffer = (__u8 *) mcs->ctrl_buf;
> >  
> > +	/* The memory for ctrl_buf is allocated in
> > +	 * mos7840_startup(), but it is not checked if
> > +	 * kmalloc failed. So, mcs->ctrl_buf might be NULL.
> > +	 * So, it should be checked here.
> > +	 */
> > +	if (!buffer)
> > +		return -ENOMEM;
> 
> Why not just check it in the startup function instead?

After looking at the code, I inferred that it can still proceed if ctrl_buf is NULL because
ctrl_buf is referenced only in mos7840_get_reg(). But please let me know if this is not the right
way.



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check
  2006-10-16  5:55 [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check Amit Choudhary
  2006-10-16 16:46 ` Greg KH
  2006-10-17  6:33 ` Amit Choudhary
@ 2006-10-18 21:23 ` Greg KH
  2 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2006-10-18 21:23 UTC (permalink / raw)
  To: kernel-janitors

On Mon, Oct 16, 2006 at 11:33:50PM -0700, Amit Choudhary wrote:
> 
> 
> 
> > > @@ -475,6 +475,14 @@ static int mos7840_get_reg(struct moschi
> > >  	int ret = 0;
> > >  	buffer = (__u8 *) mcs->ctrl_buf;
> > >  
> > > +	/* The memory for ctrl_buf is allocated in
> > > +	 * mos7840_startup(), but it is not checked if
> > > +	 * kmalloc failed. So, mcs->ctrl_buf might be NULL.
> > > +	 * So, it should be checked here.
> > > +	 */
> > > +	if (!buffer)
> > > +		return -ENOMEM;
> > 
> > Why not just check it in the startup function instead?
> 
> After looking at the code, I inferred that it can still proceed if ctrl_buf is NULL because
> ctrl_buf is referenced only in mos7840_get_reg(). But please let me know if this is not the right
> way.

Nah, just error out in the beginning when the buffer is created.  It
makes is simpler to handle the low memory condition.

thanks,

greg k-h
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
https://lists.osdl.org/mailman/listinfo/kernel-janitors

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-10-18 21:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-16  5:55 [KJ] [PATCH 2.6.19-rc2] drivers/usb/serial/mos7840.c: check Amit Choudhary
2006-10-16 16:46 ` Greg KH
2006-10-17  6:33 ` Amit Choudhary
2006-10-18 21:23 ` Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.