Hello, On Mon, Sep 26, 2016 at 03:36:25PM -0700, Bart Van Assche wrote: > Unlocking a mutex twice is wrong. Hence modify blkcg_policy_register() > such that blkcg_pol_mutex is unlocked once if cpd == NULL. This patch > avoids that smatch reports the following error: > > block/blk-cgroup.c:1378: blkcg_policy_register() error: double unlock 'mutex:&blkcg_pol_mutex' > > Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxxxxxx> > Cc: Tejun Heo <tj@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> > --- > block/blk-cgroup.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c > index dd38e5c..cdbca1c 100644 > --- a/block/blk-cgroup.c > +++ b/block/blk-cgroup.c > @@ -1327,8 +1327,10 @@ int blkcg_policy_register(struct blkcg_policy *pol) > for (i = 0; i < BLKCG_MAX_POLS; i++) > if (!blkcg_policy[i]) > break; > - if (i >= BLKCG_MAX_POLS) > + if (i >= BLKCG_MAX_POLS) { > + mutex_unlock(&blkcg_pol_mutex); > goto err_unlock; > + } Wouldn't it be better to drop explicit mutx_unlock(&blkcg_pol_mutex) on "if (!cpd)"? Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-block" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html