On Wed, 30 Apr 2025, Dan Carpenter wrote:
> On Wed, Apr 30, 2025 at 09:50:37AM -0700, Eric Biggers wrote:
> > On Wed, Apr 30, 2025 at 11:05:54AM +0300, Dan Carpenter wrote:
> > > We need to call dm_put_live_table() even if dm_get_live_table() returns
> > > NULL.
> > >
> > > Fixes: 9355a9eb21a5 ("dm: support key eviction from keyslot managers of
> > > underlying devices")
> > > Signed-off-by: Dan Carpenter <dan.carpen...@linaro.org>
> > > ---
> > > drivers/md/dm-table.c | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> >
> > Reviewed-by: Eric Biggers <ebigg...@kernel.org>
> >
> > But that's an awfully error-prone API.
>
> Yep.
>
> >
> > dm_blk_report_zones() gets this wrong too.
>
> Ugh... dm_blk_report_zones() is too weird for my static checker tool.
> The checker is looking very specifically for error paths with missing
> unlocks.
Ben already tried to fix it in dm_blk_report_zones (see the linux-dm git,
for-next branch) - but his fix is incorrect because the "if" condition for
dm_get_live_table and dm_put_live_table differs. I'll update his patch to
fix this mismatch.
Mikulas
> regards,
> dan carpenter
>