Received: by 2002:a05:7208:9594:b0:7e:5202:c8b4 with SMTP id gs20csp1799256rbb; Tue, 27 Feb 2024 01:11:00 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUaW1Z9xaDtvHUmR3FambXWDhCGpYj4fCkV+T/MY7bZe6Dme2pEC/dQztLwhxF31Kk6vA58MDL3g5YakLlnDADAxNFiyy+HabO93WrUhg== X-Google-Smtp-Source: AGHT+IEvg6XEtcayKaAS+mv+BERFuh3pFazo0w1yqjnWoFggU3NeX9N81398adF3KFHE18DuKlTR X-Received: by 2002:aa7:d353:0:b0:565:df9b:f885 with SMTP id m19-20020aa7d353000000b00565df9bf885mr3959474edr.17.1709025060444; Tue, 27 Feb 2024 01:11:00 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709025060; cv=pass; d=google.com; s=arc-20160816; b=cB8BcmwH61oii4m9z+VFV0q3fVYs659rc0S3F65ONoIPNYgt+IdbHzQqueOlkyReon pda6nkIElYolBLfW+PT1FP2pq1DtbJHYdRbDwTktBdid/0FG3kCjEfY/7O7YcILSEilh mNY/nJd7ZqKNWXgXVHArviuQoC5UHVmKRd9EBUPGQbLMNJCDBaP8BsErFRDcQbZpmQ+a cssY8x2PiVDX2Rw7RoDSproJRYyC0JVADDiBdgQ5pJypA5wYGoFkG/nHjf9T9plL1f80 ye/uF7QNWtt8m/eHyOdqE3BQlT46pYoXxaMZKCF1qOUAMS3Fx+XJMQZnozpgNctyKdDl Y1cA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=mIjTyYdgaI6hfbjPFkw3chwtIv413vhXOtZ/jEUJU0g=; fh=4vN4thPQ5z49h0k3wc47Ze2ZGwmxH293ZHjdupTAu0I=; b=W5KP9sHIH15pbupa+klnAjZj3X375WtzyVTQxawQQKciZQne5aq+FJuYLYXNdFExrs VnB9i5aYWpWLuf2oXnHb9Ux/qd/nb7OqEEGKY1FvnFvBP4gpRriUbW6JmI6jY7oRmyXg oRMW1YWr3R5eoVgPNkGQOfxkxU2eJCSKHg8qDlUk0YwjfdyFXImkhDh+Cocu+HvXtphr iyPdpjYoZe4kow6X+1Dg+oprgtznvPP3huVwGlhm1R3rAbdy1/YO4xxu3ZUpsiMIETI3 KFtTIPdkJyxlBxraWJh+S5EO2Ayfwa/ozjC4N34ogSdwF3mv4KLH2dIoGcWzwwakt7XA dsSg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-kernel+bounces-82918-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82918-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=QUARANTINE) header.from=huawei.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id j9-20020a05640211c900b005647640eb83si572778edw.637.2024.02.27.01.11.00 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Feb 2024 01:11:00 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-82918-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=huawei.com dmarc=pass fromdomain=huawei.com); spf=pass (google.com: domain of linux-kernel+bounces-82918-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-82918-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=QUARANTINE) header.from=huawei.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id DBCF81F218A6 for ; Tue, 27 Feb 2024 09:10:59 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7D6AC1369B8; Tue, 27 Feb 2024 09:10:13 +0000 (UTC) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33CB9136667; Tue, 27 Feb 2024 09:10:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=45.249.212.187 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709025012; cv=none; b=hkmKvM9amaT3XJXDU4f5riKOEadpddoiOt/4RunKnzsU+zKyqy9BmcDWIX1nNnU3XBmoBqUPvxonYf7L622TRov2ntUdVMp7Lxx2oI7fOQg+N5lZWVHJEI9NZPMOFPZCyYHnxmlVsnwq+r7GLPMyZRufyl0dzNJojk3qc1amdu4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709025012; c=relaxed/simple; bh=cZ+XTunPaB9DFMt5pkmdrXeMidg2e5JBHgUaRVeuS4E=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=cXyeiFr8MVQN0MFsdWAQ50KxvJEg6xzNNZnKDX2KMcgKGtq11WTAH+zq4LaBF2jQWi+6qS4514XRg4cXI+78nrF3NlRcRtMWiq8x1WfY265YFe/vJDK9jNgpmsv1+y0DR/wydgPolPkRXfa6S7SFsf1HnJgFNrPVsVykdnFmv5I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; arc=none smtp.client-ip=45.249.212.187 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Received: from mail.maildlp.com (unknown [172.19.163.48]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4TkWq16GGlzvW3q; Tue, 27 Feb 2024 17:07:57 +0800 (CST) Received: from dggpeml500021.china.huawei.com (unknown [7.185.36.21]) by mail.maildlp.com (Postfix) with ESMTPS id AA863180073; Tue, 27 Feb 2024 17:10:06 +0800 (CST) Received: from huawei.com (10.175.127.227) by dggpeml500021.china.huawei.com (7.185.36.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 27 Feb 2024 17:10:06 +0800 From: Baokun Li To: CC: , , , , , , , , , Subject: [PATCH v2 0/9] ext4: avoid sysfs variables overflow causing BUG_ON/SOOB Date: Tue, 27 Feb 2024 17:11:39 +0800 Message-ID: <20240227091148.178435-1-libaokun1@huawei.com> X-Mailer: git-send-email 2.31.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To dggpeml500021.china.huawei.com (7.185.36.21) Hello everyone, This patchset is intended to avoid variables that can be modified via sysfs from overflowing when stored or used and thus causing various problems. "kvm-xfstests -c ext4/all -g auto" has been executed with no new failures. V1->V2: Patch 1: Use kstrtouint() as suggested by Alexey and Honza. Patch 2: Adapted to patch 1 changes. Patch 3: Add Reviewed-by tag. Patch 4: Avoid useless loops as suggested by Ojaswin and rename attr_group_prealloc to attr_clusters_in_group. Patch 5: New patch added to limit mb_best_avail_max_trim_order < 64 as Honza's suggestion. Patch 6: Reordered and updated description. Patch 7: Add Reviewed-by tag. Patch 8: Keep unrelated variables on different lines as suggested by Honza. Patch 9: New patch to fix warnings found during compile checking. [V1]: https://lore.kernel.org/all/20240126085716.1363019-1-libaokun1@huawei.com/ Baokun Li (9): ext4: avoid overflow when setting values via sysfs ext4: refactor out ext4_generic_attr_store() ext4: refactor out ext4_generic_attr_show() ext4: fix slab-out-of-bounds in ext4_mb_find_good_group_avg_frag_lists() ext4: add new attr pointer attr_mb_order ext4: add positive int attr pointer to avoid sysfs variables overflow ext4: set type of ac_groups_linear_remaining to __u32 to avoid overflow ext4: set the type of max_zeroout to unsigned int to avoid overflow ext4: clean up s_mb_rb_lock to fix build warnings with C=1 fs/ext4/extents.c | 3 +- fs/ext4/mballoc.c | 7 +- fs/ext4/mballoc.h | 2 +- fs/ext4/sysfs.c | 174 ++++++++++++++++++++++++++++------------------ 4 files changed, 114 insertions(+), 72 deletions(-) -- 2.31.1