On Tue, Aug 27, 2024 at 01:04:15PM +0300, ahmed Ehab wrote: > On Tue, Aug 27, 2024 at 1:08 AM kernel test robot <lkp@xxxxxxxxx> wrote: > > > Hi Ahmed, > > > > kernel test robot noticed the following build errors: > > > > [auto build test ERROR on tip/locking/core] > > [also build test ERROR on tip/master arm-perf/for-next/perf linus/master > > tip/auto-latest v6.11-rc5 next-20240826] > > [If your patch is applied to the wrong git tree, kindly drop us a note. > > And when submitting patch, we suggest to use '--base' as documented in > > https://git-scm.com/docs/git-format-patch#_base_tree_information] > > > > url: > > https://github.com/intel-lab-lkp/linux/commits/Ahmed-Ehab/locking-lockdep-Test-no-new-string-literal-is-created-in-lockdep_set_subclass/20240826-145215 > > base: tip/locking/core > > patch link: > > https://lore.kernel.org/r/20240824221031.7751-2-bottaawesome633%40gmail.com > > patch subject: [PATCH v6 2/2] locking/lockdep: Test no new string literal > > is created in lockdep_set_subclass() > > config: i386-buildonly-randconfig-003-20240827 ( > > https://download.01.org/0day-ci/archive/20240827/202408270559.rym5UAv9-lkp@xxxxxxxxx/config > > ) > > compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 > > reproduce (this is a W=1 build): ( > > https://download.01.org/0day-ci/archive/20240827/202408270559.rym5UAv9-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/202408270559.rym5UAv9-lkp@xxxxxxxxx/ > > > > All errors (new ones prefixed by >>): > > > > lib/locking-selftest.c: In function 'lock_class_subclass_X1': > > >> lib/locking-selftest.c:2715:60: error: 'struct rw_semaphore' has no > > member named 'dep_map' > > 2715 | const char *name_before_setting_subclass = > > rwsem_X1.dep_map.name; > > | ^ > > lib/locking-selftest.c:2719:47: error: 'struct rw_semaphore' has no > > member named 'dep_map' > > 2719 | name_after_setting_subclass = rwsem_X1.dep_map.name; > > | ^ > > > These failures will only happen if CONFIG_DEBUG_LOCK_ALLOC is not set, > which is required for lockdep I think. Oh yes, this test can be compiled with LOCKDEP=n. > Should I consider these errors by checking CONFIG_DEBUG_LOCK_ALLOC before > calling my test method or is it > irrelevant? > Could you introduce a helper function here? #if CONFIG_DEBUG_LOCK_ALLOC static inline char* rw_semaphore_lockdep_name(struct rw_semaphore *rwsem) { return rwsem.dep_map.name; } #else static inline char* rw_semaphore_lockdep_name(struct rw_semaphore *rwsem) { return NULL; } #endif and use it in your test case (you put the function definitio right before the test case. Regards, Boqun > > > > > > vim +2715 lib/locking-selftest.c > > > > 2712 > > 2713 static void lock_class_subclass_X1(void) > > 2714 { > > > 2715 const char *name_before_setting_subclass = > > rwsem_X1.dep_map.name; > > 2716 const char *name_after_setting_subclass; > > 2717 > > 2718 lockdep_set_subclass(&rwsem_X1, 1); > > 2719 name_after_setting_subclass = rwsem_X1.dep_map.name; > > 2720 DEBUG_LOCKS_WARN_ON(name_before_setting_subclass != > > name_after_setting_subclass); > > 2721 } > > 2722 > > > > -- > > 0-DAY CI Kernel Test Service > > https://github.com/intel/lkp-tests/wiki > > > Regards, > Ahmed