mm/mmu_gather: change __tlb_remove_tlb_entry() to an inline function

Message ID 20240221154549.2026073-1-arnd@kernel.org
State New
Headers
Series mm/mmu_gather: change __tlb_remove_tlb_entry() to an inline function |

Commit Message

Arnd Bergmann Feb. 21, 2024, 3:45 p.m. UTC
  From: Arnd Bergmann <arnd@arndb.de>

clang complains about tlb_remove_tlb_entries() not using the 'ptep' variable
when __tlb_remove_tlb_entry() is an empty macro:

include/asm-generic/tlb.h:627:10: error: parameter 'ptep' set but not used [-Werror,-Wunused-but-set-parameter]

Change it to an equivalent inline function that avoids the warning since
the compiler can see how the variable gets passed into it.

Fixes: 66958b447695 ("mm/mmu_gather: add tlb_remove_tlb_entries()")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 include/asm-generic/tlb.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

David Hildenbrand Feb. 21, 2024, 7:30 p.m. UTC | #1
On 21.02.24 16:45, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 

Hi Arnd,

> clang complains about tlb_remove_tlb_entries() not using the 'ptep' variable
> when __tlb_remove_tlb_entry() is an empty macro:
> 
> include/asm-generic/tlb.h:627:10: error: parameter 'ptep' set but not used [-Werror,-Wunused-but-set-parameter]
> 
> Change it to an equivalent inline function that avoids the warning since
> the compiler can see how the variable gets passed into it.
> 

Ugh, quite an annoying clang behavior in this particular case. I wonder 
why no build bot complained so far.

Thanks!

> Fixes: 66958b447695 ("mm/mmu_gather: add tlb_remove_tlb_entries()")

That commit id is not stable yet. So Andrew might want to fold it into 
that commit before moving it to mm-stable.
  

Patch

diff --git a/include/asm-generic/tlb.h b/include/asm-generic/tlb.h
index bd00dd238b79..709830274b75 100644
--- a/include/asm-generic/tlb.h
+++ b/include/asm-generic/tlb.h
@@ -600,7 +600,9 @@  static inline void tlb_flush_p4d_range(struct mmu_gather *tlb,
 }
 
 #ifndef __tlb_remove_tlb_entry
-#define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0)
+static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, unsigned long address)
+{
+}
 #endif
 
 /**