diff mbox series

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

Message ID 3610f5373bb12ea04e025bafbf8350f75c0dbf4b.1626371112.git.zhansayabagdaulet@gmail.com (mailing list archive)
State New
Headers show
Series mm: KSM: fix data types | expand

Commit Message

Zhansaya Bagdauletkyzy July 15, 2021, 6:01 p.m. UTC
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@gmail.com>
---
 mm/ksm.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Pasha Tatashin July 15, 2021, 6:10 p.m. UTC | #1
On Thu, Jul 15, 2021 at 2:01 PM Zhansaya Bagdauletkyzy
<zhansayabagdaulet@gmail.com> 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@gmail.com>
> ---
>  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.

Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com>


> --
> 2.25.1
>
Zhansaya Bagdauletkyzy July 16, 2021, 4:42 a.m. UTC | #2
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@gmail.com> 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@gmail.com>
> > ---
> >  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
diff mbox series

Patch

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;