Re: [PATCH] hugetlb_cgroup: convert comma to semicolon

From: Matthew Wilcox
Date: Sun Aug 23 2020 - 11:29:02 EST


On Wed, Aug 19, 2020 at 10:14:11AM +0200, Giuseppe Scrivano wrote:
> >> - cft->file_offset = offsetof(struct hugetlb_cgroup, events_file[idx]),
> >> + cft->file_offset = offsetof(struct hugetlb_cgroup, events_file[idx]);
> >> cft->flags = CFTYPE_NOT_ON_ROOT;
>
> I think in this case having two expressions as part of the same
> statement is equivalent to having two separate statements. Both
> cft->file_offset and cft->flags get the expected value.

That's not how the comma operator works.

It will evaluate offsetof(struct hugetlb_cgroup, events_file[idx]) and
then discard the result. Since it has no side-effects, this is effectively
doing:

cft->file_offset = cft->flags = CFTYPE_NOT_ON_ROOT;