[PATCH] fix/simplify mutex debugging code
[linux-2.6.git] / kernel / mutex-debug.c
index 6f82905..f4913c3 100644 (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;