[PATCH] fix/simplify mutex debugging code

Let's switch mutex_debug_check_no_locks_freed() to take (addr, len) as
arguments instead, since all its callers were just calculating the 'to'
address for themselves anyway... (and sometimes doing so badly).

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
David Woodhouse
2006-01-11 14:41:26 +00:00
committed by Linus Torvalds
parent a8b9ee7396
commit a4fc7ab1d0
7 changed files with 9 additions and 8 deletions

View File

@@ -333,9 +333,10 @@ void mutex_debug_check_no_locks_held(struct task_struct *task)
* is destroyed or reinitialized - this code checks whether there is
* any held lock in the memory range of <from> to <to>:
*/
void mutex_debug_check_no_locks_freed(const void *from, const void *to)
void mutex_debug_check_no_locks_freed(const void *from, unsigned long len)
{
struct list_head *curr, *next;
const void *to = from + len;
unsigned long flags;
struct mutex *lock;
void *lock_addr;
@@ -437,7 +438,7 @@ void debug_mutex_init(struct mutex *lock, const char *name)
/*
* Make sure we are not reinitializing a held lock:
*/
mutex_debug_check_no_locks_freed((void *)lock, (void *)(lock + 1));
mutex_debug_check_no_locks_freed((void *)lock, sizeof(*lock));
lock->owner = NULL;
INIT_LIST_HEAD(&lock->held_list);
lock->name = name;