lkml.org 
[lkml]   [2021]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subjectarch/mips/lib/uncached.c:50 run_uncached() warn: always true condition '(sp >= (9223372036854775808 | ((0) << 59) | (0))) => (s64min-s64max >= s64min)'
Hi Lauri,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2b14864acbaaf03d9c01982e243a84632524c3ac
commit: baec970aa5ba11099ad7a91773350c91fb2113f0 mips: Add N64 machine type
date: 11 months ago
config: mips-randconfig-m031-20211216 (https://download.01.org/0day-ci/archive/20211216/202112162231.WVjq5Lh3-lkp@intel.com/config)
compiler: mips64-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

New smatch warnings:
arch/mips/lib/uncached.c:50 run_uncached() warn: always true condition '(sp >= (9223372036854775808 | ((0) << 59) | (0))) => (s64min-s64max >= s64min)'
arch/mips/lib/uncached.c:62 run_uncached() warn: always true condition '(lfunc >= (9223372036854775808 | ((0) << 59) | (0))) => (s64min-s64max >= s64min)'
arch/mips/kernel/unaligned.c:347 emulate_load_store_insn() warn: ignoring unreachable code.
arch/mips/kernel/unaligned.c:1136 emulate_load_store_microMIPS() warn: ignoring unreachable code.
arch/mips/kernel/unaligned.c:1402 emulate_load_store_MIPS16e() warn: ignoring unreachable code.
arch/mips/math-emu/dsemul.c:264 mips_dsemul() warn: 'break_math' 33685517 can't fit into 65535 '*(_badinst.halfword[1])'
kernel/bpf/ringbuf.c:334 __bpf_ringbuf_reserve() error: uninitialized symbol 'flags'.

Old smatch warnings:
arch/mips/kernel/unaligned.c:370 emulate_load_store_insn() warn: ignoring unreachable code.
arch/mips/kernel/unaligned.c:433 emulate_load_store_insn() warn: ignoring unreachable code.
arch/mips/kernel/unaligned.c:1158 emulate_load_store_microMIPS() warn: ignoring unreachable code.
arch/mips/kernel/unaligned.c:1200 emulate_load_store_microMIPS() warn: ignoring unreachable code.
arch/mips/kernel/unaligned.c:1426 emulate_load_store_MIPS16e() warn: ignoring unreachable code.
arch/mips/kernel/unaligned.c:1474 emulate_load_store_MIPS16e() warn: ignoring unreachable code.

vim +50 arch/mips/lib/uncached.c

ba5187dbb4b2ea Thiemo Seufer 2005-04-25 22
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 23 /*
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 24 * FUNC is executed in one of the uncached segments, depending on its
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 25 * original address as follows:
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 26 *
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 27 * 1. If the original address is in CKSEG0 or CKSEG1, then the uncached
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 28 * segment used is CKSEG1.
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 29 * 2. If the original address is in XKPHYS, then the uncached segment
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 30 * used is XKPHYS(2).
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 31 * 3. Otherwise it's a bug.
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 32 *
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 33 * The same remapping is done with the stack pointer. Stack handling
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 34 * works because we don't handle stack arguments or more complex return
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 35 * values, so we can avoid sharing the same stack area between a cached
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 36 * and the uncached mode.
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 37 */
078a55fc824c16 Paul Gortmaker 2013-06-18 38 unsigned long run_uncached(void *func)
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 39 {
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 40 register long ret __asm__("$2");
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 41 long lfunc = (long)func, ufunc;
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 42 long usp;
5b058973d32055 Anders Roxell 2020-12-11 43 long sp;
5b058973d32055 Anders Roxell 2020-12-11 44
5b058973d32055 Anders Roxell 2020-12-11 45 __asm__("move %0, $sp" : "=r" (sp));
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 46
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 47 if (sp >= (long)CKSEG0 && sp < (long)CKSEG2)
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 48 usp = CKSEG1ADDR(sp);
c55197eb549dc0 Yoichi Yuasa 2007-02-06 49 #ifdef CONFIG_64BIT
48ef2626aeecac Andrew Sharp 2007-10-31 @50 else if ((long long)sp >= (long long)PHYS_TO_XKPHYS(0, 0) &&
48ef2626aeecac Andrew Sharp 2007-10-31 51 (long long)sp < (long long)PHYS_TO_XKPHYS(8, 0))
48ef2626aeecac Andrew Sharp 2007-10-31 52 usp = PHYS_TO_XKPHYS(K_CALG_UNCACHED,
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 53 XKPHYS_TO_PHYS((long long)sp));
c55197eb549dc0 Yoichi Yuasa 2007-02-06 54 #endif
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 55 else {
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 56 BUG();
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 57 usp = sp;
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 58 }
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 59 if (lfunc >= (long)CKSEG0 && lfunc < (long)CKSEG2)
ba5187dbb4b2ea Thiemo Seufer 2005-04-25 60 ufunc = CKSEG1ADDR(lfunc);
c55197eb549dc0 Yoichi Yuasa 2007-02-06 61 #ifdef CONFIG_64BIT
48ef2626aeecac Andrew Sharp 2007-10-31 @62 else if ((long long)lfunc >= (long long)PHYS_TO_XKPHYS(0, 0) &&

:::::: The code at line 50 was first introduced by commit
:::::: 48ef2626aeecac3b160d1aee38ac46d6c3540122 [MIPS] Put cast inside macro instead of all the callers

:::::: TO: Andrew Sharp <andy.sharp@onstor.com>
:::::: CC: Ralf Baechle <ralf@linux-mips.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

\
 
 \ /
  Last update: 2021-12-16 15:17    [W:0.238 / U:0.108 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site