ubifs: Don't leak kernel memory to the MTD
authorRichard Weinberger <richard@nod.at>
Fri, 16 Jun 2017 14:21:44 +0000 (16:21 +0200)
committerRichard Weinberger <richard@nod.at>
Fri, 14 Jul 2017 20:50:52 +0000 (22:50 +0200)
commit4acadda74ff8b949c448c0282765ae747e088c87
treef352b5b37c1f1da4f73e2e8c1bccea9b05c767dd
parent480a1a6a3ef6fb6be4cd2f37b34314fbf64867dd
ubifs: Don't leak kernel memory to the MTD

When UBIFS prepares data structures which will be written to the MTD it
ensues that their lengths are multiple of 8. Since it uses kmalloc() the
padded bytes are left uninitialized and we leak a few bytes of kernel
memory to the MTD.
To make sure that all bytes are initialized, let's switch to kzalloc().
Kzalloc() is fine in this case because the buffers are not huge and in
the IO path the performance bottleneck is anyway the MTD.

Cc: stable@vger.kernel.org
Fixes: 1e51764a3c2a ("UBIFS: add new flash file system")
Signed-off-by: Richard Weinberger <richard@nod.at>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/journal.c