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