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