2024-05-03 02:03:37

by Baokun Li

[permalink] [raw]
Subject: Re: [PATCH v4 0/9] ext4: avoid sysfs variables overflow causing BUG_ON/SOOB

Hi Ted,

Would you consider merging in this patchset in the current merge
window? I would appreciate it if you could.

Thanks,
Baokun

On 2024/4/23 9:44, Baokun Li wrote:
> A gentle ping.
>
> On 2024/3/19 19:33, Baokun Li wrote:
>> 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/[email protected]/
>> [V2]:
>> https://lore.kernel.org/all/[email protected]/
>> [V3]:
>> https://lore.kernel.org/all/[email protected]/
>>
>> 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(-)
>>