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.

> 
> > The above can only be done after the needs_resolve member's type
> > is resolved.  Hence, the above is done together in
> > btf_struct_resolve().
> > 
> > Each possible member's type (e.g. int, enum, modifier...) implements
> > the check_member() ops which will be called from btf_struct_resolve().
> > 
> > Signed-off-by: Martin KaFai Lau <[email protected]>
> > Acked-by: Alexei Starovoitov <[email protected]>

Reply via email to