RE: [PATCH v2] net: fec: Fixed panic problem with non-tso

2017-01-17 Thread Andy Duan
From: Eric Dumazet <eric.duma...@gmail.com> Sent: Wednesday, January 18, 2017 
1:02 PM
>To: Yuusuke Ashiduka <ashid...@jp.fujitsu.com>
>Cc: Andy Duan <fugang.d...@nxp.com>; netdev@vger.kernel.org
>Subject: Re: [PATCH v2] net: fec: Fixed panic problem with non-tso
>
>On Wed, 2017-01-18 at 13:11 +0900, Yuusuke Ashiduka wrote:
>> If highmem and 2GB or more of memory are valid, "this_frag-> page.p"
>> indicates the highmem area, so the result of page_address() is NULL
>> and panic occurs.
>>
>> This commit fixes this by using the skb_frag_dma_map() helper, which
>> takes care of mapping the skb fragment properly. Additionally, the
>> type of mapping is now tracked, so it can be unmapped using
>> dma_unmap_page or dma_unmap_single when appropriate.
>
>
>I would prefer we fix the root cause, instead of tweaking all legacy drivers 
>out
>there :/
>
>
I agree with you.

The driver always doesn't support highmem. The fragment shouldn't  allocate 
from highmem except the common code bug.
If request the driver to support NETIF_F_HIGHDMA feature, we also add highmem 
support for tso driver.

Andy


Re: [PATCH v2] net: fec: Fixed panic problem with non-tso

2017-01-17 Thread Eric Dumazet
On Wed, 2017-01-18 at 13:11 +0900, Yuusuke Ashiduka wrote:
> If highmem and 2GB or more of memory are valid,
> "this_frag-> page.p" indicates the highmem area,
> so the result of page_address() is NULL and panic occurs.
> 
> This commit fixes this by using the skb_frag_dma_map() helper,
> which takes care of mapping the skb fragment properly. Additionally,
> the type of mapping is now tracked, so it can be unmapped using
> dma_unmap_page or dma_unmap_single when appropriate.


I would prefer we fix the root cause, instead of tweaking all legacy
drivers out there :/