linux/usr
David Disseldorp 3a2699cfbe gen_init_cpio: fix short read file handling
When processing a "file" entry, gen_init_cpio attempts to allocate a
buffer large enough to stage the entire contents of the source file.  It
then attempts to fill the buffer via a single read() call and subsequently
writes out the entire buffer length, without checking that read() returned
the full length, potentially writing uninitialized buffer memory.

Fix this by breaking up file I/O into 64k chunks and only writing the
length returned by the prior read() call.

Link: https://lkml.kernel.org/r/20220404093429.27570-5-ddiss@suse.de
Signed-off-by: David Disseldorp <ddiss@suse.de>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <christian.brauner@ubuntu.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-05-09 18:29:20 -07:00
..
include Kbuild updates for v5.18 2022-03-31 11:59:03 -07:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
default_cpio_list initramfs: add default_cpio_list, and delete -d option support 2020-01-16 00:25:22 +09:00
gen_init_cpio.c gen_init_cpio: fix short read file handling 2022-05-09 18:29:20 -07:00
gen_initramfs.sh kbuild: replace LANG=C with LC_ALL=C 2021-05-02 00:43:35 +09:00
initramfs_data.S initramfs: refactor the initramfs build rules 2020-01-16 00:26:21 +09:00
Kconfig initramfs: Remove redundant dependency of RD_ZSTD on BLK_DEV_INITRD 2021-02-24 15:12:06 +09:00
Makefile kbuild: unify cmd_copy and cmd_shipped 2022-02-14 10:37:32 +09:00