diff options
author | Lucas De Marchi <lucas.demarchi@intel.com> | 2023-06-02 00:23:31 +0300 |
---|---|---|
committer | Luis Chamberlain <mcgrof@kernel.org> | 2023-06-02 00:36:46 +0300 |
commit | fadb74f9f2f609238070c7ca1b04933dc9400e4a (patch) | |
tree | 9f93bf862f5c7a460cc947b1e0dba20f45a70603 /kernel/module/decompress.c | |
parent | db3e33dd8bd956f165436afdbdbf1c653fb3c8e6 (diff) | |
download | linux-fadb74f9f2f609238070c7ca1b04933dc9400e4a.tar.xz |
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/decompress.c')
-rw-r--r-- | kernel/module/decompress.c | 2 |
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; } |