* [patch] HID: picoLCD: fix a NULL test in picolcd_raw_cir()
@ 2012-09-07 6:47 Dan Carpenter
2012-09-07 21:38 ` Bruno Prémont
0 siblings, 1 reply; 3+ messages in thread
From: Dan Carpenter @ 2012-09-07 6:47 UTC (permalink / raw)
To: Bruno Prémont; +Cc: Jiri Kosina, linux-input, kernel-janitors
Smatch complains that the NULL checking in this function is not
consistent and could lead to a NULL dereference. The comments say that
we should return here if rc_dev is NULL so I've changed the test to
match the comment.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
Only needed in linux-next. This is a static checker fix and I don't
have the hardware to test it. Please review carefully.
diff --git a/drivers/hid/hid-picolcd_cir.c b/drivers/hid/hid-picolcd_cir.c
index 14c5ce0..13ca919 100644
--- a/drivers/hid/hid-picolcd_cir.c
+++ b/drivers/hid/hid-picolcd_cir.c
@@ -51,7 +51,7 @@ int picolcd_raw_cir(struct picolcd_data *data,
/* ignore if rc_dev is NULL or status is shunned */
spin_lock_irqsave(&data->lock, flags);
- if (data->rc_dev && (data->status & PICOLCD_CIR_SHUN)) {
+ if (!data->rc_dev || (data->status & PICOLCD_CIR_SHUN)) {
spin_unlock_irqrestore(&data->lock, flags);
return 1;
}
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [patch] HID: picoLCD: fix a NULL test in picolcd_raw_cir()
2012-09-07 6:47 [patch] HID: picoLCD: fix a NULL test in picolcd_raw_cir() Dan Carpenter
@ 2012-09-07 21:38 ` Bruno Prémont
2012-09-08 19:20 ` Jiri Kosina
0 siblings, 1 reply; 3+ messages in thread
From: Bruno Prémont @ 2012-09-07 21:38 UTC (permalink / raw)
To: Dan Carpenter, Jiri Kosina; +Cc: linux-input, kernel-janitors
On Fri, 07 September 2012 Dan Carpenter <dan.carpenter@oracle.com> wrote:
> Smatch complains that the NULL checking in this function is not
> consistent and could lead to a NULL dereference. The comments say that
> we should return here if rc_dev is NULL so I've changed the test to
> match the comment.
Good catch! Currently thanks to HID mutex around probe()/remove()
we should never be able to see rc_dev being NULL here.
Once the probe()/remove() mutex gets tied to hw_start()/hw_stop() or
otherwise changed to allow drivers to chat with device during probe()
->rc_dev might be NULL in picolcd_raw_cir().
Reviewed-by: Bruno Prémont <bonbons@linux-vserver.org>
Jiri, please apply to picolcd branch.
Thanks,
Bruno
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> Only needed in linux-next. This is a static checker fix and I don't
> have the hardware to test it. Please review carefully.
>
> diff --git a/drivers/hid/hid-picolcd_cir.c b/drivers/hid/hid-picolcd_cir.c
> index 14c5ce0..13ca919 100644
> --- a/drivers/hid/hid-picolcd_cir.c
> +++ b/drivers/hid/hid-picolcd_cir.c
> @@ -51,7 +51,7 @@ int picolcd_raw_cir(struct picolcd_data *data,
>
> /* ignore if rc_dev is NULL or status is shunned */
> spin_lock_irqsave(&data->lock, flags);
> - if (data->rc_dev && (data->status & PICOLCD_CIR_SHUN)) {
> + if (!data->rc_dev || (data->status & PICOLCD_CIR_SHUN)) {
> spin_unlock_irqrestore(&data->lock, flags);
> return 1;
> }
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [patch] HID: picoLCD: fix a NULL test in picolcd_raw_cir()
2012-09-07 21:38 ` Bruno Prémont
@ 2012-09-08 19:20 ` Jiri Kosina
0 siblings, 0 replies; 3+ messages in thread
From: Jiri Kosina @ 2012-09-08 19:20 UTC (permalink / raw)
To: Bruno Prémont; +Cc: Dan Carpenter, linux-input, kernel-janitors
On Fri, 7 Sep 2012, Bruno Prémont wrote:
> > Smatch complains that the NULL checking in this function is not
> > consistent and could lead to a NULL dereference. The comments say that
> > we should return here if rc_dev is NULL so I've changed the test to
> > match the comment.
>
> Good catch! Currently thanks to HID mutex around probe()/remove()
> we should never be able to see rc_dev being NULL here.
>
>
> Once the probe()/remove() mutex gets tied to hw_start()/hw_stop() or
> otherwise changed to allow drivers to chat with device during probe()
> ->rc_dev might be NULL in picolcd_raw_cir().
>
>
> Reviewed-by: Bruno Prémont <bonbons@linux-vserver.org>
Applied, thanks Dan, thanks Bruno.
--
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-09-08 19:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-07 6:47 [patch] HID: picoLCD: fix a NULL test in picolcd_raw_cir() Dan Carpenter
2012-09-07 21:38 ` Bruno Prémont
2012-09-08 19:20 ` Jiri Kosina
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).