Re: [PATCH v1 1/1] usb: gadget: NCM: NULL pointer dereference in eth_start_xmit

From: One Thousand Gnomes
Date: Mon Apr 25 2016 - 12:52:58 EST


On Mon, 25 Apr 2016 16:25:03 +0100
<jim_baxter@xxxxxxxxxx> wrote:

> From: Jim Baxter <jim_baxter@xxxxxxxxxx>
>
> "Unable to handle kernel NULL pointer dereference at virtual address
> 00000078" is reported with "PC is at eth_start_xmit+0x19c/0x378 [u_ether]"
>
> The failure scenario is seen when closing the NCM connection while the
> TCP/IPv6 stack is still trying to transmit over NCM.
>
> Defensive code is missing from commit
> 6d3865f9d41f15ddbcecaa6722871fc0db21d7ab
> "usb: gadget: NCM: Add transmit multi-frame."

This looks inadequate. Surely you also need to hold dev->lock ?

Also it'll also crash at the no zlp test with the same problem.

Alan