Re: [PATCH 2/2] mm: KSM: fix data type

From: Zhansaya Bagdauletkyzy
Date: Fri Jul 16 2021 - 00:42:26 EST


On Thu, Jul 15, 2021 at 02:10:33PM -0400, Pavel Tatashin wrote:
> On Thu, Jul 15, 2021 at 2:01 PM Zhansaya Bagdauletkyzy
> <zhansayabagdaulet@xxxxxxxxx> wrote:
> >
> > ksm_stable_node_chains_prune_millisecs is declared as int, but in
> > stable__node_chains_prune_millisecs_store(), it can store values up to
> > UINT_MAX. Change the variable type to unsigned int.
> >
> > Signed-off-by: Zhansaya Bagdauletkyzy <zhansayabagdaulet@xxxxxxxxx>
> > ---
> > mm/ksm.c | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/mm/ksm.c b/mm/ksm.c
> > index 057d0c245bf4..2e4bd7662e52 100644
> > --- a/mm/ksm.c
> > +++ b/mm/ksm.c
> > @@ -259,7 +259,7 @@ static unsigned long ksm_stable_node_chains;
> > static unsigned long ksm_stable_node_dups;
> >
> > /* Delay in pruning stale stable_node_dups in the stable_node_chains */
> > -static int ksm_stable_node_chains_prune_millisecs = 2000;
> > +static unsigned int ksm_stable_node_chains_prune_millisecs = 2000;
> >
> > /* Maximum number of page slots sharing a stable node */
> > static int ksm_max_page_sharing = 256;
> > @@ -3105,11 +3105,11 @@ stable_node_chains_prune_millisecs_store(struct kobject *kobj,
> > struct kobj_attribute *attr,
> > const char *buf, size_t count)
> > {
> > - unsigned long msecs;
> > + unsigned int msecs;
> > int err;
> >
> > - err = kstrtoul(buf, 10, &msecs);
> > - if (err || msecs > UINT_MAX)
> > + err = kstrtouint(buf, 10, &msecs);
> > + if (err)
> > return -EINVAL;
> >
> > ksm_stable_node_chains_prune_millisecs = msecs;
>
> LGTM, but I would merge the two patches together. They both update
> types of sysfs tunnables in the same file.

Ok, I'll send v2 as a single patch.

Thanks,
Zhansaya