All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Chanwoo Choi <cw00.choi@samsung.com>
Cc: kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: [chanwoo:devfreq-testing 5/5] include/linux/list.h:638:9: warning: this 'for' clause does not guard...
Date: Wed, 4 May 2022 20:48:11 +0800	[thread overview]
Message-ID: <202205042019.gOXJsH4f-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git devfreq-testing
head:   40eaf97ddb3a7e661942296ccf192af0edd3d77d
commit: 40eaf97ddb3a7e661942296ccf192af0edd3d77d [5/5] PM / devfreq: Use cpufreq_policy instead of NR_CPU
config: mips-allyesconfig (https://download.01.org/0day-ci/archive/20220504/202205042019.gOXJsH4f-lkp@intel.com/config)
compiler: mips-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git/commit/?id=40eaf97ddb3a7e661942296ccf192af0edd3d77d
        git remote add chanwoo https://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git
        git fetch --no-tags chanwoo devfreq-testing
        git checkout 40eaf97ddb3a7e661942296ccf192af0edd3d77d
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/devfreq/governor_passive.c: In function 'get_parent_cpu_data':
   drivers/devfreq/governor_passive.c:31:17: error: expected expression before 'int'
      31 |                 int first_cpu = parent_cpu_data->first_cpu;
         |                 ^~~
   In file included from include/linux/module.h:12,
                    from drivers/devfreq/governor_passive.c:10:
>> include/linux/list.h:638:9: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     638 |         for (pos = list_first_entry(head, typeof(*pos), member);        \
         |         ^~~
   drivers/devfreq/governor_passive.c:30:9: note: in expansion of macro 'list_for_each_entry'
      30 |         list_for_each_entry(parent_cpu_data, &p_data->cpu_data_list, node)
         |         ^~~~~~~~~~~~~~~~~~~
   drivers/devfreq/governor_passive.c:32:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
      32 |                 if (first_cpu == cpumask_first(policy->related_cpus);)
         |                 ^~
   drivers/devfreq/governor_passive.c:32:21: error: 'first_cpu' undeclared (first use in this function)
      32 |                 if (first_cpu == cpumask_first(policy->related_cpus);)
         |                     ^~~~~~~~~
   drivers/devfreq/governor_passive.c:32:21: note: each undeclared identifier is reported only once for each function it appears in
   drivers/devfreq/governor_passive.c:32:69: error: expected ')' before ';' token
      32 |                 if (first_cpu == cpumask_first(policy->related_cpus);)
         |                    ~                                                ^
         |                                                                     )
   In file included from include/linux/module.h:12,
                    from drivers/devfreq/governor_passive.c:10:
   drivers/devfreq/governor_passive.c: In function 'cpufreq_passive_register_notifier':
   include/linux/list.h:23:30: error: expected expression before '{' token
      23 | #define LIST_HEAD_INIT(name) { &(name), &(name) }
         |                              ^
   drivers/devfreq/governor_passive.c:256:33: note: in expansion of macro 'LIST_HEAD_INIT'
     256 |         p_data->cpu_data_list = LIST_HEAD_INIT(p_data->cpu_data_list);
         |                                 ^~~~~~~~~~~~~~


vim +/for +638 include/linux/list.h

6d7581e62f8be4 Jiri Pirko      2013-05-29  557  
008208c6b26f21 Oleg Nesterov   2013-11-12  558  /**
008208c6b26f21 Oleg Nesterov   2013-11-12  559   * list_next_entry - get the next element in list
008208c6b26f21 Oleg Nesterov   2013-11-12  560   * @pos:	the type * to cursor
3943f42c11896c Andrey Utkin    2014-11-14  561   * @member:	the name of the list_head within the struct.
008208c6b26f21 Oleg Nesterov   2013-11-12  562   */
008208c6b26f21 Oleg Nesterov   2013-11-12  563  #define list_next_entry(pos, member) \
008208c6b26f21 Oleg Nesterov   2013-11-12  564  	list_entry((pos)->member.next, typeof(*(pos)), member)
008208c6b26f21 Oleg Nesterov   2013-11-12  565  
008208c6b26f21 Oleg Nesterov   2013-11-12  566  /**
008208c6b26f21 Oleg Nesterov   2013-11-12  567   * list_prev_entry - get the prev element in list
008208c6b26f21 Oleg Nesterov   2013-11-12  568   * @pos:	the type * to cursor
3943f42c11896c Andrey Utkin    2014-11-14  569   * @member:	the name of the list_head within the struct.
008208c6b26f21 Oleg Nesterov   2013-11-12  570   */
008208c6b26f21 Oleg Nesterov   2013-11-12  571  #define list_prev_entry(pos, member) \
008208c6b26f21 Oleg Nesterov   2013-11-12  572  	list_entry((pos)->member.prev, typeof(*(pos)), member)
008208c6b26f21 Oleg Nesterov   2013-11-12  573  
^1da177e4c3f41 Linus Torvalds  2005-04-16  574  /**
^1da177e4c3f41 Linus Torvalds  2005-04-16  575   * list_for_each	-	iterate over a list
8e3a67a99231f9 Randy Dunlap    2006-06-25  576   * @pos:	the &struct list_head to use as a loop cursor.
^1da177e4c3f41 Linus Torvalds  2005-04-16  577   * @head:	the head for your list.
^1da177e4c3f41 Linus Torvalds  2005-04-16  578   */
^1da177e4c3f41 Linus Torvalds  2005-04-16  579  #define list_for_each(pos, head) \
0425473037db40 Andy Shevchenko 2022-01-19  580  	for (pos = (head)->next; !list_is_head(pos, (head)); pos = pos->next)
^1da177e4c3f41 Linus Torvalds  2005-04-16  581  
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  582  /**
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  583   * list_for_each_continue - continue iteration over a list
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  584   * @pos:	the &struct list_head to use as a loop cursor.
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  585   * @head:	the head for your list.
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  586   *
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  587   * Continue to iterate over a list, continuing after the current position.
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  588   */
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  589  #define list_for_each_continue(pos, head) \
0425473037db40 Andy Shevchenko 2022-01-19  590  	for (pos = pos->next; !list_is_head(pos, (head)); pos = pos->next)
28ca0d6d39ab1d Pavel Begunkov  2019-11-29  591  
^1da177e4c3f41 Linus Torvalds  2005-04-16  592  /**
^1da177e4c3f41 Linus Torvalds  2005-04-16  593   * list_for_each_prev	-	iterate over a list backwards
8e3a67a99231f9 Randy Dunlap    2006-06-25  594   * @pos:	the &struct list_head to use as a loop cursor.
^1da177e4c3f41 Linus Torvalds  2005-04-16  595   * @head:	the head for your list.
^1da177e4c3f41 Linus Torvalds  2005-04-16  596   */
^1da177e4c3f41 Linus Torvalds  2005-04-16  597  #define list_for_each_prev(pos, head) \
0425473037db40 Andy Shevchenko 2022-01-19  598  	for (pos = (head)->prev; !list_is_head(pos, (head)); pos = pos->prev)
^1da177e4c3f41 Linus Torvalds  2005-04-16  599  
^1da177e4c3f41 Linus Torvalds  2005-04-16  600  /**
^1da177e4c3f41 Linus Torvalds  2005-04-16  601   * list_for_each_safe - iterate over a list safe against removal of list entry
8e3a67a99231f9 Randy Dunlap    2006-06-25  602   * @pos:	the &struct list_head to use as a loop cursor.
^1da177e4c3f41 Linus Torvalds  2005-04-16  603   * @n:		another &struct list_head to use as temporary storage
^1da177e4c3f41 Linus Torvalds  2005-04-16  604   * @head:	the head for your list.
^1da177e4c3f41 Linus Torvalds  2005-04-16  605   */
^1da177e4c3f41 Linus Torvalds  2005-04-16  606  #define list_for_each_safe(pos, n, head) \
0425473037db40 Andy Shevchenko 2022-01-19  607  	for (pos = (head)->next, n = pos->next; \
0425473037db40 Andy Shevchenko 2022-01-19  608  	     !list_is_head(pos, (head)); \
^1da177e4c3f41 Linus Torvalds  2005-04-16  609  	     pos = n, n = pos->next)
^1da177e4c3f41 Linus Torvalds  2005-04-16  610  
37c42524d60906 Denis V. Lunev  2007-10-16  611  /**
8f731f7d83d6c6 Randy Dunlap    2007-10-18  612   * list_for_each_prev_safe - iterate over a list backwards safe against removal of list entry
37c42524d60906 Denis V. Lunev  2007-10-16  613   * @pos:	the &struct list_head to use as a loop cursor.
37c42524d60906 Denis V. Lunev  2007-10-16  614   * @n:		another &struct list_head to use as temporary storage
37c42524d60906 Denis V. Lunev  2007-10-16  615   * @head:	the head for your list.
37c42524d60906 Denis V. Lunev  2007-10-16  616   */
37c42524d60906 Denis V. Lunev  2007-10-16  617  #define list_for_each_prev_safe(pos, n, head) \
37c42524d60906 Denis V. Lunev  2007-10-16  618  	for (pos = (head)->prev, n = pos->prev; \
0425473037db40 Andy Shevchenko 2022-01-19  619  	     !list_is_head(pos, (head)); \
37c42524d60906 Denis V. Lunev  2007-10-16  620  	     pos = n, n = pos->prev)
37c42524d60906 Denis V. Lunev  2007-10-16  621  
e130816164e244 Andy Shevchenko 2020-10-15  622  /**
e130816164e244 Andy Shevchenko 2020-10-15  623   * list_entry_is_head - test if the entry points to the head of the list
e130816164e244 Andy Shevchenko 2020-10-15  624   * @pos:	the type * to cursor
e130816164e244 Andy Shevchenko 2020-10-15  625   * @head:	the head for your list.
e130816164e244 Andy Shevchenko 2020-10-15  626   * @member:	the name of the list_head within the struct.
e130816164e244 Andy Shevchenko 2020-10-15  627   */
e130816164e244 Andy Shevchenko 2020-10-15  628  #define list_entry_is_head(pos, head, member)				\
e130816164e244 Andy Shevchenko 2020-10-15  629  	(&pos->member == (head))
e130816164e244 Andy Shevchenko 2020-10-15  630  
^1da177e4c3f41 Linus Torvalds  2005-04-16  631  /**
^1da177e4c3f41 Linus Torvalds  2005-04-16  632   * list_for_each_entry	-	iterate over list of given type
8e3a67a99231f9 Randy Dunlap    2006-06-25  633   * @pos:	the type * to use as a loop cursor.
^1da177e4c3f41 Linus Torvalds  2005-04-16  634   * @head:	the head for your list.
3943f42c11896c Andrey Utkin    2014-11-14  635   * @member:	the name of the list_head within the struct.
^1da177e4c3f41 Linus Torvalds  2005-04-16  636   */
^1da177e4c3f41 Linus Torvalds  2005-04-16  637  #define list_for_each_entry(pos, head, member)				\
93be3c2eb3371f Oleg Nesterov   2013-11-12 @638  	for (pos = list_first_entry(head, typeof(*pos), member);	\
e130816164e244 Andy Shevchenko 2020-10-15  639  	     !list_entry_is_head(pos, head, member);			\
8120e2e5141a42 Oleg Nesterov   2013-11-12  640  	     pos = list_next_entry(pos, member))
^1da177e4c3f41 Linus Torvalds  2005-04-16  641  

:::::: The code at line 638 was first introduced by commit
:::::: 93be3c2eb3371f022ad88acf1ab6bee8e3c38378 list: introduce list_last_entry(), use list_{first,last}_entry()

:::::: TO: Oleg Nesterov <oleg@redhat.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-05-04 12:49 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-04 12:48 kernel test robot [this message]
2022-05-04 19:53 ` [chanwoo:devfreq-testing 5/5] include/linux/list.h:638:9: warning: this 'for' clause does not guard Andy Shevchenko
2022-05-04 19:53   ` Andy Shevchenko
2022-05-09  3:06   ` Chanwoo Choi
2022-05-09  3:06     ` Chanwoo Choi

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=202205042019.gOXJsH4f-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=cw00.choi@samsung.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.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.