Re: [PATCH net] r8152: fix the list rx_done may be used without initialization

2017-03-21 Thread David Miller
From: Hayes Wang 
Date: Tue, 14 Mar 2017 14:15:20 +0800

> The list rx_done would be initialized when the linking on occurs.
> Therefore, if a napi is scheduled without any linking on before,
> the following kernel panic would happen.
> 
>   BUG: unable to handle kernel NULL pointer dereference at 008
>   IP: [] r8152_poll+0xe1e/0x1210 [r8152]
>   PGD 0
>   Oops: 0002 [#1] SMP
> 
> Signed-off-by: Hayes Wang 

Applied.


RE: [PATCH net] r8152: fix the list rx_done may be used without initialization

2017-03-14 Thread Hayes Wang
Petr Vorel [mailto:petr.vo...@gmail.com]
> Sent: Tuesday, March 14, 2017 4:54 PM
[...]
> thanks for fixing!

Does it work?

Best Regards,
Hayes




Re: [PATCH net] r8152: fix the list rx_done may be used without initialization

2017-03-14 Thread Petr Vorel
Hi Hayes,

> The list rx_done would be initialized when the linking on occurs.
> Therefore, if a napi is scheduled without any linking on before,
> the following kernel panic would happen.

>   BUG: unable to handle kernel NULL pointer dereference at 008
>   IP: [] r8152_poll+0xe1e/0x1210 [r8152]
>   PGD 0
>   Oops: 0002 [#1] SMP

thanks for fixing!

Kind regards,
Petr


[PATCH net] r8152: fix the list rx_done may be used without initialization

2017-03-14 Thread Hayes Wang
The list rx_done would be initialized when the linking on occurs.
Therefore, if a napi is scheduled without any linking on before,
the following kernel panic would happen.

BUG: unable to handle kernel NULL pointer dereference at 008
IP: [] r8152_poll+0xe1e/0x1210 [r8152]
PGD 0
Oops: 0002 [#1] SMP

Signed-off-by: Hayes Wang 
---
 drivers/net/usb/r8152.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c
index 986243c..bb3eedd 100644
--- a/drivers/net/usb/r8152.c
+++ b/drivers/net/usb/r8152.c
@@ -1362,6 +1362,7 @@ static int alloc_all_mem(struct r8152 *tp)
spin_lock_init(>rx_lock);
spin_lock_init(>tx_lock);
INIT_LIST_HEAD(>tx_free);
+   INIT_LIST_HEAD(>rx_done);
skb_queue_head_init(>tx_queue);
skb_queue_head_init(>rx_queue);
 
-- 
2.7.4