[PATCH v4 0/9] ext4: avoid sysfs variables overflow causing BUG_ON/SOOB
From: Baokun Li
Date: Tue Mar 19 2024 - 07:32:43 EST
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.
V3->V4:
Patch 4: Corrects WARN_ON_ONCE added in V3.
V2->V3:
Add Reviewed-by tag from Jan Kara.
Patch 4: Trimming order before the for loop makes the logic easier to
understand.
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@xxxxxxxxxx/
[V2]: https://lore.kernel.org/all/20240227091148.178435-1-libaokun1@xxxxxxxxxx/
[V3]: https://lore.kernel.org/all/20240314140906.3064072-1-libaokun1@xxxxxxxxxx/
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 | 5 +-
fs/ext4/mballoc.h | 2 +-
fs/ext4/sysfs.c | 174 ++++++++++++++++++++++++++++------------------
4 files changed, 112 insertions(+), 72 deletions(-)
--
2.31.1