All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Jakub Jelinek <jakub@redhat.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: arch/mips/mm/tlbex.c:2599 check_pabits() warn: always true condition '(fillbits >= ((__builtin_constant_p(0)) ?(((0) < 2) ?0:63 - __builtin_clzll(0)):((4 <= 4)) ?__ilog2_u32(0):__ilog2_u64(0))) => (0-u32max >= 0)'
Date: Thu, 16 Dec 2021 19:41:25 +0800	[thread overview]
Message-ID: <202112161929.ccx97Im9-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2b14864acbaaf03d9c01982e243a84632524c3ac
commit: 2f78788b55baa3410b1ec91a576286abe1ad4d6a ilog2: improve ilog2 for constant arguments
date:   1 year ago
config: mips-randconfig-m031-20211216 (https://download.01.org/0day-ci/archive/20211216/202112161929.ccx97Im9-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/mm/tlbex.c:2599 check_pabits() warn: always true condition '(fillbits >= ((__builtin_constant_p(0)) ?(((0) < 2) ?0:63 - __builtin_clzll(0)):((4 <= 4)) ?__ilog2_u32(0):__ilog2_u64(0))) => (0-u32max >= 0)'

Old smatch warnings:
arch/mips/mm/tlbex.c:1681 iPTE_LW() warn: curly braces intended?
arch/mips/mm/tlbex.c:1713 iPTE_SW() warn: inconsistent indenting

vim +2599 arch/mips/mm/tlbex.c

c5b367835cfc7a Steven J. Hill 2015-02-26  2569  
00bf1c691d082c Paul Burton    2015-09-22  2570  static void check_pabits(void)
00bf1c691d082c Paul Burton    2015-09-22  2571  {
00bf1c691d082c Paul Burton    2015-09-22  2572  	unsigned long entry;
00bf1c691d082c Paul Burton    2015-09-22  2573  	unsigned pabits, fillbits;
00bf1c691d082c Paul Burton    2015-09-22  2574  
00bf1c691d082c Paul Burton    2015-09-22  2575  	if (!cpu_has_rixi || !_PAGE_NO_EXEC) {
00bf1c691d082c Paul Burton    2015-09-22  2576  		/*
00bf1c691d082c Paul Burton    2015-09-22  2577  		 * We'll only be making use of the fact that we can rotate bits
00bf1c691d082c Paul Burton    2015-09-22  2578  		 * into the fill if the CPU supports RIXI, so don't bother
00bf1c691d082c Paul Burton    2015-09-22  2579  		 * probing this for CPUs which don't.
00bf1c691d082c Paul Burton    2015-09-22  2580  		 */
00bf1c691d082c Paul Burton    2015-09-22  2581  		return;
00bf1c691d082c Paul Burton    2015-09-22  2582  	}
00bf1c691d082c Paul Burton    2015-09-22  2583  
00bf1c691d082c Paul Burton    2015-09-22  2584  	write_c0_entrylo0(~0ul);
00bf1c691d082c Paul Burton    2015-09-22  2585  	back_to_back_c0_hazard();
00bf1c691d082c Paul Burton    2015-09-22  2586  	entry = read_c0_entrylo0();
00bf1c691d082c Paul Burton    2015-09-22  2587  
00bf1c691d082c Paul Burton    2015-09-22  2588  	/* clear all non-PFN bits */
00bf1c691d082c Paul Burton    2015-09-22  2589  	entry &= ~((1 << MIPS_ENTRYLO_PFN_SHIFT) - 1);
00bf1c691d082c Paul Burton    2015-09-22  2590  	entry &= ~(MIPS_ENTRYLO_RI | MIPS_ENTRYLO_XI);
00bf1c691d082c Paul Burton    2015-09-22  2591  
00bf1c691d082c Paul Burton    2015-09-22  2592  	/* find a lower bound on PABITS, and upper bound on fill bits */
00bf1c691d082c Paul Burton    2015-09-22  2593  	pabits = fls_long(entry) + 6;
00bf1c691d082c Paul Burton    2015-09-22  2594  	fillbits = max_t(int, (int)BITS_PER_LONG - pabits, 0);
00bf1c691d082c Paul Burton    2015-09-22  2595  
00bf1c691d082c Paul Burton    2015-09-22  2596  	/* minus the RI & XI bits */
00bf1c691d082c Paul Burton    2015-09-22  2597  	fillbits -= min_t(unsigned, fillbits, 2);
00bf1c691d082c Paul Burton    2015-09-22  2598  
00bf1c691d082c Paul Burton    2015-09-22 @2599  	if (fillbits >= ilog2(_PAGE_NO_EXEC))
00bf1c691d082c Paul Burton    2015-09-22  2600  		fill_includes_sw_bits = true;
00bf1c691d082c Paul Burton    2015-09-22  2601  
00bf1c691d082c Paul Burton    2015-09-22  2602  	pr_debug("Entry* registers contain %u fill bits\n", fillbits);
00bf1c691d082c Paul Burton    2015-09-22  2603  }
00bf1c691d082c Paul Burton    2015-09-22  2604  

:::::: The code at line 2599 was first introduced by commit
:::::: 00bf1c691d082c1945fdba032c03a9a82e9e7e61 MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields

:::::: TO: Paul Burton <paul.burton@imgtec.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

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: arch/mips/mm/tlbex.c:2599 check_pabits() warn: always true condition '(fillbits >= ((__builtin_constant_p(0)) ?(((0) < 2) ?0:63 - __builtin_clzll(0)):((4 <= 4)) ?__ilog2_u32(0):__ilog2_u64(0))) => (0-u32max >= 0)'
Date: Thu, 16 Dec 2021 19:41:25 +0800	[thread overview]
Message-ID: <202112161929.ccx97Im9-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 4019 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2b14864acbaaf03d9c01982e243a84632524c3ac
commit: 2f78788b55baa3410b1ec91a576286abe1ad4d6a ilog2: improve ilog2 for constant arguments
date:   1 year ago
config: mips-randconfig-m031-20211216 (https://download.01.org/0day-ci/archive/20211216/202112161929.ccx97Im9-lkp(a)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/mm/tlbex.c:2599 check_pabits() warn: always true condition '(fillbits >= ((__builtin_constant_p(0)) ?(((0) < 2) ?0:63 - __builtin_clzll(0)):((4 <= 4)) ?__ilog2_u32(0):__ilog2_u64(0))) => (0-u32max >= 0)'

Old smatch warnings:
arch/mips/mm/tlbex.c:1681 iPTE_LW() warn: curly braces intended?
arch/mips/mm/tlbex.c:1713 iPTE_SW() warn: inconsistent indenting

vim +2599 arch/mips/mm/tlbex.c

c5b367835cfc7a Steven J. Hill 2015-02-26  2569  
00bf1c691d082c Paul Burton    2015-09-22  2570  static void check_pabits(void)
00bf1c691d082c Paul Burton    2015-09-22  2571  {
00bf1c691d082c Paul Burton    2015-09-22  2572  	unsigned long entry;
00bf1c691d082c Paul Burton    2015-09-22  2573  	unsigned pabits, fillbits;
00bf1c691d082c Paul Burton    2015-09-22  2574  
00bf1c691d082c Paul Burton    2015-09-22  2575  	if (!cpu_has_rixi || !_PAGE_NO_EXEC) {
00bf1c691d082c Paul Burton    2015-09-22  2576  		/*
00bf1c691d082c Paul Burton    2015-09-22  2577  		 * We'll only be making use of the fact that we can rotate bits
00bf1c691d082c Paul Burton    2015-09-22  2578  		 * into the fill if the CPU supports RIXI, so don't bother
00bf1c691d082c Paul Burton    2015-09-22  2579  		 * probing this for CPUs which don't.
00bf1c691d082c Paul Burton    2015-09-22  2580  		 */
00bf1c691d082c Paul Burton    2015-09-22  2581  		return;
00bf1c691d082c Paul Burton    2015-09-22  2582  	}
00bf1c691d082c Paul Burton    2015-09-22  2583  
00bf1c691d082c Paul Burton    2015-09-22  2584  	write_c0_entrylo0(~0ul);
00bf1c691d082c Paul Burton    2015-09-22  2585  	back_to_back_c0_hazard();
00bf1c691d082c Paul Burton    2015-09-22  2586  	entry = read_c0_entrylo0();
00bf1c691d082c Paul Burton    2015-09-22  2587  
00bf1c691d082c Paul Burton    2015-09-22  2588  	/* clear all non-PFN bits */
00bf1c691d082c Paul Burton    2015-09-22  2589  	entry &= ~((1 << MIPS_ENTRYLO_PFN_SHIFT) - 1);
00bf1c691d082c Paul Burton    2015-09-22  2590  	entry &= ~(MIPS_ENTRYLO_RI | MIPS_ENTRYLO_XI);
00bf1c691d082c Paul Burton    2015-09-22  2591  
00bf1c691d082c Paul Burton    2015-09-22  2592  	/* find a lower bound on PABITS, and upper bound on fill bits */
00bf1c691d082c Paul Burton    2015-09-22  2593  	pabits = fls_long(entry) + 6;
00bf1c691d082c Paul Burton    2015-09-22  2594  	fillbits = max_t(int, (int)BITS_PER_LONG - pabits, 0);
00bf1c691d082c Paul Burton    2015-09-22  2595  
00bf1c691d082c Paul Burton    2015-09-22  2596  	/* minus the RI & XI bits */
00bf1c691d082c Paul Burton    2015-09-22  2597  	fillbits -= min_t(unsigned, fillbits, 2);
00bf1c691d082c Paul Burton    2015-09-22  2598  
00bf1c691d082c Paul Burton    2015-09-22 @2599  	if (fillbits >= ilog2(_PAGE_NO_EXEC))
00bf1c691d082c Paul Burton    2015-09-22  2600  		fill_includes_sw_bits = true;
00bf1c691d082c Paul Burton    2015-09-22  2601  
00bf1c691d082c Paul Burton    2015-09-22  2602  	pr_debug("Entry* registers contain %u fill bits\n", fillbits);
00bf1c691d082c Paul Burton    2015-09-22  2603  }
00bf1c691d082c Paul Burton    2015-09-22  2604  

:::::: The code at line 2599 was first introduced by commit
:::::: 00bf1c691d082c1945fdba032c03a9a82e9e7e61 MIPS: tlbex: Avoid placing software PTE bits in Entry* PFN fields

:::::: TO: Paul Burton <paul.burton@imgtec.com>
:::::: CC: Ralf Baechle <ralf@linux-mips.org>

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

             reply	other threads:[~2021-12-16 11:42 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-16 11:41 kernel test robot [this message]
2021-12-16 11:41 ` arch/mips/mm/tlbex.c:2599 check_pabits() warn: always true condition '(fillbits >= ((__builtin_constant_p(0)) ?(((0) < 2) ?0:63 - __builtin_clzll(0)):((4 <= 4)) ?__ilog2_u32(0):__ilog2_u64(0))) => (0-u32max >= 0)' kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2021-11-28  4:48 kernel test robot
2021-11-28  4:48 ` kernel test robot
2021-09-14 14:08 kernel test robot
2021-09-14 14:08 ` kernel test robot
2021-08-25 14:05 kernel test robot
2021-08-25 14:05 ` kernel test robot
2021-05-20 18:14 kernel test robot
2021-05-20 18:14 ` kernel test robot

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=202112161929.ccx97Im9-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=jakub@redhat.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterz@infradead.org \
    /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.