Message ID | 20240319113325.3110393-1-libaokun1@huawei.com |
---|---|
Headers | show |
Series | ext4: avoid sysfs variables overflow causing BUG_ON/SOOB | expand |
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/20240126085716.1363019-1-libaokun1@huawei.com/ > [V2]: https://lore.kernel.org/all/20240227091148.178435-1-libaokun1@huawei.com/ > [V3]: https://lore.kernel.org/all/20240314140906.3064072-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 | 5 +- > fs/ext4/mballoc.h | 2 +- > fs/ext4/sysfs.c | 174 ++++++++++++++++++++++++++++------------------ > 4 files changed, 112 insertions(+), 72 deletions(-) >
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/20240126085716.1363019-1-libaokun1@huawei.com/ >> [V2]: >> https://lore.kernel.org/all/20240227091148.178435-1-libaokun1@huawei.com/ >> [V3]: >> https://lore.kernel.org/all/20240314140906.3064072-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 | 5 +- >> fs/ext4/mballoc.h | 2 +- >> fs/ext4/sysfs.c | 174 ++++++++++++++++++++++++++++------------------ >> 4 files changed, 112 insertions(+), 72 deletions(-) >>
On Fri, May 03, 2024 at 10:03:04AM +0800, Baokun Li wrote: > Hi Ted, > > Would you consider merging in this patchset in the current merge > window? I would appreciate it if you could. Yes, in fact it's next on my review list. I've been working through the patches on ext4's patchwork site roughly in chronological order (focusing first on fixes and those that have been reviewed by other folks). Cheers, - Ted
On 2024/5/3 11:14, Theodore Ts'o wrote: > On Fri, May 03, 2024 at 10:03:04AM +0800, Baokun Li wrote: >> Hi Ted, >> >> Would you consider merging in this patchset in the current merge >> window? I would appreciate it if you could. > Yes, in fact it's next on my review list. I've been working through > the patches on ext4's patchwork site roughly in chronological order > (focusing first on fixes and those that have been reviewed by other > folks). > > Cheers, > > - Ted Thanks a million for your work! Cheers, Baokun
On Tue, 19 Mar 2024 19:33:16 +0800, Baokun Li wrote: > 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. > > [...] Applied, thanks! [1/9] ext4: avoid overflow when setting values via sysfs commit: 9e8e819f8f272c4e5dcd0bd6c7450e36481ed139 [2/9] ext4: refactor out ext4_generic_attr_store() commit: f536808adcc37a546bf9cc819c349bd55a28159b [3/9] ext4: refactor out ext4_generic_attr_show() commit: 57341fe3179c7694c92dcf99e7f836cee4c800dd [4/9] ext4: fix slab-out-of-bounds in ext4_mb_find_good_group_avg_frag_lists() commit: 13df4d44a3aaabe61cd01d277b6ee23ead2a5206 [5/9] ext4: add new attr pointer attr_mb_order commit: b7b2a5799b8fafe95fcd5455c32ba2c643c86f99 [6/9] ext4: add positive int attr pointer to avoid sysfs variables overflow commit: 63bfe841053f8dda09c9d059d543486d9dc16104 [7/9] ext4: set type of ac_groups_linear_remaining to __u32 to avoid overflow commit: 9a9f3a9842927e4af7ca10c19c94dad83bebd713 [8/9] ext4: set the type of max_zeroout to unsigned int to avoid overflow commit: 261341a932d9244cbcd372a3659428c8723e5a49 [9/9] ext4: clean up s_mb_rb_lock to fix build warnings with C=1 commit: e19089dff547c9e1f09712acc3536d7b0aa9ce3d Best regards,