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;
                                         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;