Re: [PATCH 3/3] cnic,bnx2,bnx2x: use UIO_MEM_DMA_COHERENT

From: Hannes Reinecke
Date: Mon Oct 02 2023 - 04:59:24 EST


On 10/2/23 10:46, Greg Kroah-Hartman wrote:
On Mon, Oct 02, 2023 at 12:50:21AM -0700, Jerry Snitselaar wrote:
On Mon, Oct 02, 2023 at 08:04:24AM +0200, Christoph Hellwig wrote:
On Sun, Oct 01, 2023 at 07:22:36AM -0700, Jerry Snitselaar wrote:
Changes last year to the dma-mapping api to no longer allow __GFP_COMP,
in particular these two (from the e529d3507a93 dma-mapping pull for
6.2):

That's complete BS. The driver was broken since day 1 and always
ignored the DMA API requirement to never try to grab the page from the
dma coherent allocation because you generally speaking can't. It just
happened to accidentally work the trivial dma coherent allocator that
is used on x86.


re-sending since gmail decided to not send plain text:

Yes, I agree that it has been broken and misusing the API. Greg's
question was what changed though, and it was the clean up of
__GFP_COMP in dma-mapping that brought the problem in the driver to
light.

I already said the other day that cnic has been doing this for 14
years. I'm not blaming you or your __GFP_COMP cleanup commits, they
just uncovered that cnic was doing something wrong. My apologies if
you took it that way.

As these devices aren't being made anymore, and this api is really not a
good idea in the first place, why don't we just leave it broken and see
if anyone notices?

Guess what triggered this mail thread.
Some customers did notice.

Problem is that these devices were built as the network interface in some bladecenter machines, so you can't just replace them with a different Ethernet card.

Cheers,

Hannes