All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Huang\, Ying" <ying.huang@intel.com>
To: "박병철/선임연구원/SW Platform(연)AOT팀(byungchul.park@lge.com)"
	<byungchul.park@lge.com>
Cc: "Huang\, Ying" <ying.huang@intel.com>,
	"peterz\@infradead.org" <peterz@infradead.org>,
	"mingo\@kernel.org" <mingo@kernel.org>,
	"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"kernel-team\@lge.com" <kernel-team@lge.com>
Subject: Re: [PATCH] llist: Put parentheses around parameters of llist_for_each_entry_safe()
Date: Tue, 26 Sep 2017 16:14:16 +0800	[thread overview]
Message-ID: <871smtdgh3.fsf@yhuang-dev.intel.com> (raw)
In-Reply-To: <F6531D8286A0B34FBC858F176F70796281EEB7@LGEVEXMBHQSVC1.LGE.NET> ("박병철"'s message of "Tue, 26 Sep 2017 17:01:50 +0900")

"박병철/선임연구원/SW Platform(연)AOT팀(byungchul.park@lge.com)"
<byungchul.park@lge.com> writes:

>> -----Original Message-----
>> From: Huang, Ying [mailto:ying.huang@intel.com]
>> Sent: Tuesday, September 26, 2017 4:02 PM
>> To: Byungchul Park
>> Cc: peterz@infradead.org; mingo@kernel.org; linux-kernel@vger.kernel.org;
>> kernel-team@lge.com; ying.huang@intel.com
>> Subject: Re: [PATCH] llist: Put parentheses around parameters of
>> llist_for_each_entry_safe()
>> 
>> Hi, Byungchul,
>> 
>> Byungchul Park <byungchul.park@lge.com> writes:
>> 
>> > It would be somewhat safer to put parentheses around parameters of
>> > a macro with parameters. Put it.
>> >
>> > Signed-off-by: Byungchul Park <byungchul.park@lge.com>
>> > ---
>> >  include/linux/llist.h | 6 +++---
>> >  1 file changed, 3 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/include/linux/llist.h b/include/linux/llist.h
>> > index 1957635..e280b297 100644
>> > --- a/include/linux/llist.h
>> > +++ b/include/linux/llist.h
>> > @@ -183,10 +183,10 @@ static inline void init_llist_head(struct llist_head *list)
>> >   * reverse the order by yourself before traversing.
>> >   */
>> >  #define llist_for_each_entry_safe(pos, n, node, member)
>> 	       \
>> > -	for (pos = llist_entry((node), typeof(*pos), member);		       \
>> > +	for ((pos) = llist_entry((node), typeof(*(pos)), member);		       \
>> >  	     member_address_is_nonnull(pos, member) &&
>> 	       \
>> > -	        (n = llist_entry(pos->member.next, typeof(*n), member), true); \
>> > -	     pos = n)
>> > +	        ((n) = llist_entry((pos)->member.next, typeof(*(n)), member), true);
>> \
>> > +	     (pos) = (n))
>> >
>> >  /**
>> >   * llist_empty - tests whether a lock-less list is empty
>> 
>> The original code follows the style of list_for_each_entry_safe().  The
>
> Hello Huang,
>
> I don’t see what you say here exactly, but let me note that all llist macros
> are safe except the llist_for_each_entry_safe().
>
>> parameters "pos" and "n" must be variable.  Because list_xxx family
>> functions work well so far, I think we needn't to change it too.
>
> I see. I don't want to argue much wrt such a trivial thing but I think
> it would be better to fix it since the fix is fairly simple and clear. 
> However, it's ok if the fix introduces a bad thing at least.

Yes, it's simple.  But I don't think it helps too.  Considering that
list family functions with same style have no issues.

Best Regards,
Huang, Ying

  reply	other threads:[~2017-09-26  8:14 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-26  6:54 [PATCH] llist: Put parentheses around parameters of llist_for_each_entry_safe() Byungchul Park
2017-09-26  7:01 ` Huang, Ying
2017-09-26  8:01   ` 박병철/선임연구원/SW Platform(연)AOT팀(byungchul.park@lge.com)
2017-09-26  8:14     ` Huang, Ying [this message]
2017-09-26  8:36       ` 박병철/선임연구원/SW Platform(연)AOT팀(byungchul.park@lge.com)
2017-11-17  2:31 ` Byungchul Park

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=871smtdgh3.fsf@yhuang-dev.intel.com \
    --to=ying.huang@intel.com \
    --cc=byungchul.park@lge.com \
    --cc=kernel-team@lge.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.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.