diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2013-03-22 23:04:48 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-23 00:41:20 +0100 |
commit | 8d640a51ec9e9cdefa680b67ad55f933eefc5923 (patch) | |
tree | c8e8964a54f42a529fceb6ef80590592d13bf68d /lib/percpu_counter.c | |
parent | drivers/rtc/rtc-at91rm9200.c: use a variable for storing IMR (diff) | |
download | linux-8d640a51ec9e9cdefa680b67ad55f933eefc5923.tar.xz linux-8d640a51ec9e9cdefa680b67ad55f933eefc5923.zip |
dma-debug: fix locking bug in check_unmap()
In check_unmap() it is possible to get into a dead-locked state if
dma_mapping_error is called. The problem is that the bucket is locked in
check_unmap, and locked again by debug_dma_mapping_error which is called
by dma_mapping_error. To resolve that we must release the lock on the
bucket before making the call to dma_mapping_error.
[akpm@linux-foundation.org: restore 80-col trickery to be consistent with the rest of the file]
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Cc: Joerg Roedel <joro@8bytes.org>
Reviewed-by: Shuah Khan <shuah.khan@hp.com>
Tested-by: Shuah Khan <shuah.khan@hp.com>
Cc: Jakub Kicinski <kubakici@wp.pl>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/percpu_counter.c')
0 files changed, 0 insertions, 0 deletions