summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorDan Carpenter <dan.carpenter@oracle.com>2014-05-14 18:08:46 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-05-16 23:15:05 +0200
commitf6514be5fe7fe796041b673bad769510414ff2b9 (patch)
treec2d0104c293a571916d6f4a7844096aa287993a6 /kernel
parentPM / hibernate: convert simple_strtoul to kstrtoul (diff)
downloadlinux-f6514be5fe7fe796041b673bad769510414ff2b9.tar.xz
linux-f6514be5fe7fe796041b673bad769510414ff2b9.zip
PM / hibernate: Fix memory corruption in resumedelay_setup()
In the original code "resume_delay" is an int so on 64 bits, the call to kstrtoul() will cause memory corruption. We may as well fix a style issue here as well and make "resume_delay" unsigned int, since that's what we pass to ssleep(). Fixes: 317cf7e5e85e (PM / hibernate: convert simple_strtoul to kstrtoul) Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/power/hibernate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c
index 2377ff72994c..df88d55dc436 100644
--- a/kernel/power/hibernate.c
+++ b/kernel/power/hibernate.c
@@ -35,7 +35,7 @@
static int nocompress;
static int noresume;
static int resume_wait;
-static int resume_delay;
+static unsigned int resume_delay;
static char resume_file[256] = CONFIG_PM_STD_PARTITION;
dev_t swsusp_resume_device;
sector_t swsusp_resume_block;
@@ -1115,7 +1115,7 @@ 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 = kstrtouint(str, 0, &resume_delay);
if (rc)
return rc;