mm/kasan/kasan_test.c:114: warning: Function parameter or member 'test' not described in 'KUNIT_EXPECT_KASAN_FAIL'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrey,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4853c74bd7ab7fdb83f319bd9ace8a08c031e9b6
commit: f7e01ab828fd4bf6d25b1f143a3994241e8572bf kasan: move tests to mm/kasan/
date:   11 months ago
config: x86_64-rhel-8.3-kunit (https://download.01.org/0day-ci/archive/20230817/202308171757.7V5YUcje-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230817/202308171757.7V5YUcje-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308171757.7V5YUcje-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> mm/kasan/kasan_test.c:114: warning: Function parameter or member 'test' not described in 'KUNIT_EXPECT_KASAN_FAIL'
>> mm/kasan/kasan_test.c:114: warning: Function parameter or member 'expression' not described in 'KUNIT_EXPECT_KASAN_FAIL'


vim +114 mm/kasan/kasan_test.c

83c4e7a0363bdb lib/test_kasan.c Patricia Alfonso  2020-10-13   69  
83c4e7a0363bdb lib/test_kasan.c Patricia Alfonso  2020-10-13   70  /**
0fd379253691e7 lib/test_kasan.c Andrey Konovalov  2021-02-24   71   * KUNIT_EXPECT_KASAN_FAIL() - check that the executed expression produces a
0fd379253691e7 lib/test_kasan.c Andrey Konovalov  2021-02-24   72   * KASAN report; causes a test failure otherwise. This relies on a KUnit
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   73   * resource named "kasan_status". Do not use this name for KUnit resources
0fd379253691e7 lib/test_kasan.c Andrey Konovalov  2021-02-24   74   * outside of KASAN tests.
f05842cfb9ae25 lib/test_kasan.c Andrey Konovalov  2021-02-24   75   *
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   76   * For hardware tag-based KASAN, when a synchronous tag fault happens, tag
e80a76aa1a9101 lib/test_kasan.c Andrey Konovalov  2021-03-15   77   * checking is auto-disabled. When this happens, this test handler reenables
e80a76aa1a9101 lib/test_kasan.c Andrey Konovalov  2021-03-15   78   * tag checking. As tag checking can be only disabled or enabled per CPU,
e80a76aa1a9101 lib/test_kasan.c Andrey Konovalov  2021-03-15   79   * this handler disables migration (preemption).
2e4bde6a1e3a3f lib/test_kasan.c Andrey Konovalov  2021-02-24   80   *
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   81   * Since the compiler doesn't see that the expression can change the test_status
2e4bde6a1e3a3f lib/test_kasan.c Andrey Konovalov  2021-02-24   82   * fields, it can reorder or optimize away the accesses to those fields.
2e4bde6a1e3a3f lib/test_kasan.c Andrey Konovalov  2021-02-24   83   * Use READ/WRITE_ONCE() for the accesses and compiler barriers around the
2e4bde6a1e3a3f lib/test_kasan.c Andrey Konovalov  2021-02-24   84   * expression to prevent that.
99734b535d9bf8 lib/test_kasan.c Andrey Konovalov  2021-04-29   85   *
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   86   * In between KUNIT_EXPECT_KASAN_FAIL checks, test_status.report_found is kept
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   87   * as false. This allows detecting KASAN reports that happen outside of the
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   88   * checks by asserting !test_status.report_found at the start of
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   89   * KUNIT_EXPECT_KASAN_FAIL and in kasan_test_exit.
83c4e7a0363bdb lib/test_kasan.c Patricia Alfonso  2020-10-13   90   */
0fd379253691e7 lib/test_kasan.c Andrey Konovalov  2021-02-24   91  #define KUNIT_EXPECT_KASAN_FAIL(test, expression) do {			\
e80a76aa1a9101 lib/test_kasan.c Andrey Konovalov  2021-03-15   92  	if (IS_ENABLED(CONFIG_KASAN_HW_TAGS) &&				\
2d27e585147395 lib/test_kasan.c Vincenzo Frascino 2021-10-06   93  	    kasan_sync_fault_possible())				\
f05842cfb9ae25 lib/test_kasan.c Andrey Konovalov  2021-02-24   94  		migrate_disable();					\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   95  	KUNIT_EXPECT_FALSE(test, READ_ONCE(test_status.report_found));	\
2e4bde6a1e3a3f lib/test_kasan.c Andrey Konovalov  2021-02-24   96  	barrier();							\
0fd379253691e7 lib/test_kasan.c Andrey Konovalov  2021-02-24   97  	expression;							\
2e4bde6a1e3a3f lib/test_kasan.c Andrey Konovalov  2021-02-24   98  	barrier();							\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24   99  	if (kasan_async_fault_possible())				\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  100  		kasan_force_async_fault();				\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  101  	if (!READ_ONCE(test_status.report_found)) {			\
3ff16d30f593d8 lib/test_kasan.c David Gow         2021-06-28  102  		KUNIT_FAIL(test, KUNIT_SUBTEST_INDENT "KASAN failure "	\
3ff16d30f593d8 lib/test_kasan.c David Gow         2021-06-28  103  				"expected in \"" #expression		\
3ff16d30f593d8 lib/test_kasan.c David Gow         2021-06-28  104  				 "\", but none occurred");		\
3ff16d30f593d8 lib/test_kasan.c David Gow         2021-06-28  105  	}								\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  106  	if (IS_ENABLED(CONFIG_KASAN_HW_TAGS) &&				\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  107  	    kasan_sync_fault_possible()) {				\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  108  		if (READ_ONCE(test_status.report_found) &&		\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  109  		    READ_ONCE(test_status.sync_fault))			\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  110  			kasan_enable_tagging();				\
f05842cfb9ae25 lib/test_kasan.c Andrey Konovalov  2021-02-24  111  		migrate_enable();					\
f05842cfb9ae25 lib/test_kasan.c Andrey Konovalov  2021-02-24  112  	}								\
ed6d74446cbfb8 lib/test_kasan.c Andrey Konovalov  2022-03-24  113  	WRITE_ONCE(test_status.report_found, false);			\
83c4e7a0363bdb lib/test_kasan.c Patricia Alfonso  2020-10-13 @114  } while (0)
83c4e7a0363bdb lib/test_kasan.c Patricia Alfonso  2020-10-13  115  

:::::: The code at line 114 was first introduced by commit
:::::: 83c4e7a0363bdb8104f510370907161623e31086 KUnit: KASAN Integration

:::::: TO: Patricia Alfonso <trishalfonso@xxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux