lockdep: Make __bfs(.match) return bool
authorBoqun Feng <boqun.feng@gmail.com>
Fri, 7 Aug 2020 07:42:27 +0000 (15:42 +0800)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 26 Aug 2020 10:42:05 +0000 (12:42 +0200)
The "match" parameter of __bfs() is used for checking whether we hit a
match in the search, therefore it should return a boolean value rather
than an integer for better readability.

This patch then changes the return type of the function parameter and the
match functions to bool.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Boqun Feng <boqun.feng@gmail.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200807074238.1632519-9-boqun.feng@gmail.com
kernel/locking/lockdep.c

index 5abc227db0e9b312fa99ed076b51606e530cf8f9..78cd74d77be93f14fc1c19de03f1ac04bf651a87 100644 (file)
@@ -1620,7 +1620,7 @@ static inline void bfs_init_rootb(struct lock_list *lock,
  */
 static enum bfs_result __bfs(struct lock_list *source_entry,
                             void *data,
-                            int (*match)(struct lock_list *entry, void *data),
+                            bool (*match)(struct lock_list *entry, void *data),
                             struct lock_list **target_entry,
                             int offset)
 {
@@ -1711,7 +1711,7 @@ exit:
 static inline enum bfs_result
 __bfs_forwards(struct lock_list *src_entry,
               void *data,
-              int (*match)(struct lock_list *entry, void *data),
+              bool (*match)(struct lock_list *entry, void *data),
               struct lock_list **target_entry)
 {
        return __bfs(src_entry, data, match, target_entry,
@@ -1722,7 +1722,7 @@ __bfs_forwards(struct lock_list *src_entry,
 static inline enum bfs_result
 __bfs_backwards(struct lock_list *src_entry,
                void *data,
-               int (*match)(struct lock_list *entry, void *data),
+               bool (*match)(struct lock_list *entry, void *data),
                struct lock_list **target_entry)
 {
        return __bfs(src_entry, data, match, target_entry,
@@ -1833,7 +1833,7 @@ print_circular_bug_header(struct lock_list *entry, unsigned int depth,
        print_circular_bug_entry(entry, depth);
 }
 
-static inline int class_equal(struct lock_list *entry, void *data)
+static inline bool class_equal(struct lock_list *entry, void *data)
 {
        return entry->class == data;
 }
@@ -1888,10 +1888,10 @@ static noinline void print_bfs_bug(int ret)
        WARN(1, "lockdep bfs error:%d\n", ret);
 }
 
-static int noop_count(struct lock_list *entry, void *data)
+static bool noop_count(struct lock_list *entry, void *data)
 {
        (*(unsigned long *)data)++;
-       return 0;
+       return false;
 }
 
 static unsigned long __lockdep_count_forward_deps(struct lock_list *this)
@@ -2032,11 +2032,11 @@ check_redundant(struct held_lock *src, struct held_lock *target)
 
 #ifdef CONFIG_TRACE_IRQFLAGS
 
-static inline int usage_accumulate(struct lock_list *entry, void *mask)
+static inline bool usage_accumulate(struct lock_list *entry, void *mask)
 {
        *(unsigned long *)mask |= entry->class->usage_mask;
 
-       return 0;
+       return false;
 }
 
 /*
@@ -2045,9 +2045,9 @@ static inline int usage_accumulate(struct lock_list *entry, void *mask)
  * without creating any illegal irq-safe -> irq-unsafe lock dependency.
  */
 
-static inline int usage_match(struct lock_list *entry, void *mask)
+static inline bool usage_match(struct lock_list *entry, void *mask)
 {
-       return entry->class->usage_mask & *(unsigned long *)mask;
+       return !!(entry->class->usage_mask & *(unsigned long *)mask);
 }
 
 /*