Re: [patch 1/2] input/tps6507x-ts: dereferencing before checking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 31, 2010 at 12:17:23PM -0700, Dmitry Torokhov wrote:
> > --- a/drivers/input/touchscreen/tps6507x-ts.c
> > +++ b/drivers/input/touchscreen/tps6507x-ts.c
> > @@ -355,10 +355,11 @@ static int __devexit tps6507x_ts_remove(struct platform_device *pdev)
> >  {
> >  	struct tps6507x_dev *tps6507x_dev = platform_get_drvdata(pdev);
> >  	struct tps6507x_ts *tsc = tps6507x_dev->ts;
> > -	struct input_dev *input_dev = tsc->input_dev;
> > +	struct input_dev *input_dev;
> >  
> >  	if (!tsc)
> >  		return 0;
> > +	input_dev = tsc->input_dev;
> >  
> 
> Why would tsc ever be NULL?
> 
> Also I really do not like that pdev's driver data that is supposed to be
> driver-private data is being used by the parent. Parent should be using
> it's own drvdata and leave child's data alone. We should probably do in
> platform code what I2C is about to do and clear drvdata on unbind
> automatically to prevent this kind of misuse.
> 

Uh...  Sorry I was just messing with my static checker and didn't look
into it deeply enough.

All your points are valid ones of course.  This is fairly new driver so
we might be able to ask the maintainer.  :)  Todd, do you want to help
us out?

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux