All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kees Cook <kees@kernel.org>
To: Jan Kara <jack@suse.cz>
Cc: sunliming@linux.dev, viro@zeniv.linux.org.uk, brauner@kernel.org,
	ebiederm@xmission.com, linux-fsdevel@vger.kernel.org,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	sunliming@kylinos.cn, kernel test robot <lkp@intel.com>
Subject: Re: [PATCH] fs: binfmt_elf_efpic: fix variable set but not used warning
Date: Fri, 7 Mar 2025 12:30:36 -0800	[thread overview]
Message-ID: <202503071227.578545FF9@keescook> (raw)
In-Reply-To: <a555rynwidxdyj7s3oswpmcnkqu57jv3wsk5qwfg5zz6m55na3@n53ssiekfch4>

On Fri, Mar 07, 2025 at 03:47:28PM +0100, Jan Kara wrote:
> On Fri 07-03-25 14:11:28, sunliming@linux.dev wrote:
> > From: sunliming <sunliming@kylinos.cn>
> > 
> > Fix below kernel warning:
> > fs/binfmt_elf_fdpic.c:1024:52: warning: variable 'excess1' set but not
> > used [-Wunused-but-set-variable]
> > 
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: sunliming <sunliming@kylinos.cn>
> 
> The extra ifdef is not pretty but I guess it's better. Feel free to add:
> 
> Reviewed-by: Jan Kara <jack@suse.cz>

Since we allow loop-scope variable definitions now, perhaps this is a
case for defining the variable later within the #ifdef, like this?


diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index e3cf2801cd64..b0ef71238328 100644
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -1024,7 +1024,7 @@ static int elf_fdpic_map_file_by_direct_mmap(struct elf_fdpic_params *params,
 	/* deal with each load segment separately */
 	phdr = params->phdrs;
 	for (loop = 0; loop < params->hdr.e_phnum; loop++, phdr++) {
-		unsigned long maddr, disp, excess, excess1;
+		unsigned long maddr, disp, excess;
 		int prot = 0, flags;
 
 		if (phdr->p_type != PT_LOAD)
@@ -1120,9 +1120,10 @@ static int elf_fdpic_map_file_by_direct_mmap(struct elf_fdpic_params *params,
 		 *   extant in the file
 		 */
 		excess = phdr->p_memsz - phdr->p_filesz;
-		excess1 = PAGE_SIZE - ((maddr + phdr->p_filesz) & ~PAGE_MASK);
 
 #ifdef CONFIG_MMU
+		const unsigned long excess1 =
+			PAGE_SIZE - ((maddr + phdr->p_filesz) & ~PAGE_MASK);
 		if (excess > excess1) {
 			unsigned long xaddr = maddr + phdr->p_filesz + excess1;
 			unsigned long xmaddr;

> 
> 								Honza
> 
> > ---
> >  fs/binfmt_elf_fdpic.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> > 
> > diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
> > index e3cf2801cd64..bed13ee8bfec 100644
> > --- a/fs/binfmt_elf_fdpic.c
> > +++ b/fs/binfmt_elf_fdpic.c
> > @@ -1024,8 +1024,11 @@ static int elf_fdpic_map_file_by_direct_mmap(struct elf_fdpic_params *params,
> >  	/* deal with each load segment separately */
> >  	phdr = params->phdrs;
> >  	for (loop = 0; loop < params->hdr.e_phnum; loop++, phdr++) {
> > -		unsigned long maddr, disp, excess, excess1;
> > +		unsigned long maddr, disp, excess;
> >  		int prot = 0, flags;
> > +#ifdef CONFIG_MMU
> > +		unsigned long excess1;
> > +#endif
> >  
> >  		if (phdr->p_type != PT_LOAD)
> >  			continue;
> > @@ -1120,9 +1123,9 @@ static int elf_fdpic_map_file_by_direct_mmap(struct elf_fdpic_params *params,
> >  		 *   extant in the file
> >  		 */
> >  		excess = phdr->p_memsz - phdr->p_filesz;
> > -		excess1 = PAGE_SIZE - ((maddr + phdr->p_filesz) & ~PAGE_MASK);
> >  
> >  #ifdef CONFIG_MMU
> > +		excess1 = PAGE_SIZE - ((maddr + phdr->p_filesz) & ~PAGE_MASK);
> >  		if (excess > excess1) {
> >  			unsigned long xaddr = maddr + phdr->p_filesz + excess1;
> >  			unsigned long xmaddr;
> > -- 
> > 2.25.1
> > 
> -- 
> Jan Kara <jack@suse.com>
> SUSE Labs, CR

-- 
Kees Cook

  reply	other threads:[~2025-03-07 20:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-07  6:11 [PATCH] fs: binfmt_elf_efpic: fix variable set but not used warning sunliming
2025-03-07 14:47 ` Jan Kara
2025-03-07 20:30   ` Kees Cook [this message]
2025-03-08  2:21     ` Sunliming

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202503071227.578545FF9@keescook \
    --to=kees@kernel.org \
    --cc=brauner@kernel.org \
    --cc=ebiederm@xmission.com \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=sunliming@kylinos.cn \
    --cc=sunliming@linux.dev \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.