Re: [PATCH linux-5.15.y] RISC-V: Fix up a cherry-pick warning in setup_vm_final()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Palmer,

On 4/30/23 00:43, Palmer Dabbelt wrote:
This triggers a -Wdeclaration-after-statement as the code has changed a
bit since upstream.  It might be better to hoist the whole block up, but
this is a smaller change so I went with it.

arch/riscv/mm/init.c:755:16: warning: mixing declarations and code is a C99 extension [-Wdeclaration-after-statement]
             unsigned long idx = pgd_index(__fix_to_virt(FIX_FDT));
                           ^
     1 warning generated.

Reported-by: kernel test robot <lkp@xxxxxxxxx>
Link: https://lore.kernel.org/oe-kbuild-all/202304300429.SXZOA5up-lkp@xxxxxxxxx/
Signed-off-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx>
---
I haven't even build tested this one, but it looks simple enough that I figured
I'd just send it.  Be warned, though: I broke glibc and missed a merged
conflict yesterday...
---
  arch/riscv/mm/init.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index e800d7981e99..8d67f43f1865 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -717,6 +717,7 @@ static void __init setup_vm_final(void)
  	uintptr_t va, map_size;
  	phys_addr_t pa, start, end;
  	u64 i;
+	unsigned long idx;
/**
  	 * MMU is enabled at this point. But page table setup is not complete yet.
@@ -735,7 +736,7 @@ static void __init setup_vm_final(void)
  	 * directly in swapper_pg_dir in addition to the pgd entry that points
  	 * to fixmap_pte.
  	 */
-	unsigned long idx = pgd_index(__fix_to_virt(FIX_FDT));
+	idx = pgd_index(__fix_to_virt(FIX_FDT));
set_pgd(&swapper_pg_dir[idx], early_pg_dir[idx]);
  #endif

The above results to in rv64:

../arch/riscv/mm/init.c: In function ‘setup_vm_final’:
../arch/riscv/mm/init.c:720:16: warning: unused variable ‘idx’ [-Wunused-variable]
  720 |  unsigned long idx;


The following fixes this warning:


diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c
index 8d67f43f1865..e69d82d573f1 100644
--- a/arch/riscv/mm/init.c
+++ b/arch/riscv/mm/init.c
@@ -717,7 +717,7 @@ static void __init setup_vm_final(void)
        uintptr_t va, map_size;
        phys_addr_t pa, start, end;
        u64 i;
-       unsigned long idx;
+       unsigned long idx __maybe_unused;

        /**
         * MMU is enabled at this point. But page table setup is not complete yet.


Let me know if you want me to send a proper patch as I'm the one to blame here.

Thanks for your patch,

Alex




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux