X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kernel%2Fmutex-debug.c;h=f4913c3769505a10a0bfd169b6e2ad5c0f25f48c;hb=eab03ac7bd3e0da99eb9dc068772a85a5e3f3577;hp=3dec75363786b5a811908113138bef2ac3b32e74;hpb=042c904c3e35e95ac911e8a2bf4097099b059e1a;p=linux-2.6 diff --git a/kernel/mutex-debug.c b/kernel/mutex-debug.c index 3dec753637..f4913c3769 100644 --- a/kernel/mutex-debug.c +++ b/kernel/mutex-debug.c @@ -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 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; @@ -459,4 +460,3 @@ void fastcall mutex_destroy(struct mutex *lock) } EXPORT_SYMBOL_GPL(mutex_destroy); -