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;