Subject: Re: WARNING in dma_map_page_attrs

From: "[email-masked]" <[email-masked]>
Date: Wed, 28 Oct 2020 18:31:08 +0100

On Tue, Oct 27, 2020 at 12:52:30PM +0000, Parav Pandit wrote:
> 
> > From: [email-masked] <[email-masked]>
> > Sent: Tuesday, October 27, 2020 1:41 PM
> > 
> > On Mon, Oct 26, 2020 at 05:23:48AM +0000, Parav Pandit wrote:
> > > Hi Christoph,
> > >
> > > > From: Jakub Kicinski <[email-masked]>
> > > > Sent: Saturday, October 24, 2020 11:45 PM
> > > >
> > > > CC: rdma, looks like rdma from the stack trace
> > > >
> > > > On Fri, 23 Oct 2020 20:07:17 -0700 syzbot wrote:
> > > > > syzbot has found a reproducer for the following issue on:
> > > > >
> > > > > HEAD commit:    3cb12d27 Merge tag 'net-5.10-rc1' of
> > git://git.kernel.org/..
> > >
> > > In [1] you mentioned that dma_mask should not be set for dma_virt_ops.
> > > So patch [2] removed it.
> > >
> > > But check to validate the dma mask for all dma_ops was added in [3].
> > >
> > > What is the right way? Did I misunderstood your comment about
> > dma_mask in [1]?
> > 
> > No, I did not say we don't need the mask.  I said copying over the various
> > dma-related fields from the parent is bogus.
> > 
> > I think rxe (and ther other drivers/infiniband/sw drivers) need a simple
> > dma_coerce_mask_and_coherent and nothing else.
> 
> I see. Does below fix make sense?
> Is DMA_MASK_NONE correct?

DMA_MASK_NONE is gone in 5.10.  I think you want DMA_BIT_MASK(64).
That isn't actually correct for 32-bit platforms, but good enough.