2011-03-03 02:20:23

by Jinqiu

[permalink] [raw]
Subject: [patch] Fix bug #13853: dereference pointer 'dev' before null check

This patch fixes bug #13853 .This still exists in latest version.
'dev' is dereferenced before testing for NULL.

Signed-off-by: Jinqiu Yang<[email protected]>
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -420,7 +420,7 @@ static inline void ariadne_reset(struct
static irqreturn_t ariadne_interrupt(int irq, void *data)
{
struct net_device *dev = (struct net_device *) data;
- volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
+ volatile struct Am79C960 *lance;
struct ariadne_private *priv;
int csr0, boguscnt;
int handled = 0;
@@ -429,6 +429, 7 @@ static irqreturn_t ariadne_interrupt(int
printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
return IRQ_NONE;
}
+ lance = (struct Am79C960 *)dev->base_addr;

lance->RAP = CSR0; /* PCnet-ISA Controller Status */




2011-03-03 02:48:03

by Li Zefan

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check

So you've been told to read Documentation/SubmittingPatches
and Documentation/email-clients.txt, but there are still quite
a few problems in your patch..

Don't ever mention "bug #13853", because this number makes no sense
for everyone except you. A proper subject may be:

[PATCH] ariadne: fix possible null dereference.

And please send your patches to proper maintainers and mailing list,
David Miller and [email protected] in particular.

Jinqiu wrote:
> This patch fixes bug #13853 .This still exists in latest version.

Of course it exists, otherwise your patch won't be applied, so just
remove this line from your changelog.

> 'dev' is dereferenced before testing for NULL.
>
> Signed-off-by: Jinqiu Yang<[email protected]>
> --- a/drivers/net/ariadne.c
> +++ b/drivers/net/ariadne.c
> @@ -420,7 +420,7 @@ static inline void ariadne_reset(struct
> static irqreturn_t ariadne_interrupt(int irq, void *data)
> {
> struct net_device *dev = (struct net_device *) data;
> - volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
> + volatile struct Am79C960 *lance;

You still haven't fix your email client. You should notice the tabs have
been turned into spaces.

Please make sure you fix this (and other issues) before sending out the
patch again.

> struct ariadne_private *priv;
> int csr0, boguscnt;
> int handled = 0;
> @@ -429,6 +429, 7 @@ static irqreturn_t ariadne_interrupt(int
> printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
> return IRQ_NONE;
> }
> + lance = (struct Am79C960 *)dev->base_addr;
>
> lance->RAP = CSR0; /* PCnet-ISA Controller Status */
>
>
>
>
> --

2011-03-03 08:12:01

by Wolfram Sang

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check

Hi,

> Don't ever mention "bug #13853", because this number makes no sense
> for everyone except you. A proper subject may be:
>
> [PATCH] ariadne: fix possible null dereference.

I agree for the subject line. Still, in the body or maybe after the "---" I'd
think it makes sense, so it is known there is a bugzilla entry to close? Also,
using search engines, one will be able to dig up the patch.

> And please send your patches to proper maintainers and mailing list,
> David Miller and [email protected] in particular.

Yup. Using scripts/get_maintainers.pl is the way to go here.

Thanks,

Wolfram

--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |


Attachments:
(No filename) (765.00 B)
signature.asc (197.00 B)
Digital signature
Download all attachments

2011-03-03 16:41:29

by Randy Dunlap

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check

On Thu, 3 Mar 2011 09:11:56 +0100 Wolfram Sang wrote:

> Hi,
>
> > Don't ever mention "bug #13853", because this number makes no sense
> > for everyone except you. A proper subject may be:
> >
> > [PATCH] ariadne: fix possible null dereference.
>
> I agree for the subject line. Still, in the body or maybe after the "---" I'd
> think it makes sense, so it is known there is a bugzilla entry to close? Also,
> using search engines, one will be able to dig up the patch.

It should just refer to the full bugzilla #13853 URL:
https://bugzilla.kernel.org/show_bug.cgi?id=13853

> > And please send your patches to proper maintainers and mailing list,
> > David Miller and [email protected] in particular.
>
> Yup. Using scripts/get_maintainers.pl is the way to go here.


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-03-03 16:42:29

by Randy Dunlap

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check

On Thu, 03 Mar 2011 10:50:02 +0800 Li Zefan wrote:

> So you've been told to read Documentation/SubmittingPatches
> and Documentation/email-clients.txt, but there are still quite
> a few problems in your patch..
>
> Don't ever mention "bug #13853", because this number makes no sense
> for everyone except you. A proper subject may be:
>
> [PATCH] ariadne: fix possible null dereference.
>
> And please send your patches to proper maintainers and mailing list,
> David Miller and [email protected] in particular.
>
> Jinqiu wrote:
> > This patch fixes bug #13853 .This still exists in latest version.
>
> Of course it exists, otherwise your patch won't be applied, so just
> remove this line from your changelog.
>
> > 'dev' is dereferenced before testing for NULL.
> >
> > Signed-off-by: Jinqiu Yang<[email protected]>
> > --- a/drivers/net/ariadne.c
> > +++ b/drivers/net/ariadne.c
> > @@ -420,7 +420,7 @@ static inline void ariadne_reset(struct
> > static irqreturn_t ariadne_interrupt(int irq, void *data)
> > {
> > struct net_device *dev = (struct net_device *) data;
> > - volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
> > + volatile struct Am79C960 *lance;
>
> You still haven't fix your email client. You should notice the tabs have
> been turned into spaces.

Uh, ariadne.c does not use tabs to begin its lines... it uses spaces. :(

> Please make sure you fix this (and other issues) before sending out the
> patch again.
>
> > struct ariadne_private *priv;
> > int csr0, boguscnt;
> > int handled = 0;
> > @@ -429,6 +429, 7 @@ static irqreturn_t ariadne_interrupt(int
> > printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
> > return IRQ_NONE;
> > }
> > + lance = (struct Am79C960 *)dev->base_addr;
> >
> > lance->RAP = CSR0; /* PCnet-ISA Controller Status */
> >
> >
> >
> >
> > --


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-03-03 19:23:57

by Randy Dunlap

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check

On Wed, 02 Mar 2011 21:20:21 -0500 Jinqiu wrote:

> This patch fixes bug #13853 .This still exists in latest version.
> 'dev' is dereferenced before testing for NULL.
>
> Signed-off-by: Jinqiu Yang<[email protected]>
> --- a/drivers/net/ariadne.c
> +++ b/drivers/net/ariadne.c
> @@ -420,7 +420,7 @@ static inline void ariadne_reset(struct
> static irqreturn_t ariadne_interrupt(int irq, void *data)
> {

It looks like thunderbird has split a long line into multiple lines for you.
This is bad. See if Documentation/email-clients.txt can help you out any.


> struct net_device *dev = (struct net_device *) data;
> - volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
> + volatile struct Am79C960 *lance;
> struct ariadne_private *priv;
> int csr0, boguscnt;
> int handled = 0;
> @@ -429,6 +429, 7 @@ static irqreturn_t ariadne_interrupt(int
> printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
> return IRQ_NONE;
> }
> + lance = (struct Am79C960 *)dev->base_addr;
>
> lance->RAP = CSR0; /* PCnet-ISA Controller Status */
>
>
>
>
> --


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-03-03 19:29:28

by Randy Dunlap

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check

On Wed, 02 Mar 2011 21:20:21 -0500 Jinqiu wrote:

> This patch fixes bug #13853 .This still exists in latest version.
> 'dev' is dereferenced before testing for NULL.
>
> Signed-off-by: Jinqiu Yang<[email protected]>
> --- a/drivers/net/ariadne.c
> +++ b/drivers/net/ariadne.c
> @@ -420,7 +420,7 @@ static inline void ariadne_reset(struct
> static irqreturn_t ariadne_interrupt(int irq, void *data)
> {
> struct net_device *dev = (struct net_device *) data;
> - volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
> + volatile struct Am79C960 *lance;
> struct ariadne_private *priv;
> int csr0, boguscnt;
> int handled = 0;

Did you patch generator tool insert tabs in this patch?

The line below should be formatted as:

@@ -429,6 +429,7 @@ static irqreturn_t ariadne_interrupt(int

with no space between 429, and 7.

> @@ -429,6 +429, 7 @@ static irqreturn_t ariadne_interrupt(int
> printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
> return IRQ_NONE;
> }
> + lance = (struct Am79C960 *)dev->base_addr;
>
> lance->RAP = CSR0; /* PCnet-ISA Controller Status */
>
>
>
>
> --


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-03-03 21:19:24

by Jinqiu

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check


On 11-3-3 下午2:29, Randy Dunlap wrote:
> On Wed, 02 Mar 2011 21:20:21 -0500 Jinqiu wrote:
>
>> This patch fixes bug #13853 .This still exists in latest version.
>> 'dev' is dereferenced before testing for NULL.
>>
>> Signed-off-by: Jinqiu Yang<[email protected]>
>> --- a/drivers/net/ariadne.c
>> +++ b/drivers/net/ariadne.c
>> @@ -420,7 +420,7 @@ static inline void ariadne_reset(struct
>> static irqreturn_t ariadne_interrupt(int irq, void *data)
>> {
>> struct net_device *dev = (struct net_device *) data;
>> - volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr;
>> + volatile struct Am79C960 *lance;
>> struct ariadne_private *priv;
>> int csr0, boguscnt;
>> int handled = 0;
> Did you patch generator tool insert tabs in this patch?
No, I did not. This is weird. The original patch is fine.
I would fix email client issues.
Thanks for your help! :-)

Jinqiu
> The line below should be formatted as:
>
> @@ -429,6 +429,7 @@ static irqreturn_t ariadne_interrupt(int
>
> with no space between 429, and 7.
>
>> @@ -429,6 +429, 7 @@ static irqreturn_t ariadne_interrupt(int
>> printk(KERN_WARNING "ariadne_interrupt(): irq for unknown device.\n");
>> return IRQ_NONE;
>> }
>> + lance = (struct Am79C960 *)dev->base_addr;
>>
>> lance->RAP = CSR0; /* PCnet-ISA Controller Status */
>>
>>
>>
>>
>> --
>
> ---
> ~Randy
> *** Remember to use Documentation/SubmitChecklist when testing your code ***

2011-03-04 02:01:41

by Li Zefan

[permalink] [raw]
Subject: Re: [patch] Fix bug #13853: dereference pointer 'dev' before null check

Randy Dunlap wrote:
> On Thu, 3 Mar 2011 09:11:56 +0100 Wolfram Sang wrote:
>
>> Hi,
>>
>>> Don't ever mention "bug #13853", because this number makes no sense
>>> for everyone except you. A proper subject may be:
>>>
>>> [PATCH] ariadne: fix possible null dereference.
>>
>> I agree for the subject line. Still, in the body or maybe after the "---" I'd
>> think it makes sense, so it is known there is a bugzilla entry to close? Also,
>> using search engines, one will be able to dig up the patch.
>
> It should just refer to the full bugzilla #13853 URL:
> https://bugzilla.kernel.org/show_bug.cgi?id=13853
>

Ok, then this should be made clear, for example add the URL in the changelog.