|
Coly Li |
f2dc7c |
From b7f362d6413ebd0167ac5a9f09ad5dca5490ac1a Mon Sep 17 00:00:00 2001
|
|
Coly Li |
f2dc7c |
From: Mikulas Patocka <mpatocka@redhat.com>
|
|
Coly Li |
f2dc7c |
Date: Mon, 8 Aug 2022 10:50:10 -0400
|
|
Coly Li |
f2dc7c |
Subject: [PATCH] dm writecache: fix smatch warning about invalid return from
|
|
Coly Li |
f2dc7c |
writecache_map
|
|
Coly Li |
f2dc7c |
Git-commit: b7f362d6413ebd0167ac5a9f09ad5dca5490ac1a
|
|
Coly Li |
f2dc7c |
Patch-mainline: v6.0-rc1
|
|
Coly Li |
f2dc7c |
References: jsc#PED-2765
|
|
Coly Li |
f2dc7c |
|
|
Coly Li |
f2dc7c |
There's a smatch warning "inconsistent returns '&wc->lock'" in
|
|
Coly Li |
f2dc7c |
dm-writecache. The reason for the warning is that writecache_map()
|
|
Coly Li |
f2dc7c |
doesn't drop the lock on the impossible path.
|
|
Coly Li |
f2dc7c |
|
|
Coly Li |
f2dc7c |
Fix this warning by adding wc_unlock() after the BUG statement (so
|
|
Coly Li |
f2dc7c |
that it will be compiled-away anyway).
|
|
Coly Li |
f2dc7c |
|
|
Coly Li |
f2dc7c |
Fixes: df699cc16ea5e ("dm writecache: report invalid return from writecache_map helpers")
|
|
Coly Li |
f2dc7c |
Reported-by: kernel test robot <lkp@intel.com>
|
|
Coly Li |
f2dc7c |
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
|
|
Coly Li |
f2dc7c |
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
|
|
Coly Li |
f2dc7c |
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
|
|
Coly Li |
f2dc7c |
Signed-off-by: Coly Li <colyli@suse.de>
|
|
Coly Li |
f2dc7c |
|
|
Coly Li |
f2dc7c |
---
|
|
Coly Li |
f2dc7c |
drivers/md/dm-writecache.c | 3 ++-
|
|
Coly Li |
f2dc7c |
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
Coly Li |
f2dc7c |
|
|
Coly Li |
f2dc7c |
diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
|
|
Coly Li |
f2dc7c |
index ead008ea38f2..03fe2c5d5e32 100644
|
|
Coly Li |
f2dc7c |
--- a/drivers/md/dm-writecache.c
|
|
Coly Li |
f2dc7c |
+++ b/drivers/md/dm-writecache.c
|
|
Coly Li |
f2dc7c |
@@ -1598,7 +1598,8 @@ static int writecache_map(struct dm_target *ti, struct bio *bio)
|
|
Coly Li |
f2dc7c |
|
|
Coly Li |
f2dc7c |
default:
|
|
Coly Li |
f2dc7c |
BUG();
|
|
Coly Li |
f2dc7c |
- return -1;
|
|
Coly Li |
f2dc7c |
+ wc_unlock(wc);
|
|
Coly Li |
f2dc7c |
+ return DM_MAPIO_KILL;
|
|
Coly Li |
f2dc7c |
}
|
|
Coly Li |
f2dc7c |
}
|
|
Coly Li |
f2dc7c |
|
|
Coly Li |
f2dc7c |
--
|
|
Coly Li |
f2dc7c |
2.35.3
|
|
Coly Li |
f2dc7c |
|