public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] ext4: avoid sysfs variables overflow causing BUG_ON/SOOB
@ 2024-01-26  8:57 Baokun Li
  2024-01-26  8:57 ` [PATCH 1/7] ext4: avoid overflow when setting values via sysfs Baokun Li
                   ` (6 more replies)
  0 siblings, 7 replies; 33+ messages in thread
From: Baokun Li @ 2024-01-26  8:57 UTC (permalink / raw)
  To: linux-ext4
  Cc: tytso, adilger.kernel, jack, ritesh.list, linux-kernel, yi.zhang,
	yangerkun, chengzhihao1, yukuai3, libaokun1

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.

Baokun Li (7):
  ext4: avoid overflow when setting values via sysfs
  ext4: refactor out ext4_generic_attr_store()
  ext4: refactor out ext4_generic_attr_show()
  ext4: add positive int attr pointer to avoid sysfs variables overflow
  ext4: fix slab-out-of-bounds in
    ext4_mb_find_good_group_avg_frag_lists()
  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

 fs/ext4/extents.c |   6 +-
 fs/ext4/mballoc.c |   2 +
 fs/ext4/mballoc.h |   2 +-
 fs/ext4/sysfs.c   | 159 +++++++++++++++++++++++++---------------------
 4 files changed, 92 insertions(+), 77 deletions(-)

-- 
2.31.1


^ permalink raw reply	[flat|nested] 33+ messages in thread
* Re: [PATCH 1/7] ext4: avoid overflow when setting values via sysfs
@ 2024-01-27  9:44 Alexey Dobriyan
  2024-01-27 10:44 ` Baokun Li
  0 siblings, 1 reply; 33+ messages in thread
From: Alexey Dobriyan @ 2024-01-27  9:44 UTC (permalink / raw)
  To: Baokun Li
  Cc: linux-ext4, tytso, adilger.kernel, jack, ritesh.list,
	linux-kernel, yi.zhang, yangerkun, chengzhihao1, yukuai3,
	libaokun1

Baokun Li wrote:

> @@ -463,6 +463,8 @@ static ssize_t ext4_attr_store(struct kobject *kobj,
>  		ret = kstrtoul(skip_spaces(buf), 0, &t);
>  		if (ret)
>  			return ret;
> +		if (t != (unsigned int)t)
> +			return -EINVAL;

kstrto*() interface has variants for all standard types.
It should be changed to kstrtou32() or kstrtouint();

If you check if kstrto*() result fits into another type,
you're probably doing it wrong.

>  		if (a->attr_ptr == ptr_ext4_super_block_offset)
>  			*((__le32 *) ptr) = cpu_to_le32(t);

^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2024-02-24  2:46 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-26  8:57 [PATCH 0/7] ext4: avoid sysfs variables overflow causing BUG_ON/SOOB Baokun Li
2024-01-26  8:57 ` [PATCH 1/7] ext4: avoid overflow when setting values via sysfs Baokun Li
2024-01-26  9:28   ` Zhang Yi
2024-02-13 16:05   ` Jan Kara
2024-02-17  7:09     ` Baokun Li
2024-02-23 11:54       ` Jan Kara
2024-02-24  1:59         ` Baokun Li
2024-01-26  8:57 ` [PATCH 2/7] ext4: refactor out ext4_generic_attr_store() Baokun Li
2024-01-26  9:37   ` Zhang Yi
2024-02-13 16:47   ` Jan Kara
2024-01-26  8:57 ` [PATCH 3/7] ext4: refactor out ext4_generic_attr_show() Baokun Li
2024-01-26 10:08   ` Zhang Yi
2024-02-13 16:44   ` Jan Kara
2024-01-26  8:57 ` [PATCH 4/7] ext4: add positive int attr pointer to avoid sysfs variables overflow Baokun Li
2024-01-27  2:07   ` Zhang Yi
2024-02-13 16:58   ` Jan Kara
2024-02-17  7:41     ` Baokun Li
2024-02-23 12:05       ` Jan Kara
2024-02-24  2:46         ` Baokun Li
2024-01-26  8:57 ` [PATCH 5/7] ext4: fix slab-out-of-bounds in ext4_mb_find_good_group_avg_frag_lists() Baokun Li
2024-01-27  2:09   ` Zhang Yi
2024-02-13 16:14   ` Jan Kara
2024-02-20  5:39   ` Ojaswin Mujoo
2024-02-20  6:31     ` Baokun Li
2024-01-26  8:57 ` [PATCH 6/7] ext4: set type of ac_groups_linear_remaining to __u32 to avoid overflow Baokun Li
2024-01-27  2:10   ` Zhang Yi
2024-02-13 16:15   ` Jan Kara
2024-01-26  8:57 ` [PATCH 7/7] ext4: set the type of max_zeroout to unsigned int " Baokun Li
2024-01-27  2:12   ` Zhang Yi
2024-02-13 16:38   ` Jan Kara
2024-02-17  7:45     ` Baokun Li
  -- strict thread matches above, loose matches on Subject: below --
2024-01-27  9:44 [PATCH 1/7] ext4: avoid overflow when setting values via sysfs Alexey Dobriyan
2024-01-27 10:44 ` Baokun Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox