kernel/kexec.c: use vscnprintf() instead of vsnprintf() in vmcoreinfo_append_str()
authorChen Gang <gang.chen@asianux.com>
Tue, 28 Jan 2014 01:07:13 +0000 (17:07 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 28 Jan 2014 05:02:40 +0000 (21:02 -0800)
commita19428e5c3f4f39c302cb97b847dfd23613145c1
treeef2341c5034451ae55e5c0ca0a727a4455ec6c44
parent53e0ee9fc59cb17fcad57e481b5889c791afe6c3
kernel/kexec.c: use vscnprintf() instead of vsnprintf() in vmcoreinfo_append_str()

vsnprintf() may let 'r' larger than sizeof(buf), in this case, if 'r' is
also less than "vmcoreinfo_max_size - vmcoreinfo_size" (left size of
destination buffer), next memcpy() will read the unexpected addresses.

Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/kexec.c