[resend, PATCH v2 1/1] kexec: Remove unused code in kimage_load_cma_segment()
Justinien Bouron
jbouron at amazon.com
Tue Sep 23 10:50:55 PDT 2025
On Tue, Sep 16, 2025 at 02:51:09PM +0200, Andy Shevchenko wrote:
> clang is not happy about set but unused variable:
>
> kernel/kexec_core.c:745:16: error: variable 'maddr' set but not used [-Werror,-Wunused-but-set-variable]
> 745 | unsigned long maddr;
> | ^
> 1 error generated.
>
> Fix the compilation breakage (`make W=1` build) by removing unused variable.
>
> As Nathan noted, GCC 16 produces the similar warning;
>
> Fixes: f4fecb50d6e1 ("kexec_core: remove superfluous page offset handling in segment loading")
FYI the commit this patch is fixing (i.e. f4fecb50d6e1) is going to need a
second revision as well (I haven't submitted it yet, still working on it), this
means that your "Fixes:" tag will need to be changed again, requiring a 3rd
revision.
I am not sure what is the proper way forward here. Should I:
- Send my v2, without fixing the unused variable and then you send your v3
with the updated "Fixes:" tag pointing to my v2.
- OR fixing the unused variable in my v2 (i.e. "absorb" this patch in my
v2).
In the latter case, I am not sure how I am supposed to credit the work in this
case? Do I need to add another "Signed-off-by: Andy Shevchenko" besides mine?
I'm still learning the ropes on how to contribute through the mailing list so I
would be grateful if you could share your input on what's the proper way forward
here.
Best,
Justinien
> Reviewed-by: Nathan Chancellor <nathan at kernel.org>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> ---
>
> v2: fixed Fixes (Nathan), added a note about GCC (Nathan), added tag (Nathan)
>
> kernel/kexec_core.c | 3 ---
> 1 file changed, 3 deletions(-)
>
> diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
> index 5357ed39e9d1..32722926bc7e 100644
> --- a/kernel/kexec_core.c
> +++ b/kernel/kexec_core.c
> @@ -742,7 +742,6 @@ static int kimage_load_cma_segment(struct kimage *image, int idx)
> struct kexec_segment *segment = &image->segment[idx];
> struct page *cma = image->segment_cma[idx];
> char *ptr = page_address(cma);
> - unsigned long maddr;
> size_t ubytes, mbytes;
> int result = 0;
> unsigned char __user *buf = NULL;
> @@ -754,7 +753,6 @@ static int kimage_load_cma_segment(struct kimage *image, int idx)
> buf = segment->buf;
> ubytes = segment->bufsz;
> mbytes = segment->memsz;
> - maddr = segment->mem;
>
> /* Then copy from source buffer to the CMA one */
> while (mbytes) {
> @@ -782,7 +780,6 @@ static int kimage_load_cma_segment(struct kimage *image, int idx)
> }
>
> ptr += mchunk;
> - maddr += mchunk;
> mbytes -= mchunk;
>
> cond_resched();
> --
> 2.50.1
>
More information about the kexec
mailing list