Message ID | 20140514125720.GC14571@mwanda (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Hi! > "resume_delay" is not an unsigned long, it's an int, so this will > corrupt memory on 64 bit systems. ssleep takes unsigned int. Variable is int. We parse it using kstrtoul. So I'd suggest: switch resume_delay variable to unsigned int, and use kstrtouint(). > Fixes: 317cf7e5e85e ('PM / hibernate: convert simple_strtoul to kstrtoul') > Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> > > diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c > index 2377ff7..3659b26 100644 > --- a/kernel/power/hibernate.c > +++ b/kernel/power/hibernate.c > @@ -1115,8 +1115,9 @@ static int __init resumewait_setup(char *str) > > static int __init resumedelay_setup(char *str) > { > - int rc = kstrtoul(str, 0, (unsigned long *)&resume_delay); > + int rc; > > + rc = kstrtoint(str, 0, &resume_delay); ...and if possible, keep it on one line. Thanks, Pavel
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c index 2377ff7..3659b26 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c @@ -1115,8 +1115,9 @@ static int __init resumewait_setup(char *str) static int __init resumedelay_setup(char *str) { - int rc = kstrtoul(str, 0, (unsigned long *)&resume_delay); + int rc; + rc = kstrtoint(str, 0, &resume_delay); if (rc) return rc; return 1;
"resume_delay" is not an unsigned long, it's an int, so this will corrupt memory on 64 bit systems. Fixes: 317cf7e5e85e ('PM / hibernate: convert simple_strtoul to kstrtoul') Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> -- To unsubscribe from this list: send the line "unsubscribe linux-pm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html