Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2152332ybl; Sat, 7 Dec 2019 09:17:17 -0800 (PST) X-Google-Smtp-Source: APXvYqw9ctE5GmQOmbyVLHuyq4eLrFsAKnAYFdaPLgbbS8gwmFgZo7OW3gAfEgMEB59/DPHulRhm X-Received: by 2002:a05:6830:1d6a:: with SMTP id l10mr14482189oti.233.1575739037784; Sat, 07 Dec 2019 09:17:17 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575739037; cv=none; d=google.com; s=arc-20160816; b=TMmROmbMxXNWLdC+3I5a2KDficWkPbhSir69KlQLQ/HgL0PeIuy/LSGkCdmboX4Lf2 gxew8WTkyrqMAYWosRTpn7r8wpUl5KBxezviW666aDZdvh3GEy4pgp3A+7fhGyTuv1MK IdiCGCGdKvzLhd0piMvsvVkFTjIKuQnWLEmEM+OKg15k5F7dkY/mqbRHDGZXvp0plauL N7DkOEHIC0bEQqCKTunJoatfbda5++BOH/3JKOXxWK9FZaxcq4vfmCUMAoU2E60CZJY5 bR71FEbzT2zL96wYkTHn9GrINdcN6AhHmmLl0Xhqd1inelg3PhX5HuXJsTxH5hh0XvrN 5tfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:reply-to:in-reply-to:references:mime-version :dkim-signature; bh=fv2VocPZa+NTPGDaoTSLQUtwO0St7yGYFGMsw/ZDHX8=; b=jk/Lwi+gAxYy/e/6tGbmrtpEzRkqkJ9+i4qDWo5viNHjn20a9+lYnKaHNGJIIABVUo m+6/vAY4Fht0JvYTrplsJJyeSZI0yJNQw7nPkiq12hzx8SDbFlNmvR76EKAIRlvOI1iy ebNS6wCIxqtg42XppuzUY/Wj5Uss1Z+A/+u7ogXpJDHZUuMgds6Uz4xEixwSxrd9/4cy F14XBnO+bsjcHQsNs2CsIMwe0bs8r0tiwybdR4Xrx5pJRozkq3kp9ATIVbvQi8MlICi3 08srsfJ8FupNtE1RZwo9x6voxBH3waraBt4/Qkz5MQVQVBghCG9uz29V3HP1SFQTGULc 3lYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=UCPL97fk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w29si8474344oth.313.2019.12.07.09.17.06; Sat, 07 Dec 2019 09:17:17 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=UCPL97fk; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726534AbfLGRQX (ORCPT + 99 others); Sat, 7 Dec 2019 12:16:23 -0500 Received: from mail-vs1-f65.google.com ([209.85.217.65]:46213 "EHLO mail-vs1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726414AbfLGRQX (ORCPT ); Sat, 7 Dec 2019 12:16:23 -0500 Received: by mail-vs1-f65.google.com with SMTP id t12so7350923vso.13; Sat, 07 Dec 2019 09:16:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:reply-to:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=fv2VocPZa+NTPGDaoTSLQUtwO0St7yGYFGMsw/ZDHX8=; b=UCPL97fki2BRqCTclNHm7WJ1MCOgYnD3qF+O/qPNrN8hbd8UUH+TanuK8fnkbXUVLL NFJ+u1JUbklRYI0mzyDogNRpbF2DSuW3N0LPwD4o79IkN3h3ir202qs+Aqw8RRDJ7a5L tGXglbbJbjd8dMsCa2+lWDieZOfTaNfqG6LNjDn0VSsBvZWfiTkkNTw7h29Gyeqe4mpR 75FDxrvLfo74ybLifBaR+DAoe6V0xuJKjX8DORl0dMekfvGHEUgY4QuVIo1CyK9nxSz+ /HnbMB6w9xB6laDs6QkAHIl9H2vVFDAYY3hEdj1xWXjj4LxpLZ45lIKNoWzAqw8rsR9V FckA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc:content-transfer-encoding; bh=fv2VocPZa+NTPGDaoTSLQUtwO0St7yGYFGMsw/ZDHX8=; b=ghPHEZk7LJY0rUJbG54F+dYxE6dE/Afx7RcGChERwp9X8R+jl10SY7J5C7Ga6QVAII M+CVNVR25MwoUQ6XO9MoQlbvNIpjVYbrfup/tqmbcQxzouOoYKHTAZqLN7pMULFhh2Ap 67+IjAwVdjW8hQxGstYZ7kNW/YT386YPnNFXwAVrLAdko4P6oQMNf2utBCCEW9Pea1qD XKxgXDu2z/OzCtYXScSkfBc8U4F9PeaMGNIVtOaKy4jy5EiuNjAjnTtVxVHCPHRpNx9e TL/FCtncn2fisqmG40XU844lcy3+Wi8u7hGPhdvsj6mwfCyGssu5pZQM/54TpaUnWQhp Zk7w== X-Gm-Message-State: APjAAAVMm5eY/IK307jL5lB8O1ffO1UjHxRpbnIxXaTOn6suATKXAqhg n8qBYNPBb3JlJZ3WywAaR98coiQQ9YrCQ45jsNM= X-Received: by 2002:a67:8010:: with SMTP id b16mr14115611vsd.90.1575738981848; Sat, 07 Dec 2019 09:16:21 -0800 (PST) MIME-Version: 1.0 References: <20191207144126.14320-1-dinghao.liu@zju.edu.cn> In-Reply-To: <20191207144126.14320-1-dinghao.liu@zju.edu.cn> Reply-To: fdmanana@gmail.com From: Filipe Manana Date: Sat, 7 Dec 2019 17:16:10 +0000 Message-ID: Subject: Re: [PATCH] fs: Fix a missing check bug To: Dinghao Liu Cc: kjlu@umn.edu, pakki001@umn.edu, Chris Mason , Josef Bacik , David Sterba , linux-btrfs , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Dec 7, 2019 at 3:03 PM Dinghao Liu wrote: > > The return value of link_free_space(ctl, info) is checked out-sync. Only = one branch of an if statement checks this return value after WARN_ON(ret). > > Since this path pair is similar in semantic, there might be a missing che= ck bug. > > Fix this by simply adding a check on ret. > > Signed-off-by: Dinghao Liu > --- > fs/btrfs/free-space-cache.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c > index 3283da419200..acbb3a59d344 100644 > --- a/fs/btrfs/free-space-cache.c > +++ b/fs/btrfs/free-space-cache.c > @@ -2437,6 +2437,8 @@ int btrfs_remove_free_space(struct btrfs_block_grou= p *block_group, > if (info->bytes) { > ret =3D link_free_space(ctl, info); > WARN_ON(ret); > + if (ret) I think the WARN_ON() can go away as well. The only possible error is -EEXIST, coming from tree_insert_offset(). When that happens tree_insert_offset() already emits a warning. Also, the free space entry needs to be freed, otherwise we leak memory. So it should be something like this: if (ret) { kmem_cache_free(btrfs_free_space_cachep, info); goto out_unlock; } Further the subject should be prefixed with "btrfs: " and not "fs: ", since this is a btrfs specific patch. Something like the following for example: "btrfs: add missing error handling when removing free space" Thanks. > + goto out_lock; > } else { > kmem_cache_free(btrfs_free_space_cachep, = info); > } > -- > 2.21.0 (Apple Git-122) > --=20 Filipe David Manana, =E2=80=9CWhether you think you can, or you think you can't =E2=80=94 you're= right.=E2=80=9D