diff options
-rw-r--r-- | mm/kmemleak.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/mm/kmemleak.c b/mm/kmemleak.c index 96106358e042..f06c0921e472 100644 --- a/mm/kmemleak.c +++ b/mm/kmemleak.c | |||
@@ -1025,11 +1025,14 @@ static void scan_block(void *_start, void *_end, | |||
1025 | * added to the gray_list. | 1025 | * added to the gray_list. |
1026 | */ | 1026 | */ |
1027 | object->count++; | 1027 | object->count++; |
1028 | if (color_gray(object)) | 1028 | if (color_gray(object)) { |
1029 | list_add_tail(&object->gray_list, &gray_list); | 1029 | list_add_tail(&object->gray_list, &gray_list); |
1030 | else | 1030 | spin_unlock_irqrestore(&object->lock, flags); |
1031 | put_object(object); | 1031 | continue; |
1032 | } | ||
1033 | |||
1032 | spin_unlock_irqrestore(&object->lock, flags); | 1034 | spin_unlock_irqrestore(&object->lock, flags); |
1035 | put_object(object); | ||
1033 | } | 1036 | } |
1034 | } | 1037 | } |
1035 | 1038 | ||