On Wed, 18 Apr 2018 11:01:15 -0700, Martin KaFai Lau wrote: > On Wed, Apr 18, 2018 at 10:22:10AM -0700, Jakub Kicinski wrote: > > On Tue, 17 Apr 2018 13:42:36 -0700, Martin KaFai Lau wrote: > > > This patch checks a few things of struct's members: > > > > > > 1) It has a valid size (e.g. a "const void" is invalid) > > > 2) A member's size (+ its member's offset) does not exceed > > > the containing struct's size. > > > 3) The member's offset satisfies the alignment requirement > > > > Could we also introduce a requirement for members to have different > > names? Maybe it's there but I missed it. Would BTF with duplicated > > member names be considered valid? > > It could check but I don't see BTF needs to check everything > that clang does.
Agreed, I don't think correct tooling should ever generate duplicated members. Should the BTF forbid it then? It could help catch bugs and avoid problems. I was thinking about JSON where duplicated field names will result in invalid JSON potentially leading to issues in user space stacks...