[bug report] lib: introduce test_meminit module

Dan Carpenter <[email protected]>
Newsgroups gmane.linux.kernel.janitors
Message-ID <[email protected]>
Hello Alexander Potapenko,

Commit 5015a300a522 ("lib: introduce test_meminit module") from Jul
16, 2019 (linux-next), leads to the following Smatch static checker
warning:

	lib/test_meminit.c:390 test_kmemcache()
	warn: bool mask is always false 'ctor & zero'

lib/test_meminit.c
    378 static int __init test_kmemcache(int *total_failures)
    379 {
    380         int failures = 0, num_tests = 0;
    381         int i, flags, size;
    382         bool ctor, rcu, zero;
    383 
    384         for (i = 0; i < 10; i++) {
    385                 size = 8 << i;
    386                 for (flags = 0; flags < 8; flags++) {
    387                         ctor = flags & 1;
    388                         rcu = flags & 2;
    389                         zero = flags & 4;
--> 390                         if (ctor & zero)
                                    ^^^^^^^^^^^
This is like (BIT(1) & BIT(4)) so it can't be true.  Was && intended?

    391                                 continue;
    392                         num_tests += do_kmem_cache_size(size, ctor, rcu, zero,
    393                                                         &failures);
    394                 }
    395                 num_tests += do_kmem_cache_size_bulk(size, &failures);
    396         }
    397         REPORT_FAILURES_IN_FN();
    398         *total_failures += failures;
    399         return num_tests;
    400 }

This email is a free service from the Smatch-CI project [smatch.sf.net].

regards,
dan carpenter
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.