Re: [PATCH] dma-debug: Do not add notifier when dma debugging isdisabled.

From: Joerg Roedel
Date: Fri Dec 18 2009 - 08:15:27 EST


On Thu, Dec 17, 2009 at 06:00:36PM -0600, Shaun Ruffell wrote:
> If CONFIG_HAVE_DMA_API_DEBUG is defined and "dma_debug=off" is
> specified on the kernel command line, when you detach a driver from a
> device you can cause the following NULL pointer dereference:
>
> BUG: unable to handle kernel NULL pointer dereference at (null)
> IP: [<c0580d35>] dma_debug_device_change+0x5d/0x117
>
> The problem is that the dma_debug_device_change notifier function is
> added to the bus notifier chain even though the dma_entry_hash array
> was never initialized. If dma debugging is disabled, this patch both
> prevents dma_debug_device_change notifiers from being added to the
> chain, and additionally ensures that the dma_entry_hash array is always
> initialized to a valid state.

Thanks for the fix. I applied a slightly different version to
dma-debug/fixes branch of my tree. See below for the patch I applied.