Hi Greg, On Mon, Oct 3, 2022 at 9:28 AM Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > From: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > > [ Upstream commit 06bbaa6dc53cb72040db952053432541acb9adc7 ] > > passing kmap_local_page() result to __kernel_write() is unsafe - > random ->write_iter() might (and 9p one does) get unhappy when > passed ITER_KVEC with pointer that came from kmap_local_page(). > > Fix by providing a variant of __kernel_write() that takes an iov_iter > from caller (__kernel_write() becomes a trivial wrapper) and adding > dump_emit_page() that parallels dump_emit(), except that instead of > __kernel_write() it uses __kernel_write_iter() with ITER_BVEC source. > > Fixes: 3159ed57792b "fs/coredump: use kmap_local_page()" > Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx> This will need a follow-up patch, which I have just posted[1], to not break the build if CONFIG_ELF_CORE is not set. [1] https://lore.kernel.org/20221003090657.2053236-1-geert@xxxxxxxxxxxxxx Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds