On Mon, 2021-11-22 at 18:55 -0600, Gustavo A. R. Silva wrote:
On Tue, Nov 23, 2021 at 07:51:33AM +0800, kernel test robot wrote:
> tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 136057256686de39cc3a07c2e39ef6bc43003ff6
> commit: dee2b702bcf067d7b6b62c18bdd060ff0810a800 kconfig: Add support for
-Wimplicit-fallthrough
> date: 8 days ago
> config: mips-randconfig-r016-20211116 (attached as .config)
> compiler: clang version 14.0.0 (
https://github.com/llvm/llvm-project
fbe72e41b99dc7994daac300d208a955be3e4a0a)
> reproduce (this is a W=1 build):
> wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install mips cross compiling tool for clang build
> # apt-get install binutils-mips-linux-gnu
> #
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
> git remote add linus
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout dee2b702bcf067d7b6b62c18bdd060ff0810a800
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=mips
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com>
>
> All warnings (new ones prefixed by >>):
>
> > > arch/mips/mm/tlbex.c:2243:3: warning: unannotated fall-through between
switch labels [-Wimplicit-fallthrough]
> case CPU_CAVIUM_OCTEON:
> ^
> arch/mips/mm/tlbex.c:2243:3: note: insert 'break;' to avoid fall-through
> case CPU_CAVIUM_OCTEON:
> ^
> break;
I already have a patch for this here:
https://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git/comm...
I think that's very odd looking code because of the braces.
And the fallthrough that you propose is odd as well.
Perhaps this would be better:
---
arch/mips/mm/tlbex.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index b131e6a773832..a873e343d3dc9 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -2236,15 +2236,14 @@ static void build_r4000_tlb_load_handler(void)
uasm_i_tlbr(&p);
switch (current_cpu_type()) {
- default:
- if (cpu_has_mips_r2_exec_hazard) {
- uasm_i_ehb(&p);
-
case CPU_CAVIUM_OCTEON:
case CPU_CAVIUM_OCTEON_PLUS:
case CPU_CAVIUM_OCTEON2:
- break;
- }
+ break;
+ default:
+ if (cpu_has_mips_r2_exec_hazard)
+ uasm_i_ehb(&p);
+ break;
}
/* Examine entrylo 0 or 1 based on ptr. */