From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B80EE95A91 for ; Mon, 9 Oct 2023 13:18:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377024AbjJINS0 (ORCPT ); Mon, 9 Oct 2023 09:18:26 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35874 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1377011AbjJINSZ (ORCPT ); Mon, 9 Oct 2023 09:18:25 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F8EA91 for ; Mon, 9 Oct 2023 06:18:23 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BB31FC433C8; Mon, 9 Oct 2023 13:18:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1696857503; bh=4dcOHUSYD8H6RXEuKVnxSqXyzoXQLWRoHQPTvb1VeyQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WhSKsaDzOGWaw24r7YPPFOYYEtyUeYQiwtpe/uiuvQ8qUVxxSxiKyKZlIa5U7NqFJ wgAnQsr2XBXusCL3s4/WIkiLEjLE3nBJ99J63mma0W/0JeR2015etK9WHxtrQSoeQN yT/ybPFfYiT5jOhWS0UTih+hKrpgKkWBbZrD9mcU= From: Greg Kroah-Hartman To: stable@vger.kernel.org Cc: Greg Kroah-Hartman , patches@lists.linux.dev, Anand Jain , Qu Wenruo , David Sterba Subject: [PATCH 6.1 066/162] btrfs: reject unknown mount options early Date: Mon, 9 Oct 2023 15:00:47 +0200 Message-ID: <20231009130124.749820251@linuxfoundation.org> X-Mailer: git-send-email 2.42.0 In-Reply-To: <20231009130122.946357448@linuxfoundation.org> References: <20231009130122.946357448@linuxfoundation.org> User-Agent: quilt/0.67 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org 6.1-stable review patch. If anyone has any objections, please let me know. ------------------ From: Qu Wenruo commit 5f521494cc73520ffac18ede0758883b9aedd018 upstream. [BUG] The following script would allow invalid mount options to be specified (although such invalid options would just be ignored): # mkfs.btrfs -f $dev # mount $dev $mnt1 <<< Successful mount expected # mount $dev $mnt2 -o junk <<< Failed mount expected # echo $? 0 [CAUSE] For the 2nd mount, since the fs is already mounted, we won't go through open_ctree() thus no btrfs_parse_options(), but only through btrfs_parse_subvol_options(). However we do not treat unrecognized options from valid but irrelevant options, thus those invalid options would just be ignored by btrfs_parse_subvol_options(). [FIX] Add the handling for Opt_err to handle invalid options and error out, while still ignore other valid options inside btrfs_parse_subvol_options(). Reported-by: Anand Jain CC: stable@vger.kernel.org # 4.14+ Signed-off-by: Qu Wenruo Reviewed-by: David Sterba Signed-off-by: David Sterba Signed-off-by: Greg Kroah-Hartman --- fs/btrfs/super.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/fs/btrfs/super.c +++ b/fs/btrfs/super.c @@ -1260,6 +1260,10 @@ static int btrfs_parse_subvol_options(co *subvol_objectid = subvolid; break; + case Opt_err: + btrfs_err(NULL, "unrecognized mount option '%s'", p); + error = -EINVAL; + goto out; default: break; }