Hi Randy,
I have tested my patch, and it is ok now.
Could you please try patching again? Sorry for previous trouble.
Thank you!
Jinqiu
------------------------------------------------------
This patch fixes bugzilla #13853:
https://bugzilla.kernel.org/show_bug.cgi?id=13853
The patch removes dereference of 'dev' after testing for NULL.
Signed-off-by: Jinqiu Yang<[email protected]>
---
ariadne.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
--- a/drivers/net/ariadne.c 2011-03-04 11:16:42.332164362 -0500
+++ b/drivers/net/ariadne.c 2011-03-05 21:11:52.949164759 -0500
@@ -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;
@@ -430,6 +430,7 @@ static irqreturn_t ariadne_interrupt(int
return IRQ_NONE;
}
+ lance = (struct Am79C960 *)dev->base_addr;
lance->RAP = CSR0; /* PCnet-ISA Controller Status */
if (!(lance->RDP & INTR)) /* Check if any interrupt has been */
On Sun, 6 Mar 2011 02:08:32 -0500 [email protected] wrote:
> Hi Randy,
> I have tested my patch, and it is ok now.
> Could you please try patching again? Sorry for previous trouble.
> Thank you!
Acked-by: Randy Dunlap <[email protected]>
Thanks.
> Jinqiu
> ------------------------------------------------------
> This patch fixes bugzilla #13853:
> https://bugzilla.kernel.org/show_bug.cgi?id=13853
>
> The patch removes dereference of 'dev' after testing for NULL.
>
> Signed-off-by: Jinqiu Yang<[email protected]>
> ---
> ariadne.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
> --- a/drivers/net/ariadne.c 2011-03-04 11:16:42.332164362 -0500
> +++ b/drivers/net/ariadne.c 2011-03-05 21:11:52.949164759 -0500
> @@ -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;
> @@ -430,6 +430,7 @@ static irqreturn_t ariadne_interrupt(int
> return IRQ_NONE;
> }
>
> + lance = (struct Am79C960 *)dev->base_addr;
> lance->RAP = CSR0; /* PCnet-ISA Controller Status */
>
> if (!(lance->RDP & INTR)) /* Check if any interrupt has been */
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
On Sun, Mar 6, 2011 at 20:11, Randy Dunlap <[email protected]> wrote:
> On Sun, 6 Mar 2011 02:08:32 -0500 [email protected] wrote:
>
>> Hi Randy,
>> I have tested my patch, and it is ok now.
>> Could you please try patching again? Sorry for previous trouble.
>> Thank you!
>
> Acked-by: Randy Dunlap <[email protected]>
Acked-by: Geert Uytterhoeven <[email protected]>
>> ------------------------------------------------------
>> This patch fixes bugzilla #13853:
>> https://bugzilla.kernel.org/show_bug.cgi?id=13853
>>
>> The patch removes dereference of 'dev' after testing for NULL.
>>
>> Signed-off-by: Jinqiu Yang<[email protected]>
>> ---
>> ariadne.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
>> --- a/drivers/net/ariadne.c 2011-03-04 11:16:42.332164362 -0500
>> +++ b/drivers/net/ariadne.c 2011-03-05 21:11:52.949164759 -0500
>> @@ -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;
>> @@ -430,6 +430,7 @@ static irqreturn_t ariadne_interrupt(int
>> return IRQ_NONE;
>> }
>>
>> + lance = (struct Am79C960 *)dev->base_addr;
>> lance->RAP = CSR0; /* PCnet-ISA Controller Status */
>>
>> if (!(lance->RDP & INTR)) /* Check if any interrupt has been */
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
From: Geert Uytterhoeven <[email protected]>
Date: Sun, 6 Mar 2011 21:00:13 +0100
> On Sun, Mar 6, 2011 at 20:11, Randy Dunlap <[email protected]> wrote:
>> On Sun, 6 Mar 2011 02:08:32 -0500 [email protected] wrote:
>>
>>> Hi Randy,
>>> I have tested my patch, and it is ok now.
>>> Could you please try patching again? Sorry for previous trouble.
>>> Thank you!
>>
>> Acked-by: Randy Dunlap <[email protected]>
>
> Acked-by: Geert Uytterhoeven <[email protected]>
People really don't actually read patches, I think.
Show me how dev can even be NULL here, it simply can't.
So the correct fix is to remove the dev==NULL check altogether.