summaryrefslogtreecommitdiffstats
path: root/kernel/module
diff options
context:
space:
mode:
authorLucas De Marchi <lucas.demarchi@intel.com>2023-06-01 14:23:31 -0700
committerLuis Chamberlain <mcgrof@kernel.org>2023-06-01 14:36:46 -0700
commitfadb74f9f2f609238070c7ca1b04933dc9400e4a (patch)
tree9f93bf862f5c7a460cc947b1e0dba20f45a70603 /kernel/module
parentdb3e33dd8bd956f165436afdbdbf1c653fb3c8e6 (diff)
downloadlinux-fadb74f9f2f609238070c7ca1b04933dc9400e4a.tar.gz
linux-fadb74f9f2f609238070c7ca1b04933dc9400e4a.tar.bz2
linux-fadb74f9f2f609238070c7ca1b04933dc9400e4a.zip
module/decompress: Fix error checking on zstd decompression
While implementing support for in-kernel decompression in kmod, finit_module() was returning a very suspicious value: finit_module(3, "", MODULE_INIT_COMPRESSED_FILE) = 18446744072717407296 It turns out the check for module_get_next_page() failing is wrong, and hence the decompression was not really taking place. Invert the condition to fix it. Fixes: 169a58ad824d ("module/decompress: Support zstd in-kernel decompression") Cc: stable@kernel.org Cc: Luis Chamberlain <mcgrof@kernel.org> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
Diffstat (limited to 'kernel/module')
-rw-r--r--kernel/module/decompress.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/module/decompress.c b/kernel/module/decompress.c
index e97232b125eb..8a5d6d63b06c 100644
--- a/kernel/module/decompress.c
+++ b/kernel/module/decompress.c
@@ -257,7 +257,7 @@ static ssize_t module_zstd_decompress(struct load_info *info,
do {
struct page *page = module_get_next_page(info);
- if (!IS_ERR(page)) {
+ if (IS_ERR(page)) {
retval = PTR_ERR(page);
goto out;
}