All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: kernel test robot <lkp@intel.com>
Cc: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>,
	kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: Re: [rcu:dev.2020.07.14a 64/73] include/linux/rculist.h:727:30: error: left-hand operand of comma expression has no effect
Date: Sun, 26 Jul 2020 08:49:03 -0700	[thread overview]
Message-ID: <20200726154903.GD9247@paulmck-ThinkPad-P72> (raw)
In-Reply-To: <202007261137.CXV59i6b%lkp@intel.com>

On Sun, Jul 26, 2020 at 11:28:55AM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.07.14a
> head:   aace6daf32cce6b644083754c7be6260aae439db
> commit: 93d62a873f87bf69209a5c29d62b9497888de6d6 [64/73] kvm: mmu: page_track: Fix RCU list API usage
> config: i386-randconfig-a006-20200726 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
> reproduce (this is a W=1 build):
>         git checkout 93d62a873f87bf69209a5c29d62b9497888de6d6
>         # save the attached .config to linux build tree
>         make W=1 ARCH=i386 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>

Good catch, but this commit has been superseded by 74e71f01ff46 ("kvm:
mmu: page_track: Fix RCU list API usage").  As always, thank you for
your testing efforts.

							Thanx, Paul

> Note: the rcu/dev.2020.07.14a HEAD aace6daf32cce6b644083754c7be6260aae439db builds fine.
>       It only hurts bisectibility.
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/pid.h:5,
>                     from include/linux/sched.h:14,
>                     from include/linux/kvm_host.h:12,
>                     from arch/x86/kvm/mmu/page_track.c:14:
>    arch/x86/kvm/mmu/page_track.c: In function 'kvm_page_track_write':
> >> include/linux/rculist.h:727:30: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
>      727 |  for (__list_check_srcu(cond),     \
>          |                              ^
>    arch/x86/kvm/mmu/page_track.c:232:2: note: in expansion of macro 'hlist_for_each_entry_srcu'
>      232 |  hlist_for_each_entry_srcu(n, &head->track_notifier_list, node,
>          |  ^~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/x86/kvm/mmu/page_track.c: In function 'kvm_page_track_flush_slot':
> >> include/linux/rculist.h:727:30: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
>      727 |  for (__list_check_srcu(cond),     \
>          |                              ^
>    arch/x86/kvm/mmu/page_track.c:258:2: note: in expansion of macro 'hlist_for_each_entry_srcu'
>      258 |  hlist_for_each_entry_srcu(n, &head->track_notifier_list, node,
>          |  ^~~~~~~~~~~~~~~~~~~~~~~~~
>    cc1: all warnings being treated as errors
> 
> vim +727 include/linux/rculist.h
> 
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  688  
> 1cc523271ef0b63 stephen hemminger       2010-02-22  689  #define __hlist_for_each_rcu(pos, head)				\
> 67bdbffd696f29a Arnd Bergmann           2010-02-25  690  	for (pos = rcu_dereference(hlist_first_rcu(head));	\
> 75d65a425c0163d Linus Torvalds          2011-05-19  691  	     pos;						\
> 67bdbffd696f29a Arnd Bergmann           2010-02-25  692  	     pos = rcu_dereference(hlist_next_rcu(pos)))
> 1cc523271ef0b63 stephen hemminger       2010-02-22  693  
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  694  /**
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  695   * hlist_for_each_entry_rcu - iterate over rcu list of given type
> b67bfe0d42cac56 Sasha Levin             2013-02-27  696   * @pos:	the type * to use as a loop cursor.
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  697   * @head:	the head for your list.
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  698   * @member:	the name of the hlist_node within the struct.
> ddc465936643108 Jonathan Neuschäfer     2020-03-05  699   * @cond:	optional lockdep expression if called from non-RCU protection.
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  700   *
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  701   * This list-traversal primitive may safely run concurrently with
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  702   * the _rcu list-mutation primitives such as hlist_add_head_rcu()
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  703   * as long as the traversal is guarded by rcu_read_lock().
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  704   */
> 28875945ba98d1b Joel Fernandes (Google  2019-07-16  705) #define hlist_for_each_entry_rcu(pos, head, member, cond...)		\
> 28875945ba98d1b Joel Fernandes (Google  2019-07-16  706) 	for (__list_check_rcu(dummy, ## cond, 0),			\
> 28875945ba98d1b Joel Fernandes (Google  2019-07-16  707) 	     pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  708  			typeof(*(pos)), member);			\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  709  		pos;							\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  710  		pos = hlist_entry_safe(rcu_dereference_raw(hlist_next_rcu(\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  711  			&(pos)->member)), typeof(*(pos)), member))
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  712  
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  713  /**
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  714   * hlist_for_each_entry_srcu - iterate over rcu list of given type
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  715   * @pos:	the type * to use as a loop cursor.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  716   * @head:	the head for your list.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  717   * @member:	the name of the hlist_node within the struct.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  718   * @cond:	lockdep expression for the lock required to traverse the list.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  719   *
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  720   * This list-traversal primitive may safely run concurrently with
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  721   * the _rcu list-mutation primitives such as hlist_add_head_rcu()
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  722   * as long as the traversal is guarded by srcu_read_lock().
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  723   * The lockdep expression srcu_read_lock_held() can be passed as the
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  724   * cond argument from read side.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  725   */
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  726  #define hlist_for_each_entry_srcu(pos, head, member, cond)		\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12 @727  	for (__list_check_srcu(cond),					\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  728  	     pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  729  			typeof(*(pos)), member);			\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  730  		pos;							\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  731  		pos = hlist_entry_safe(rcu_dereference_raw(hlist_next_rcu(\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  732  			&(pos)->member)), typeof(*(pos)), member))
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  733  
> 
> :::::: The code at line 727 was first introduced by commit
> :::::: bd4444c47de914a27b650f029d46efbbb6809765 rculist : Introduce list/hlist_for_each_entry_srcu() macros
> 
> :::::: TO: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
> :::::: CC: Paul E. McKenney <paulmck@kernel.org>
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org



WARNING: multiple messages have this Message-ID (diff)
From: Paul E. McKenney <paulmck@kernel.org>
To: kbuild-all@lists.01.org
Subject: Re: [rcu:dev.2020.07.14a 64/73] include/linux/rculist.h:727:30: error: left-hand operand of comma expression has no effect
Date: Sun, 26 Jul 2020 08:49:03 -0700	[thread overview]
Message-ID: <20200726154903.GD9247@paulmck-ThinkPad-P72> (raw)
In-Reply-To: <202007261137.CXV59i6b%lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 7531 bytes --]

On Sun, Jul 26, 2020 at 11:28:55AM +0800, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git dev.2020.07.14a
> head:   aace6daf32cce6b644083754c7be6260aae439db
> commit: 93d62a873f87bf69209a5c29d62b9497888de6d6 [64/73] kvm: mmu: page_track: Fix RCU list API usage
> config: i386-randconfig-a006-20200726 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-14) 9.3.0
> reproduce (this is a W=1 build):
>         git checkout 93d62a873f87bf69209a5c29d62b9497888de6d6
>         # save the attached .config to linux build tree
>         make W=1 ARCH=i386 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>

Good catch, but this commit has been superseded by 74e71f01ff46 ("kvm:
mmu: page_track: Fix RCU list API usage").  As always, thank you for
your testing efforts.

							Thanx, Paul

> Note: the rcu/dev.2020.07.14a HEAD aace6daf32cce6b644083754c7be6260aae439db builds fine.
>       It only hurts bisectibility.
> 
> All errors (new ones prefixed by >>):
> 
>    In file included from include/linux/pid.h:5,
>                     from include/linux/sched.h:14,
>                     from include/linux/kvm_host.h:12,
>                     from arch/x86/kvm/mmu/page_track.c:14:
>    arch/x86/kvm/mmu/page_track.c: In function 'kvm_page_track_write':
> >> include/linux/rculist.h:727:30: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
>      727 |  for (__list_check_srcu(cond),     \
>          |                              ^
>    arch/x86/kvm/mmu/page_track.c:232:2: note: in expansion of macro 'hlist_for_each_entry_srcu'
>      232 |  hlist_for_each_entry_srcu(n, &head->track_notifier_list, node,
>          |  ^~~~~~~~~~~~~~~~~~~~~~~~~
>    arch/x86/kvm/mmu/page_track.c: In function 'kvm_page_track_flush_slot':
> >> include/linux/rculist.h:727:30: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
>      727 |  for (__list_check_srcu(cond),     \
>          |                              ^
>    arch/x86/kvm/mmu/page_track.c:258:2: note: in expansion of macro 'hlist_for_each_entry_srcu'
>      258 |  hlist_for_each_entry_srcu(n, &head->track_notifier_list, node,
>          |  ^~~~~~~~~~~~~~~~~~~~~~~~~
>    cc1: all warnings being treated as errors
> 
> vim +727 include/linux/rculist.h
> 
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  688  
> 1cc523271ef0b63 stephen hemminger       2010-02-22  689  #define __hlist_for_each_rcu(pos, head)				\
> 67bdbffd696f29a Arnd Bergmann           2010-02-25  690  	for (pos = rcu_dereference(hlist_first_rcu(head));	\
> 75d65a425c0163d Linus Torvalds          2011-05-19  691  	     pos;						\
> 67bdbffd696f29a Arnd Bergmann           2010-02-25  692  	     pos = rcu_dereference(hlist_next_rcu(pos)))
> 1cc523271ef0b63 stephen hemminger       2010-02-22  693  
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  694  /**
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  695   * hlist_for_each_entry_rcu - iterate over rcu list of given type
> b67bfe0d42cac56 Sasha Levin             2013-02-27  696   * @pos:	the type * to use as a loop cursor.
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  697   * @head:	the head for your list.
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  698   * @member:	the name of the hlist_node within the struct.
> ddc465936643108 Jonathan Neuschäfer     2020-03-05  699   * @cond:	optional lockdep expression if called from non-RCU protection.
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  700   *
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  701   * This list-traversal primitive may safely run concurrently with
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  702   * the _rcu list-mutation primitives such as hlist_add_head_rcu()
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  703   * as long as the traversal is guarded by rcu_read_lock().
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  704   */
> 28875945ba98d1b Joel Fernandes (Google  2019-07-16  705) #define hlist_for_each_entry_rcu(pos, head, member, cond...)		\
> 28875945ba98d1b Joel Fernandes (Google  2019-07-16  706) 	for (__list_check_rcu(dummy, ## cond, 0),			\
> 28875945ba98d1b Joel Fernandes (Google  2019-07-16  707) 	     pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  708  			typeof(*(pos)), member);			\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  709  		pos;							\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  710  		pos = hlist_entry_safe(rcu_dereference_raw(hlist_next_rcu(\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  711  			&(pos)->member)), typeof(*(pos)), member))
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  712  
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  713  /**
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  714   * hlist_for_each_entry_srcu - iterate over rcu list of given type
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  715   * @pos:	the type * to use as a loop cursor.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  716   * @head:	the head for your list.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  717   * @member:	the name of the hlist_node within the struct.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  718   * @cond:	lockdep expression for the lock required to traverse the list.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  719   *
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  720   * This list-traversal primitive may safely run concurrently with
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  721   * the _rcu list-mutation primitives such as hlist_add_head_rcu()
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  722   * as long as the traversal is guarded by srcu_read_lock().
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  723   * The lockdep expression srcu_read_lock_held() can be passed as the
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  724   * cond argument from read side.
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  725   */
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  726  #define hlist_for_each_entry_srcu(pos, head, member, cond)		\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12 @727  	for (__list_check_srcu(cond),					\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  728  	     pos = hlist_entry_safe(rcu_dereference_raw(hlist_first_rcu(head)),\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  729  			typeof(*(pos)), member);			\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  730  		pos;							\
> bd4444c47de914a Madhuparna Bhowmik      2020-07-12  731  		pos = hlist_entry_safe(rcu_dereference_raw(hlist_next_rcu(\
> b67bfe0d42cac56 Sasha Levin             2013-02-27  732  			&(pos)->member)), typeof(*(pos)), member))
> 82524746c27fa41 Franck Bui-Huu          2008-05-12  733  
> 
> :::::: The code at line 727 was first introduced by commit
> :::::: bd4444c47de914a27b650f029d46efbbb6809765 rculist : Introduce list/hlist_for_each_entry_srcu() macros
> 
> :::::: TO: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
> :::::: CC: Paul E. McKenney <paulmck@kernel.org>
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org


  reply	other threads:[~2020-07-26 15:49 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-26  3:28 [rcu:dev.2020.07.14a 64/73] include/linux/rculist.h:727:30: error: left-hand operand of comma expression has no effect kernel test robot
2020-07-26  3:28 ` kernel test robot
2020-07-26 15:49 ` Paul E. McKenney [this message]
2020-07-26 15:49   ` Paul E. McKenney

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=20200726154903.GD9247@paulmck-ThinkPad-P72 \
    --to=paulmck@kernel.org \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=madhuparnabhowmik10@gmail.com \
    /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.