From: Ma Shimiao Date: Tue, 12 Dec 2017 09:39:10 +0000 (+0800) Subject: dm log writes: fix max length used for kstrndup X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4b259fc4a8a12dcd0ffd670877a7a1ca2ab0f3e3;p=linux.git dm log writes: fix max length used for kstrndup If source string is longer than max, kstrndup will allocate max+1 space. So make sure the result will not exceed max. Signed-off-by: Ma Shimiao Signed-off-by: Mike Snitzer --- diff --git a/drivers/md/dm-log-writes.c b/drivers/md/dm-log-writes.c index 189badbeddaf7..3362d866793b3 100644 --- a/drivers/md/dm-log-writes.c +++ b/drivers/md/dm-log-writes.c @@ -594,7 +594,7 @@ static int log_mark(struct log_writes_c *lc, char *data) return -ENOMEM; } - block->data = kstrndup(data, maxsize, GFP_KERNEL); + block->data = kstrndup(data, maxsize - 1, GFP_KERNEL); if (!block->data) { DMERR("Error copying mark data"); kfree(block);