From: Mikulas Patocka Date: Fri, 5 Jun 2015 13:50:42 +0000 (-0400) Subject: dm stats: fix divide by zero if 'number_of_areas' arg is zero X-Git-Tag: v3.18.18~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83891b4cab7ee6cecc1050c533826f9b27c03270;p=thirdparty%2Fkernel%2Fstable.git dm stats: fix divide by zero if 'number_of_areas' arg is zero [ Upstream commit dd4c1b7d0c95be1c9245118a3accc41a16f1db67 ] If the number_of_areas argument was zero the kernel would crash on div-by-zero. Add better input validation. Signed-off-by: Mikulas Patocka Signed-off-by: Mike Snitzer Cc: stable@vger.kernel.org # v3.12+ Signed-off-by: Sasha Levin --- diff --git a/drivers/md/dm-stats.c b/drivers/md/dm-stats.c index 87f86c77b0940..6f2a4ce413f7b 100644 --- a/drivers/md/dm-stats.c +++ b/drivers/md/dm-stats.c @@ -795,6 +795,8 @@ static int message_stats_create(struct mapped_device *md, return -EINVAL; if (sscanf(argv[2], "/%u%c", &divisor, &dummy) == 1) { + if (!divisor) + return -EINVAL; step = end - start; if (do_div(step, divisor)) step++;