CC: kbuild-...@lists.01.org CC: Linux Memory Management List <linux...@kvack.org> TO: Yanfei Xu <yanfei...@windriver.com> CC: Andrew Morton <a...@linux-foundation.org> CC: Linux Memory Management List <linux...@kvack.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: d61c8b66c84080ecf8f9f4d9272ab4ec78029a59 commit: 1961331845977b33110793160d40e1698810cc59 [9831/12612] mm/kmemleak: fix possible wrong memory scanning period :::::: branch date: 13 hours ago :::::: commit date: 7 days ago config: microblaze-randconfig-m031-20210622 (attached as .config) compiler: microblaze-linux-gcc (GCC) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <l...@intel.com> Reported-by: Dan Carpenter <dan.carpen...@oracle.com> New smatch warnings: mm/kmemleak.c:1818 kmemleak_write() warn: impossible condition '(msecs > (~0)) => (0-u32max > u32max)' Old smatch warnings: arch/microblaze/include/asm/thread_info.h:91 current_thread_info() error: uninitialized symbol 'sp'. vim +1818 mm/kmemleak.c c89da70c736029 Li Zefan 2014-04-03 1753 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1754 /* 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1755 * File write operation to configure kmemleak at run-time. The following 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1756 * commands can be written to the /sys/kernel/debug/kmemleak file: 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1757 * off - disable kmemleak (irreversible) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1758 * stack=on - enable the task stacks scanning 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1759 * stack=off - disable the tasks stacks scanning 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1760 * scan=on - start the automatic memory scanning thread 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1761 * scan=off - stop the automatic memory scanning thread 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1762 * scan=... - set the automatic memory scanning period in seconds (0 to 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1763 * disable it) 4698c1f2bbe44c Catalin Marinas 2009-06-26 1764 * scan - trigger a memory scan 30b3710105be0b Luis R. Rodriguez 2009-09-04 1765 * clear - mark all current reported unreferenced kmemleak objects as c89da70c736029 Li Zefan 2014-04-03 1766 * grey to ignore printing them, or free all kmemleak objects c89da70c736029 Li Zefan 2014-04-03 1767 * if kmemleak has been disabled. 189d84ed54bbb0 Catalin Marinas 2009-08-27 1768 * dump=... - dump information about the object found at the given address 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1769 */ 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1770 static ssize_t kmemleak_write(struct file *file, const char __user *user_buf, 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1771 size_t size, loff_t *ppos) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1772 { 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1773 char buf[64]; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1774 int buf_size; b87324d082d9d8 Catalin Marinas 2009-07-07 1775 int ret; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1776 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1777 buf_size = min(size, (sizeof(buf) - 1)); 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1778 if (strncpy_from_user(buf, user_buf, buf_size) < 0) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1779 return -EFAULT; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1780 buf[buf_size] = 0; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1781 b87324d082d9d8 Catalin Marinas 2009-07-07 1782 ret = mutex_lock_interruptible(&scan_mutex); b87324d082d9d8 Catalin Marinas 2009-07-07 1783 if (ret < 0) b87324d082d9d8 Catalin Marinas 2009-07-07 1784 return ret; b87324d082d9d8 Catalin Marinas 2009-07-07 1785 c89da70c736029 Li Zefan 2014-04-03 1786 if (strncmp(buf, "clear", 5) == 0) { 8910ae896c8c96 Li Zefan 2014-04-03 1787 if (kmemleak_enabled) c89da70c736029 Li Zefan 2014-04-03 1788 kmemleak_clear(); c89da70c736029 Li Zefan 2014-04-03 1789 else c89da70c736029 Li Zefan 2014-04-03 1790 __kmemleak_do_cleanup(); c89da70c736029 Li Zefan 2014-04-03 1791 goto out; c89da70c736029 Li Zefan 2014-04-03 1792 } c89da70c736029 Li Zefan 2014-04-03 1793 8910ae896c8c96 Li Zefan 2014-04-03 1794 if (!kmemleak_enabled) { 4e4dfce2278929 André Almeida 2019-07-11 1795 ret = -EPERM; c89da70c736029 Li Zefan 2014-04-03 1796 goto out; c89da70c736029 Li Zefan 2014-04-03 1797 } c89da70c736029 Li Zefan 2014-04-03 1798 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1799 if (strncmp(buf, "off", 3) == 0) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1800 kmemleak_disable(); 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1801 else if (strncmp(buf, "stack=on", 8) == 0) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1802 kmemleak_stack_scan = 1; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1803 else if (strncmp(buf, "stack=off", 9) == 0) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1804 kmemleak_stack_scan = 0; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1805 else if (strncmp(buf, "scan=on", 7) == 0) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1806 start_scan_thread(); 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1807 else if (strncmp(buf, "scan=off", 8) == 0) 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1808 stop_scan_thread(); 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1809 else if (strncmp(buf, "scan=", 5) == 0) { 1961331845977b Yanfei Xu 2021-06-17 1810 unsigned secs; 1961331845977b Yanfei Xu 2021-06-17 1811 unsigned long msecs; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1812 1961331845977b Yanfei Xu 2021-06-17 1813 ret = kstrtouint(buf + 5, 0, &secs); b87324d082d9d8 Catalin Marinas 2009-07-07 1814 if (ret < 0) b87324d082d9d8 Catalin Marinas 2009-07-07 1815 goto out; 1961331845977b Yanfei Xu 2021-06-17 1816 1961331845977b Yanfei Xu 2021-06-17 1817 msecs = secs * MSEC_PER_SEC; 1961331845977b Yanfei Xu 2021-06-17 @1818 if (msecs > UINT_MAX) 1961331845977b Yanfei Xu 2021-06-17 1819 msecs = UINT_MAX; 1961331845977b Yanfei Xu 2021-06-17 1820 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1821 stop_scan_thread(); 1961331845977b Yanfei Xu 2021-06-17 1822 if (msecs) { 1961331845977b Yanfei Xu 2021-06-17 1823 WRITE_ONCE(jiffies_scan_wait, msecs_to_jiffies(msecs)); 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1824 start_scan_thread(); 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1825 } 4698c1f2bbe44c Catalin Marinas 2009-06-26 1826 } else if (strncmp(buf, "scan", 4) == 0) 4698c1f2bbe44c Catalin Marinas 2009-06-26 1827 kmemleak_scan(); 189d84ed54bbb0 Catalin Marinas 2009-08-27 1828 else if (strncmp(buf, "dump=", 5) == 0) 189d84ed54bbb0 Catalin Marinas 2009-08-27 1829 ret = dump_str_object_info(buf + 5); 4698c1f2bbe44c Catalin Marinas 2009-06-26 1830 else b87324d082d9d8 Catalin Marinas 2009-07-07 1831 ret = -EINVAL; b87324d082d9d8 Catalin Marinas 2009-07-07 1832 b87324d082d9d8 Catalin Marinas 2009-07-07 1833 out: b87324d082d9d8 Catalin Marinas 2009-07-07 1834 mutex_unlock(&scan_mutex); b87324d082d9d8 Catalin Marinas 2009-07-07 1835 if (ret < 0) b87324d082d9d8 Catalin Marinas 2009-07-07 1836 return ret; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1837 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1838 /* ignore the rest of the buffer, only one command at a time */ 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1839 *ppos += size; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1840 return size; 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1841 } 3c7b4e6b8be4c1 Catalin Marinas 2009-06-11 1842 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org