linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Input: cyttsp4 - fix potential NULL pointer dereference in cyttsp4_watchdog_timer()
@ 2013-08-26  4:55 Wei Yongjun
  2013-08-26  5:26 ` Dmitry Torokhov
  0 siblings, 1 reply; 3+ messages in thread
From: Wei Yongjun @ 2013-08-26  4:55 UTC (permalink / raw)
  To: javier, dmitry.torokhov, fery; +Cc: yongjun_wei, linux-input

From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>

The dereference should be moved below the NULL test.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
---
 drivers/input/touchscreen/cyttsp4_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/touchscreen/cyttsp4_core.c b/drivers/input/touchscreen/cyttsp4_core.c
index 963da05..ffa8e35 100644
--- a/drivers/input/touchscreen/cyttsp4_core.c
+++ b/drivers/input/touchscreen/cyttsp4_core.c
@@ -1244,11 +1244,11 @@ static void cyttsp4_watchdog_timer(unsigned long handle)
 {
 	struct cyttsp4 *cd = (struct cyttsp4 *)handle;
 
-	dev_vdbg(cd->dev, "%s: Watchdog timer triggered\n", __func__);
-
 	if (!cd)
 		return;
 
+	dev_vdbg(cd->dev, "%s: Watchdog timer triggered\n", __func__);
+
 	if (!work_pending(&cd->watchdog_work))
 		schedule_work(&cd->watchdog_work);
 


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

* Re: [PATCH] Input: cyttsp4 - fix potential NULL pointer dereference in cyttsp4_watchdog_timer()
  2013-08-26  4:55 [PATCH] Input: cyttsp4 - fix potential NULL pointer dereference in cyttsp4_watchdog_timer() Wei Yongjun
@ 2013-08-26  5:26 ` Dmitry Torokhov
  2013-08-26  5:54   ` Ferruh Yigit
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Torokhov @ 2013-08-26  5:26 UTC (permalink / raw)
  To: Wei Yongjun, javier, fery; +Cc: yongjun_wei, linux-input

Wei Yongjun <weiyj.lk@gmail.com> wrote:
>From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>
>The dereference should be moved below the NULL test.
>
>Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>---
> drivers/input/touchscreen/cyttsp4_core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/input/touchscreen/cyttsp4_core.c
>b/drivers/input/touchscreen/cyttsp4_core.c
>index 963da05..ffa8e35 100644
>--- a/drivers/input/touchscreen/cyttsp4_core.c
>+++ b/drivers/input/touchscreen/cyttsp4_core.c
>@@ -1244,11 +1244,11 @@ static void cyttsp4_watchdog_timer(unsigned
>long handle)
> {
> 	struct cyttsp4 *cd = (struct cyttsp4 *)handle;
> 
>-	dev_vdbg(cd->dev, "%s: Watchdog timer triggered\n", __func__);
>-
> 	if (!cd)
> 		return;
> 

Actually this test does not make any sense and we should rather remove it.

>+	dev_vdbg(cd->dev, "%s: Watchdog timer triggered\n", __func__);
>+
> 	if (!work_pending(&cd->watchdog_work))
> 		schedule_work(&cd->watchdog_work);
> 

Hi Wei,
Thanks.

-- 
Dmitry

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

* Re: [PATCH] Input: cyttsp4 - fix potential NULL pointer dereference in cyttsp4_watchdog_timer()
  2013-08-26  5:26 ` Dmitry Torokhov
@ 2013-08-26  5:54   ` Ferruh Yigit
  0 siblings, 0 replies; 3+ messages in thread
From: Ferruh Yigit @ 2013-08-26  5:54 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Wei Yongjun, javier, yongjun_wei, linux-input

On 08/26/2013 08:26 AM, Dmitry Torokhov wrote:
> Wei Yongjun <weiyj.lk@gmail.com> wrote:
>> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>>
>> The dereference should be moved below the NULL test.
>>
>> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
>> ---
>> drivers/input/touchscreen/cyttsp4_core.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/input/touchscreen/cyttsp4_core.c
>> b/drivers/input/touchscreen/cyttsp4_core.c
>> index 963da05..ffa8e35 100644
>> --- a/drivers/input/touchscreen/cyttsp4_core.c
>> +++ b/drivers/input/touchscreen/cyttsp4_core.c
>> @@ -1244,11 +1244,11 @@ static void cyttsp4_watchdog_timer(unsigned
>> long handle)
>> {
>>      struct cyttsp4 *cd = (struct cyttsp4 *)handle;
>>
>> -    dev_vdbg(cd->dev, "%s: Watchdog timer triggered\n", __func__);
>> -
>>      if (!cd)
>>              return;
>>
> Actually this test does not make any sense and we should rather remove it.
Agreed on removing it. For cases "cd" can be NULL/invalid, watchdog
already stopped:
1- in probe(), when timer set, cd allocated and NULL check done.
2- in probe(), in error path after timer set, watchdog stopped before
"cd" freed
3- in cyttsp4_remove(), watchdog stopped before "cd" freed

>
>> +    dev_vdbg(cd->dev, "%s: Watchdog timer triggered\n", __func__);
>> +
>>      if (!work_pending(&cd->watchdog_work))
>>              schedule_work(&cd->watchdog_work);
>>
> Hi Wei,
> Thanks.
>

This message and any attachments may contain Cypress (or its subsidiaries) confidential information. If it has been received in error, please advise the sender and immediately delete this message.

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

end of thread, other threads:[~2013-08-26  6:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-26  4:55 [PATCH] Input: cyttsp4 - fix potential NULL pointer dereference in cyttsp4_watchdog_timer() Wei Yongjun
2013-08-26  5:26 ` Dmitry Torokhov
2013-08-26  5:54   ` Ferruh Yigit

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).