From patchwork Tue Aug 1 14:31:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kemeng Shi X-Patchwork-Id: 129029 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:918b:0:b0:3e4:2afc:c1 with SMTP id s11csp2484011vqg; Mon, 31 Jul 2023 23:48:03 -0700 (PDT) X-Google-Smtp-Source: APBJJlEm6VaoTodJdBTlPCsCCIG/Lzb1XU8l6u/0LnwzyOdcfuqrtfts0sfxf/yi4VmUtPe9O3Il X-Received: by 2002:a05:6a20:1615:b0:137:53d1:3e2 with SMTP id l21-20020a056a20161500b0013753d103e2mr13310784pzj.41.1690872483501; Mon, 31 Jul 2023 23:48:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1690872483; cv=none; d=google.com; s=arc-20160816; b=lXvqYfDCSEKG6V3aXtai6QP9rsSl00koU+94+IheAJHN4LsF4OyI1uTGT7hqMZGPc5 e3lQ67OSGEcz3E1jtsNd/hhgyzcntkU/COE+70rCsfqeYFoxCcjBT6+tQRgbXs6zqRPD kdiTtgaGDv5TzLTQmY6q3Sc7UOe3jpGh5lqKcfmh4rtnbNIa40CIWa5r7OwC0O5LAI0z QfcFxKal5xFW2KmlRHLzxSKTsnjp+D2HHt/aT0J9axnIHV/J00k64vdqHXAVkpK7RV2X 6uCYn7Yzdt99S7el+Qnh16JZlIcfZ8wEb5CnHa2FOGBYqCxUNxz5cPPrXfRtaHIC8wJF yeJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=WkETvhtN2YRfpYlI6QS+rvvBFzLyLo67inxsZd9B09I=; fh=MlGqaUnvBjpXmiP990bdf+mzv9VjPrVaE5OVdv29XYE=; b=GgF1Hug18EDz75GDID+yHlN4HpfBQn1rNMGdxfE2zP6FmAJp3e4mtMiu/QS1hl8uXH 6Oe6+Ak+nGRtPkrtoFOfZmJmrZCB+WCQkok6+823EYouEd80SqFxxq8Ux3iFik673+th NiHvWdW3mOdok8XYhmRiJMFRpfuEp5QnXyNG+O1dEoG/GsRDxpfvO+Krer0QwYkae+6b u5gjXsJ0wqgB6wV6Rhc2OGxW+OeCBqwQUIYmCFxC03wBkB6YA4+f+51zuMEqQag+QwV3 YyHcoe3WbC/AXB8ArCkizRwCo3xt/S/o53p3DSmjDuZnQE3hBAfTu04+T9h42Q6+G5er CS6A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u11-20020a6540cb000000b0052cbf501db2si8561809pgp.68.2023.07.31.23.47.50; Mon, 31 Jul 2023 23:48:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231592AbjHAGb5 (ORCPT + 99 others); Tue, 1 Aug 2023 02:31:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44632 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229959AbjHAGbw (ORCPT ); Tue, 1 Aug 2023 02:31:52 -0400 Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com [45.249.212.51]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8EFEE7; Mon, 31 Jul 2023 23:31:50 -0700 (PDT) Received: from mail02.huawei.com (unknown [172.30.67.143]) by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4RFQHk69Bvz4f3lfk; Tue, 1 Aug 2023 14:31:46 +0800 (CST) Received: from huaweicloud.com (unknown [10.175.124.27]) by APP2 (Coremail) with SMTP id Syh0CgDnjOrQpshkMcvqPA--.21719S3; Tue, 01 Aug 2023 14:31:47 +0800 (CST) From: Kemeng Shi To: tytso@mit.edu, adilger.kernel@dilger.ca, ritesh.list@gmail.com, ojaswin@linux.ibm.com, linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org Cc: shikemeng@huaweicloud.com Subject: [PATCH v3 01/10] ext4: correct grp validation in ext4_mb_good_group Date: Tue, 1 Aug 2023 22:31:55 +0800 Message-Id: <20230801143204.2284343-2-shikemeng@huaweicloud.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20230801143204.2284343-1-shikemeng@huaweicloud.com> References: <20230801143204.2284343-1-shikemeng@huaweicloud.com> MIME-Version: 1.0 X-CM-TRANSID: Syh0CgDnjOrQpshkMcvqPA--.21719S3 X-Coremail-Antispam: 1UD129KBjvdXoW7XF13ZFW5Aw1UKw1xJF45GFg_yoWfArb_GF yDAr48AFWfJ340k3WIvwsayrW0qF4xXr45Xa93tr43ZF45WF48Aa4kJry3AFs7W3y2yFy5 Aa43JrWUtrWS9jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUb6kFF20E14v26r4j6ryUM7CY07I20VC2zVCF04k26cxKx2IYs7xG 6rWj6s0DM7CIcVAFz4kK6r1j6r18M280x2IEY4vEnII2IxkI6r1a6r45M28IrcIa0xkI8V A2jI8067AKxVWUGwA2048vs2IY020Ec7CjxVAFwI0_JFI_Gr1l8cAvFVAK0II2c7xJM28C jxkF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVW7JVWDJwA2z4x0Y4vE2Ix0cI 8IcVCY1x0267AKxVWxJr0_GcWl84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2 jsIEc7CjxVAFwI0_GcCE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4 CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvj eVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I 1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AKxVWU JVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26r126r1DMIIYrxkI7V AKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v26r4j 6F4UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJVW8JwCI42 IY6I8E87Iv6xkF7I0E14v26r4j6r4UJbIYCTnIWIevJa73UjIFyTuYvjTRZOzsUUUUU X-CM-SenderInfo: 5vklyvpphqwq5kxd4v5lfo033gof0z/ X-CFilter-Loop: Reflected X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_00,DATE_IN_FUTURE_06_12, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773008305338634744 X-GMAIL-MSGID: 1773008305338634744 Group corruption check will access memory of grp and will trigger kernel crash if grp is NULL. So do NULL check before corruption check. Fixes: 5354b2af3406 ("ext4: allow ext4_get_group_info() to fail") Signed-off-by: Kemeng Shi Reviewed-by: Ritesh Harjani (IBM) --- fs/ext4/mballoc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 3e34e37392fb..556b7cd27f76 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -2553,7 +2553,7 @@ static bool ext4_mb_good_group(struct ext4_allocation_context *ac, BUG_ON(cr < CR_POWER2_ALIGNED || cr >= EXT4_MB_NUM_CRS); - if (unlikely(EXT4_MB_GRP_BBITMAP_CORRUPT(grp) || !grp)) + if (unlikely(!grp || EXT4_MB_GRP_BBITMAP_CORRUPT(grp))) return false; free = grp->bb_free;