[PATCH v2 0/9] ext4: avoid sysfs variables overflow causing BUG_ON/SOOB

Baokun Li
2024-02-27T09:10:10Z

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