[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:

committed by
Linus Torvalds

parent
a8b9ee7396
commit
a4fc7ab1d0
@@ -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;
|
||||
|
Reference in New Issue
Block a user