[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAPnfmXK50enZiRbJyoUJJ1jcwfc3BDSeVeQqq9-YJN5hGiLaDg@mail.gmail.com>
Date: Mon, 1 Apr 2024 13:24:49 -0700
From: Chris Leech <cleech@...hat.com>
To: Greg KH <gregkh@...uxfoundation.org>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>, Nilesh Javali <njavali@...vell.com>,
Christoph Hellwig <hch@....de>, linux-kernel@...r.kernel.org
Subject: Re: [GIT PULL] Char/Misc driver changes for 6.9-rc1
On Wed, Mar 27, 2024 at 10:51 AM Greg KH <gregkh@...uxfoundation.org> wrote:
>
> On Wed, Mar 27, 2024 at 09:56:43AM -0700, Linus Torvalds wrote:
> > On Thu, 21 Mar 2024 at 06:02, Greg KH <gregkh@...uxfoundation.org> wrote:
> > >
> > > Char/Misc and other driver subsystem updates for 6.9-rc1
> > [...]
> > > Chris Leech (4):
> > > uio: introduce UIO_MEM_DMA_COHERENT type
> > > cnic,bnx2,bnx2x: use UIO_MEM_DMA_COHERENT
> > > uio_pruss: UIO_MEM_DMA_COHERENT conversion
> > > uio_dmem_genirq: UIO_MEM_DMA_COHERENT conversion
> >
> > So this was all broken, and doesn't even build on 32-bit architectures
> > with 64-bit physical addresses as reported by at least Guenter.
> > Notably that includes i386 allmodconfig.
> >
> > I fixed up the build, but I did it the mindless way. I noted in the
> > commit message that I think the correct fix is likely to make
> > 'uio_mem.mem' be a union of 'physaddr_t' and 'void *' and just always
> > use the right member. UIO_MEM_LOGICAL and UIO_MEM_VIRTUAL should
> > probably use the pointer thing too.
> >
> > I also *suspect* that using 'physaddr_t' is in itself pointless,
> > because I *think* the physical addresses are always page-aligned
> > anyway, and it would be better if the uio_mem thing just contained the
> > pfn instead. Which could just be 'unsigned long pfn'.
> >
> > So there are proper cleanups that could be done in that area.
> >
> > That's not what I did, though. I just fixed up the bad casts.
> >
> > There may be other fixes pending out there, but I didn't want to delay
> > the 32-bit build fixes any more.
> >
> > It turns out that the cnic,bnx2,bnx2x conversion avoided the problems,
> > almost by accident. That driver had used UIO_MEM_LOGICAL before and
> > had existing casts. That doesn't make it good, but at least it made it
> > not fail to build.
> >
> > See commit 498e47cd1d1f ("Fix build errors due to new
> > UIO_MEM_DMA_COHERENT mess")
>
> Ick, ok, those casts work :)
>
> I was waiting to hear back from Chris before applying the patches from
> Guenter, but yours work for me for now, thanks!
My apologies, I was away for a bit and missed the emails from Guenter
and Greg in my backlog. Sorry about the mess.
- Chris
Powered by blists - more mailing lists