dm writecache: fix smatch warning about invalid return from writecache_map
authorMikulas Patocka <mpatocka@redhat.com>
Mon, 8 Aug 2022 14:50:10 +0000 (10:50 -0400)
committerMike Snitzer <snitzer@kernel.org>
Tue, 9 Aug 2022 23:20:23 +0000 (19:20 -0400)
There's a smatch warning "inconsistent returns '&wc->lock'" in
dm-writecache. The reason for the warning is that writecache_map()
doesn't drop the lock on the impossible path.

Fix this warning by adding wc_unlock() after the BUG statement (so
that it will be compiled-away anyway).

Fixes: df699cc16ea5e ("dm writecache: report invalid return from writecache_map helpers")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
drivers/md/dm-writecache.c

index ead008e..03fe2c5 100644 (file)
@@ -1598,7 +1598,8 @@ done:
 
        default:
                BUG();
-               return -1;
+               wc_unlock(wc);
+               return DM_MAPIO_KILL;
        }
 }