* [PATCH] module/decompress: Never use kunmap() for local un-mappings
@ 2023-03-15 12:52 Fabio M. De Francesco
2023-03-15 18:16 ` Ira Weiny
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Fabio M. De Francesco @ 2023-03-15 12:52 UTC (permalink / raw)
To: Luis Chamberlain, Jason Wessel, Daniel Thompson,
Douglas Anderson, Josh Poimboeuf, Jiri Kosina, Miroslav Benes,
Petr Mladek, Joe Lawrence, Chris Down, Nick Terrell,
Nathan Chancellor, Nick Desaulniers, Tom Rix, linux-modules,
linux-kernel, kgdb-bugreport, live-patching, bpf, llvm
Cc: Fabio M. De Francesco, Piotr Gorski, Dmitry Torokhov,
Stephen Boyd, Ira Weiny
Use kunmap_local() to unmap pages locally mapped with kmap_local_page().
kunmap_local() must be called on the kernel virtual address returned by
kmap_local_page(), differently from how we use kunmap() which instead
expects the mapped page as its argument.
In module_zstd_decompress() we currently map with kmap_local_page() and
unmap with kunmap(). This breaks the code and so it should be fixed.
Cc: Piotr Gorski <piotrgorski@cachyos.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: Stephen Boyd <swboyd@chromium.org>
Cc: Ira Weiny <ira.weiny@intel.com>
Fixes: 169a58ad824d ("module/decompress: Support zstd in-kernel decompression")
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
---
kernel/module/decompress.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/module/decompress.c b/kernel/module/decompress.c
index bb79ac1a6d8f..7ddc87bee274 100644
--- a/kernel/module/decompress.c
+++ b/kernel/module/decompress.c
@@ -267,7 +267,7 @@ static ssize_t module_zstd_decompress(struct load_info *info,
zstd_dec.size = PAGE_SIZE;
ret = zstd_decompress_stream(dstream, &zstd_dec, &zstd_buf);
- kunmap(page);
+ kunmap_local(zstd_dec.dst);
retval = zstd_get_error_code(ret);
if (retval)
break;
--
2.39.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] module/decompress: Never use kunmap() for local un-mappings
2023-03-15 12:52 [PATCH] module/decompress: Never use kunmap() for local un-mappings Fabio M. De Francesco
@ 2023-03-15 18:16 ` Ira Weiny
2023-03-17 19:04 ` Stephen Boyd
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Ira Weiny @ 2023-03-15 18:16 UTC (permalink / raw)
To: Fabio M. De Francesco, Luis Chamberlain, Jason Wessel,
Daniel Thompson, Douglas Anderson, Josh Poimboeuf, Jiri Kosina,
Miroslav Benes, Petr Mladek, Joe Lawrence, Chris Down,
Nick Terrell, Nathan Chancellor, Nick Desaulniers, Tom Rix,
linux-modules, linux-kernel, kgdb-bugreport, live-patching, bpf,
llvm
Cc: Fabio M. De Francesco, Piotr Gorski, Dmitry Torokhov,
Stephen Boyd, Ira Weiny
Fabio M. De Francesco wrote:
> Use kunmap_local() to unmap pages locally mapped with kmap_local_page().
>
> kunmap_local() must be called on the kernel virtual address returned by
> kmap_local_page(), differently from how we use kunmap() which instead
> expects the mapped page as its argument.
>
> In module_zstd_decompress() we currently map with kmap_local_page() and
> unmap with kunmap(). This breaks the code and so it should be fixed.
>
> Cc: Piotr Gorski <piotrgorski@cachyos.org>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Luis Chamberlain <mcgrof@kernel.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Cc: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
> Fixes: 169a58ad824d ("module/decompress: Support zstd in-kernel decompression")
> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
> ---
> kernel/module/decompress.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/module/decompress.c b/kernel/module/decompress.c
> index bb79ac1a6d8f..7ddc87bee274 100644
> --- a/kernel/module/decompress.c
> +++ b/kernel/module/decompress.c
> @@ -267,7 +267,7 @@ static ssize_t module_zstd_decompress(struct load_info *info,
> zstd_dec.size = PAGE_SIZE;
>
> ret = zstd_decompress_stream(dstream, &zstd_dec, &zstd_buf);
> - kunmap(page);
> + kunmap_local(zstd_dec.dst);
> retval = zstd_get_error_code(ret);
> if (retval)
> break;
> --
> 2.39.2
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] module/decompress: Never use kunmap() for local un-mappings
2023-03-15 12:52 [PATCH] module/decompress: Never use kunmap() for local un-mappings Fabio M. De Francesco
2023-03-15 18:16 ` Ira Weiny
@ 2023-03-17 19:04 ` Stephen Boyd
2023-03-21 8:23 ` Piotr Gorski
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Stephen Boyd @ 2023-03-17 19:04 UTC (permalink / raw)
To: Chris Down, Daniel Thompson, Douglas Anderson,
Fabio M. De Francesco, Jason Wessel, Jiri Kosina, Joe Lawrence,
Josh Poimboeuf, Luis Chamberlain, Miroslav Benes,
Nathan Chancellor, Nick Desaulniers, Nick Terrell, Petr Mladek,
Tom Rix, bpf, kgdb-bugreport, linux-kernel, linux-modules,
live-patching, llvm
Cc: Piotr Gorski, Dmitry Torokhov, Ira Weiny
Quoting Fabio M. De Francesco (2023-03-15 05:52:56)
> Use kunmap_local() to unmap pages locally mapped with kmap_local_page().
>
> kunmap_local() must be called on the kernel virtual address returned by
> kmap_local_page(), differently from how we use kunmap() which instead
> expects the mapped page as its argument.
>
> In module_zstd_decompress() we currently map with kmap_local_page() and
> unmap with kunmap(). This breaks the code and so it should be fixed.
>
> Cc: Piotr Gorski <piotrgorski@cachyos.org>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Luis Chamberlain <mcgrof@kernel.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Cc: Ira Weiny <ira.weiny@intel.com>
> Fixes: 169a58ad824d ("module/decompress: Support zstd in-kernel decompression")
> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
> ---
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] module/decompress: Never use kunmap() for local un-mappings
2023-03-15 12:52 [PATCH] module/decompress: Never use kunmap() for local un-mappings Fabio M. De Francesco
2023-03-15 18:16 ` Ira Weiny
2023-03-17 19:04 ` Stephen Boyd
@ 2023-03-21 8:23 ` Piotr Gorski
2023-03-21 8:33 ` Piotr Gorski
2023-03-22 23:24 ` Luis Chamberlain
4 siblings, 0 replies; 6+ messages in thread
From: Piotr Gorski @ 2023-03-21 8:23 UTC (permalink / raw)
To: Fabio M. De Francesco, Luis Chamberlain, Jason Wessel,
Daniel Thompson, Douglas Anderson, Josh Poimboeuf, Jiri Kosina,
Miroslav Benes, Petr Mladek, Joe Lawrence, Chris Down,
Nick Terrell, Nathan Chancellor, Nick Desaulniers, Tom Rix,
linux-modules, linux-kernel, kgdb-bugreport, live-patching, bpf,
llvm
Cc: Dmitry Torokhov, Stephen Boyd, Ira Weiny
Reviewed-by: Piotr Gorski <piotrgorski@cachyos.org>
W dniu 15.03.2023 o 13:52, Fabio M. De Francesco pisze:
> Use kunmap_local() to unmap pages locally mapped with kmap_local_page().
>
> kunmap_local() must be called on the kernel virtual address returned by
> kmap_local_page(), differently from how we use kunmap() which instead
> expects the mapped page as its argument.
>
> In module_zstd_decompress() we currently map with kmap_local_page() and
> unmap with kunmap(). This breaks the code and so it should be fixed.
>
> Cc: Piotr Gorski <piotrgorski@cachyos.org>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Luis Chamberlain <mcgrof@kernel.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Cc: Ira Weiny <ira.weiny@intel.com>
> Fixes: 169a58ad824d ("module/decompress: Support zstd in-kernel decompression")
> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
> ---
> kernel/module/decompress.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/module/decompress.c b/kernel/module/decompress.c
> index bb79ac1a6d8f..7ddc87bee274 100644
> --- a/kernel/module/decompress.c
> +++ b/kernel/module/decompress.c
> @@ -267,7 +267,7 @@ static ssize_t module_zstd_decompress(struct load_info *info,
> zstd_dec.size = PAGE_SIZE;
>
> ret = zstd_decompress_stream(dstream, &zstd_dec, &zstd_buf);
> - kunmap(page);
> + kunmap_local(zstd_dec.dst);
> retval = zstd_get_error_code(ret);
> if (retval)
> break;
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] module/decompress: Never use kunmap() for local un-mappings
2023-03-15 12:52 [PATCH] module/decompress: Never use kunmap() for local un-mappings Fabio M. De Francesco
` (2 preceding siblings ...)
2023-03-21 8:23 ` Piotr Gorski
@ 2023-03-21 8:33 ` Piotr Gorski
2023-03-22 23:24 ` Luis Chamberlain
4 siblings, 0 replies; 6+ messages in thread
From: Piotr Gorski @ 2023-03-21 8:33 UTC (permalink / raw)
To: linux-modules, linux-kernel, kgdb-bugreport, live-patching, bpf, llvm
Reviewed-by: Piotr Gorski <piotrgorski@cachyos.org>
W dniu 15.03.2023 o 13:52, Fabio M. De Francesco pisze:
> Use kunmap_local() to unmap pages locally mapped with kmap_local_page().
>
> kunmap_local() must be called on the kernel virtual address returned by
> kmap_local_page(), differently from how we use kunmap() which instead
> expects the mapped page as its argument.
>
> In module_zstd_decompress() we currently map with kmap_local_page() and
> unmap with kunmap(). This breaks the code and so it should be fixed.
>
> Cc: Piotr Gorski <piotrgorski@cachyos.org>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Luis Chamberlain <mcgrof@kernel.org>
> Cc: Stephen Boyd <swboyd@chromium.org>
> Cc: Ira Weiny <ira.weiny@intel.com>
> Fixes: 169a58ad824d ("module/decompress: Support zstd in-kernel decompression")
> Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
> ---
> kernel/module/decompress.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/module/decompress.c b/kernel/module/decompress.c
> index bb79ac1a6d8f..7ddc87bee274 100644
> --- a/kernel/module/decompress.c
> +++ b/kernel/module/decompress.c
> @@ -267,7 +267,7 @@ static ssize_t module_zstd_decompress(struct load_info *info,
> zstd_dec.size = PAGE_SIZE;
>
> ret = zstd_decompress_stream(dstream, &zstd_dec, &zstd_buf);
> - kunmap(page);
> + kunmap_local(zstd_dec.dst);
> retval = zstd_get_error_code(ret);
> if (retval)
> break;
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] module/decompress: Never use kunmap() for local un-mappings
2023-03-15 12:52 [PATCH] module/decompress: Never use kunmap() for local un-mappings Fabio M. De Francesco
` (3 preceding siblings ...)
2023-03-21 8:33 ` Piotr Gorski
@ 2023-03-22 23:24 ` Luis Chamberlain
4 siblings, 0 replies; 6+ messages in thread
From: Luis Chamberlain @ 2023-03-22 23:24 UTC (permalink / raw)
To: jason.wessel, joe.lawrence, daniel.thompson, jikos,
linux-modules, llvm, nathan, trix, chris, linux-kernel, mbenes,
terrelln, kgdb-bugreport, live-patching, fmdefrancesco, dianders,
pmladek, jpoimboe, ndesaulniers, bpf
Cc: Luis Chamberlain, ira.weiny, dmitry.torokhov, swboyd, piotrgorski
From: Luis Chamberlain <mcgrof@kernel.org>
On Wed, 15 Mar 2023 13:52:56 +0100, Fabio M. De Francesco wrote:
> Use kunmap_local() to unmap pages locally mapped with kmap_local_page().
>
> kunmap_local() must be called on the kernel virtual address returned by
> kmap_local_page(), differently from how we use kunmap() which instead
> expects the mapped page as its argument.
>
> In module_zstd_decompress() we currently map with kmap_local_page() and
> unmap with kunmap(). This breaks the code and so it should be fixed.
>
> [...]
Applied, thanks!
[1/1] module/decompress: Never use kunmap() for local un-mappings
commit: 3c17655ab13704582fe25e8ea3200a9b2f8bf20a
Luis
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2023-03-22 23:24 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-15 12:52 [PATCH] module/decompress: Never use kunmap() for local un-mappings Fabio M. De Francesco
2023-03-15 18:16 ` Ira Weiny
2023-03-17 19:04 ` Stephen Boyd
2023-03-21 8:23 ` Piotr Gorski
2023-03-21 8:33 ` Piotr Gorski
2023-03-22 23:24 ` Luis Chamberlain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).