Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp790119ybe; Fri, 13 Sep 2019 06:26:05 -0700 (PDT) X-Google-Smtp-Source: APXvYqwGzK1RSoNb9U5bCyRu6rQN2E8hFKdIBi5W+lURBtMHqbVdu7ww68Sa8bXZTRdOPotL3Kc1 X-Received: by 2002:a17:906:e92:: with SMTP id p18mr3706373ejf.308.1568381165749; Fri, 13 Sep 2019 06:26:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568381165; cv=none; d=google.com; s=arc-20160816; b=I5AWLakxJ7uRaBXlJ49uivuELj9BCqb0em8bakySJ6Aa+CBOtFvmrIOifzBLsziifX i4KsWMn7yXq5HrIlmID668ngYMz4yTIEgZl4+tQYvHLC41p/eEGUzE84AS4secxJul7J zAD7Mme48ueAEs/l5hO1HLrIusOBe4zK5mru0ytgRTs6FXzGeNvGdUcJootWciaRoLBT htwERiHmTCRq0M/QR/nVNuW1BKQKy/rL/OevKnMHr8kF4I8qoWNdI3zcDJaktfjtnxzO DOMJ3p+Em1VkwPcHrk6lykouOiMR1OvA0GV9Fr473dYtBpfAqwlCJlMDt+zCnVRgmV34 SjpQ== 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:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=MYDX4jTd0TioNJ2TXUQVE86CWk3N0PU7LEgQO3OUxW8=; b=tCPJ+fYye17LPwuhkZLXE3zcYbvaO+plYC3ocJ3fpMVltV2OFkryDsdfdYP9XEyJ8n TBeib5tBWk0FZq1XUeVLiSs0RD1DIqTOBxZ7xmVJqRekE0XQ4J3VCco0ItYwB9eIMHHw Awl9iwa0/0mBT9w227610CRGspVnryFVTFGsrdRf1cW9RdzHIoR+C39TQbQrr1nJ3a5D ZyZ9D5Tr7EbsO63OEwdLMkBAN/58wCrbSdE382nDxQQXt8WFAbF230QsbMnw6UsO678k 2eBCf2M/AFLzXctD9LowdDP39Es6Aq9b7I9ogY8493hgQTqyEfTMRxdfoOg5xI30yqhh 5s0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=bHyQdZPR; 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 e16si12292438eds.51.2019.09.13.06.25.41; Fri, 13 Sep 2019 06:26:05 -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=@kernel.org header.s=default header.b=bHyQdZPR; 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 S2390661AbfIMNUu (ORCPT + 99 others); Fri, 13 Sep 2019 09:20:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:50016 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390644AbfIMNUt (ORCPT ); Fri, 13 Sep 2019 09:20:49 -0400 Received: from localhost (unknown [104.132.45.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 3089920CC7; Fri, 13 Sep 2019 13:20:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568380848; bh=qYVMk1Hx+6nEgYmyCC8RINbJ2qHv93AeLhQL+41kAmo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bHyQdZPRaq+Yjnr5Ke2BwOih76zQZa5Qui8htFXBPtV2WRGLQeMb8xMyUL0e0yvuE FfhJPiMD+syPJHQXQQ6u2q4/GDqDFs77T6nKvm5mdEp4hMw9JTk7WV/Lay8FoWKSiB dq4tX7lqU8UTR1q1KjHn2HyBq7XRjWA5G7v/9q3c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Arthur Marsh , Theodore Tso , Sasha Levin Subject: [PATCH 4.19 184/190] ext4: fix block validity checks for journal inodes using indirect blocks Date: Fri, 13 Sep 2019 14:07:19 +0100 Message-Id: <20190913130614.571217202@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190913130559.669563815@linuxfoundation.org> References: <20190913130559.669563815@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 170417c8c7bb2cbbdd949bf5c443c0c8f24a203b ] Commit 345c0dbf3a30 ("ext4: protect journal inode's blocks using block_validity") failed to add an exception for the journal inode in ext4_check_blockref(), which is the function used by ext4_get_branch() for indirect blocks. This caused attempts to read from the ext3-style journals to fail with: [ 848.968550] EXT4-fs error (device sdb7): ext4_get_branch:171: inode #8: block 30343695: comm jbd2/sdb7-8: invalid block Fix this by adding the missing exception check. Fixes: 345c0dbf3a30 ("ext4: protect journal inode's blocks using block_validity") Reported-by: Arthur Marsh Signed-off-by: Theodore Ts'o Signed-off-by: Sasha Levin --- fs/ext4/block_validity.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fs/ext4/block_validity.c b/fs/ext4/block_validity.c index 9409b1e11a22e..cd7129b622f85 100644 --- a/fs/ext4/block_validity.c +++ b/fs/ext4/block_validity.c @@ -275,6 +275,11 @@ int ext4_check_blockref(const char *function, unsigned int line, __le32 *bref = p; unsigned int blk; + if (ext4_has_feature_journal(inode->i_sb) && + (inode->i_ino == + le32_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_journal_inum))) + return 0; + while (bref < p+max) { blk = le32_to_cpu(*bref++); if (blk && -- 2.20.1