diff mbox series

r8152: fix the list rx_done may be used without initialization

Message ID 1507169962-6653-2-git-send-email-acelan.kao@canonical.com
State New
Headers show
Series r8152: fix the list rx_done may be used without initialization | expand

Commit Message

AceLan Kao Oct. 5, 2017, 2:19 a.m. UTC
From: hayeswang <hayeswang@realtek.com>

BugLink: http://bugs.launchpad.net/bugs/1720977

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 000000000000008
	IP: [<ffffffffc085efde>] r8152_poll+0xe1e/0x1210 [r8152]
	PGD 0
	Oops: 0002 [#1] SMP

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 98d068ab52b4b11d403995ed14154660797e7136)
Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
---
 drivers/net/usb/r8152.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Po-Hsu Lin Oct. 5, 2017, 5:42 a.m. UTC | #1
Clean cherry-pick and positive test result, therefore:
Acked-by: Po-Hsu Lin <po-hsu.lin@canonical.com>
Kleber Sacilotto de Souza Oct. 5, 2017, 8:09 a.m. UTC | #2
On 10/05/2017 04:19 AM, AceLan Kao wrote:
> From: hayeswang <hayeswang@realtek.com>
>
> BugLink: http://bugs.launchpad.net/bugs/1720977
>
> 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 000000000000008
> 	IP: [<ffffffffc085efde>] r8152_poll+0xe1e/0x1210 [r8152]
> 	PGD 0
> 	Oops: 0002 [#1] SMP
>
> Signed-off-by: Hayes Wang <hayeswang@realtek.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> (cherry picked from commit 98d068ab52b4b11d403995ed14154660797e7136)
> Signed-off-by: AceLan Kao <acelan.kao@canonical.com>

Trivial fix, good test results and SRU justification.

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

> ---
>  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 a921f86..dadea19 100644
> --- a/drivers/net/usb/r8152.c
> +++ b/drivers/net/usb/r8152.c
> @@ -1350,6 +1350,7 @@ static int alloc_all_mem(struct r8152 *tp)
>  	spin_lock_init(&tp->rx_lock);
>  	spin_lock_init(&tp->tx_lock);
>  	INIT_LIST_HEAD(&tp->tx_free);
> +	INIT_LIST_HEAD(&tp->rx_done);
>  	skb_queue_head_init(&tp->tx_queue);
>  	skb_queue_head_init(&tp->rx_queue);
>
>
Thadeu Lima de Souza Cascardo Oct. 9, 2017, 7:45 p.m. UTC | #3
Applied to xenial and zesty master-next branches.

Thanks.
Cascardo.

Applied-to: xenial/master-next
Applied-to: zesty/master-next
diff mbox series

Patch

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