Received: by 2002:ac0:950c:0:0:0:0:0 with SMTP id f12csp3944973imc; Thu, 14 Mar 2019 08:43:44 -0700 (PDT) X-Google-Smtp-Source: APXvYqxHOlMXoBJfgPwHSbHrpGAEhU/LIqwFgiGJqSQup7w18B7dQ5iwdysEp64w/IvNKcz66SeR X-Received: by 2002:a62:fb10:: with SMTP id x16mr50293004pfm.5.1552578224124; Thu, 14 Mar 2019 08:43:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552578224; cv=none; d=google.com; s=arc-20160816; b=T39RZyURIW3am8taySErZ0vbO4LKxUhkj99noMJ0a3eFUdefAUqgREZ2pxs4tTRUBK GmsTN+HAHaHG9utUKyxWDKN5V5VPiHrX5YqkQZ1Fd4uyRd8g5cBP52HW57XO9kkS3cF1 oWFhxUrVOkjo23x8LThqzgSSxt1Kil3masa0gg5rEepipDcxxOuLm27I6q5DsxBlDi2i sunkKx9FOOarTIXFN01wOLkwnituTmFc87ZJrec9g9NYbqFKRtI+5ijjTDButc0XnVzw mV18zqVZc6ZhaJEvFHt/kj6yOMpmeqVWzbqRsOMxyQMtWEUlDoj21i/39hLJ7mWgtk0m fBXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=Ncu6hJOPskCpdFvK59c8CkLAIhgJe147+fC/s+ZFKLw=; b=o9lGIVdlUHdzj7p3F/64e6NcZn1yK1Z8dsL1bmG8kpL14/0giN6i9Vunant2yFtn/X NQ5KZG9iN3sI8Y3YzoGHD4Wh0GT8Nq1wjs7cAs88Ne4htPPjfQvI8MfzibLMga8YPq2A 6dtZdlIvPXBxiu8BAmcPgL8BedgLYlI9lOmOOCoTfWKCt2ISLDSumQgxemWKJwkVCXyv lxMBCZVnLx1U/3S7RAeEebfytkt5SgQV15CeL+2IWz6wHDfPyyZrUTik2E7gAzzMY/cq rurZaWD4uVjHolNmG/0qKgal3bb34+PmmP8Dp58mfRDafjk1F8KUL41iyXppZWWEsyt4 Hgqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@toxicpanda-com.20150623.gappssmtp.com header.s=20150623 header.b=IfKFHIf5; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z4si12462065pgu.375.2019.03.14.08.43.28; Thu, 14 Mar 2019 08:43:44 -0700 (PDT) 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=@toxicpanda-com.20150623.gappssmtp.com header.s=20150623 header.b=IfKFHIf5; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727184AbfCNPlJ (ORCPT + 99 others); Thu, 14 Mar 2019 11:41:09 -0400 Received: from mail-yw1-f66.google.com ([209.85.161.66]:36773 "EHLO mail-yw1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727131AbfCNPlJ (ORCPT ); Thu, 14 Mar 2019 11:41:09 -0400 Received: by mail-yw1-f66.google.com with SMTP id 189so4770622ywi.3 for ; Thu, 14 Mar 2019 08:41:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toxicpanda-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=Ncu6hJOPskCpdFvK59c8CkLAIhgJe147+fC/s+ZFKLw=; b=IfKFHIf5TrCTv/eQztvKtMS/Uv/cENcFyRQNCNklX5FJRtBAJ9/TJyWDJp7kRKvwXH WCwJhCiOCDWUrX08RVMops4PC938BugE8S9g8PgaBikFPIOL4XfWBxbrwaOW0V3nKkbS M1yz8ZUQF+nPJBSxIE2ovJiLvJNVWhS6+ban3kgo4BWF+ofePVtkbH2fwMOpO19r4jij /TLmIykEPhXC15jRx3iXx7A8X3gkrMmU4Ru70lo2j09YPxtV2JFhR24S0X46aIj9YgWS MKCE0ceW52N+q9nJkGHN171c/3jIqjHKgnhZRNMjVVbCNtscMalbL7u0lkiHsxFo3VBV 1nLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=Ncu6hJOPskCpdFvK59c8CkLAIhgJe147+fC/s+ZFKLw=; b=WB4j4yTAAr9U0GnvQ3XmzbvxtgM/gIrxPfX/DeH8K1M0fPvBenMTArzvkLm7t2at0+ z9mhT+40dY0AvEy2QEdlDotu1uYJNlKHI+ZHCdpcoa/o9/wLCteMv0GiD1pZGO1FWdPR XwXFHyoGz51RBuKYycKuQkGzmjExDEq8moriaU+7Wt/u4pxkFQ+nj14hpv2XvVfNChQW CVdfTJTJUxcyHicpbWc2lmdgjJeZILZNoLEcze/+lIfSP31ZBo/CTzaoZYi7oEGObeVM Ct7IPnaT8eOfOkZsO5Xj5pC3AL+iJKy4ySKxhzNfDvFAn//+qIIQk6YvlnXrBMAlsPLq q5zw== X-Gm-Message-State: APjAAAVWOHeQ/OI/VKMVSM4wtLljsNxRkCXVFYRCbB0jGcijuiR0Wq+V IgZmTDdd80g5y4n+YvUx2UbXWA== X-Received: by 2002:a81:3b4f:: with SMTP id i76mr40195945ywa.281.1552578068542; Thu, 14 Mar 2019 08:41:08 -0700 (PDT) Received: from localhost ([2620:10d:c091:180::8f3]) by smtp.gmail.com with ESMTPSA id 131sm5541538ywp.20.2019.03.14.08.41.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Mar 2019 08:41:07 -0700 (PDT) Date: Thu, 14 Mar 2019 11:41:06 -0400 From: Josef Bacik To: Nikolay Borisov Cc: Kangjie Lu , pakki001@umn.edu, Chris Mason , Josef Bacik , David Sterba , linux-btrfs@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] btrfs: fix a NULL pointer dereference Message-ID: <20190314154104.wtlmntw2tymvxjao@MacBook-Pro-91.local.dhcp.thefacebook.com> References: <20190314075041.28966-1-kjlu@umn.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: NeoMutt/20180716 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Mar 14, 2019 at 09:54:07AM +0200, Nikolay Borisov wrote: > > > On 14.03.19 г. 9:50 ч., Kangjie Lu wrote: > > btrfs_lookup_block_group may fail and return NULL. The fix goes > > to out when it fails to avoid NULL pointer dereference. > > Actually no, in this case btrfs_lookup_block_group must never fail > because if we have an allocated eb then it must have been allocated from > a bg. > Agreed, we only get to btrfs_free_tree_block() if we are actually deleting the extent buffer. We would have had to read in the extent buffer first to get here, which would have failed if there was no block group. We can't get into this situation with a specifically crafted file system to exploit this as we'd bail out well before we could get to btrfs_free_tree_block(). Adding an ASSERT() makes sure developers aren't doing anything stupid, but again we'd have to be doing something _super_ stupid to hit it. Thanks, Josef