Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

2 views
Skip to first unread message

Jinqiu

unread,
Mar 2, 2011, 9:30:02 PM3/2/11
to
This patch fixes bug #13853 .This still exists in latest version.
'dev' is dereferenced before testing for NULL.

Signed-off-by: Jinqiu Yang<crin...@gmail.com>
--- 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 */


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Li Zefan

unread,
Mar 2, 2011, 9:50:02 PM3/2/11
to
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 net...@vger.kernel.org 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<crin...@gmail.com>
> --- 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.

Wolfram Sang

unread,
Mar 3, 2011, 3:20:02 AM3/3/11
to
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 net...@vger.kernel.org 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/ |

signature.asc

Randy Dunlap

unread,
Mar 3, 2011, 11:50:01 AM3/3/11
to
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 net...@vger.kernel.org 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<crin...@gmail.com>
> > --- 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 ***

Randy Dunlap

unread,
Mar 3, 2011, 11:50:01 AM3/3/11
to
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 net...@vger.kernel.org in particular.
>
> Yup. Using scripts/get_maintainers.pl is the way to go here.

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

Randy Dunlap

unread,
Mar 3, 2011, 2:30:01 PM3/3/11
to
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<crin...@gmail.com>
> --- 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 ***

Randy Dunlap

unread,
Mar 3, 2011, 2:30:02 PM3/3/11
to
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<crin...@gmail.com>
> --- 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 ***

Jinqiu

unread,
Mar 3, 2011, 4:20:02 PM3/3/11
to

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<crin...@gmail.com>
>> --- 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

Li Zefan

unread,
Mar 3, 2011, 9:10:01 PM3/3/11
to
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.

0 new messages