[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250915221436.GA925462@ax162>
Date: Mon, 15 Sep 2025 15:14:36 -0700
From: Nathan Chancellor <nathan@...nel.org>
To: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
Cc: kexec@...ts.infradead.org, linux-kernel@...r.kernel.org,
llvm@...ts.linux.dev, Andrew Morton <akpm@...ux-foundation.org>,
Baoquan He <bhe@...hat.com>,
Nick Desaulniers <nick.desaulniers+lkml@...il.com>,
Bill Wendling <morbo@...gle.com>,
Justin Stitt <justinstitt@...gle.com>
Subject: Re: [PATCH v1 1/1] kexec: Remove unused code in
kimage_load_cma_segment()
Hi Andy,
On Mon, Sep 15, 2025 at 05:55:43PM +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.
>
> Fixes: 07d24902977e ("kexec: enable CMA based contiguous allocation")
I don't think this fixes tag is right. maddr definitely looks used in
that diff. I think it is a follow up simplification that introduces
this.
Fixes: f4fecb50d6e1 ("kexec_core: remove superfluous page offset handling in segment loading")
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
> ---
Otherwise, this patch looks correct to me and GCC 16 will warn on this
as well.
kernel/kexec_core.c: In function 'kimage_load_cma_segment':
kernel/kexec_core.c:745:23: error: variable 'maddr' set but not used [-Werror=unused-but-set-variable=]
745 | unsigned long maddr;
| ^~~~~
Reviewed-by: Nathan Chancellor <nathan@...nel.org>
> 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
>
Powered by blists - more mailing lists