module: Correctly truncate sysfs sections output
authorKees Cook <keescook@chromium.org>
Thu, 6 Aug 2020 21:15:23 +0000 (14:15 -0700)
committerKees Cook <keescook@chromium.org>
Fri, 7 Aug 2020 17:49:47 +0000 (10:49 -0700)
commit11990a5bd7e558e9203c1070fc52fb6f0488e75b
treee1e454857708984a38bc3c306332d68376a691a5
parentbcf876870b95592b52519ed4aafcf9d95999bc9c
module: Correctly truncate sysfs sections output

The only-root-readable /sys/module/$module/sections/$section files
did not truncate their output to the available buffer size. While most
paths into the kernfs read handlers end up using PAGE_SIZE buffers,
it's possible to get there through other paths (e.g. splice, sendfile).
Actually limit the output to the "count" passed into the read function,
and report it back correctly. *sigh*

Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/lkml/20200805002015.GE23458@shao2-debian
Fixes: ed66f991bb19 ("module: Refactor section attr into bin attribute")
Cc: stable@vger.kernel.org
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Jessica Yu <jeyu@kernel.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
kernel/module.c