ubifs: wbuf: Don't leak kernel memory to flash
authorRichard Weinberger <richard@nod.at>
Mon, 16 Nov 2020 21:05:30 +0000 (22:05 +0100)
committerRichard Weinberger <richard@nod.at>
Sun, 13 Dec 2020 20:57:20 +0000 (21:57 +0100)
commit20f1431160c6b590cdc269a846fc5a448abf5b98
tree5132362b34e3496054ec56c71fc1c3e4a41c9cf0
parent619ea229e9b54e65955f8746a31ae15797d297fc
ubifs: wbuf: Don't leak kernel memory to flash

Write buffers use a kmalloc()'ed buffer, they can leak
up to seven bytes of kernel memory to flash if writes are not
aligned.
So use ubifs_pad() to fill these gaps with padding bytes.
This was never a problem while scanning because the scanner logic
manually aligns node lengths and skips over these gaps.

Cc: <stable@vger.kernel.org>
Fixes: 1e51764a3c2ac05a2 ("UBIFS: add new flash file system")
Signed-off-by: Richard Weinberger <richard@nod.at>
Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/io.c