Re: Generic DMA - BUG_ON

From: Michal Simek
Date: Wed Jan 20 2010 - 06:20:11 EST


Joerg Roedel wrote:
On Wed, Jan 20, 2010 at 10:53:50AM +0000, Russell King wrote:
and ops is NULL, then this code will oops; you will get a full register
dump and backtrace. You can use this information along with markup_oops.pl
to find out where the problem is.

You can't rely on the oops if the code runs in process context. The
process may have address 0 mapped which would result in a security hole.
We had two of these bugs last year.

That's the same problem which I had some days ago and Microblaze misses valuable backtrace (because we don't have FP or constant frame size).


But I don't see any point in checking for dma_ops != NULL too. Any
developer would mention such a bug long before init is started.

I agree that checking adds extra cycles to every dma-api call.

I like as wrote Russel to check if ops exists or not.

Let's look at code which is there.
dma_map_single_attrs - calls ops->map_page without any checking
The same for dma_map_sg_attrs, dma_map_page

The rest of functions is ok. If any checking will be there, I don't have any problem with it.

Michal





Joerg




--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/