On 05/09/2018 06:05 PM, David Ahern wrote:
> On 5/9/18 2:15 AM, Daniel Borkmann wrote:
>>
>> Ohh well, this is causing allmodconfig build warnings (e.g. on x86) as 
>> reported today:
> 
> lovely.
> 
>> In file included from include/linux/dma-mapping.h:5:0,
>>                  from include/linux/skbuff.h:34,
>>                  from include/linux/if_ether.h:23,
>>                  from include/uapi/linux/bpf.h:13,
>>                  from include/linux/bpf-cgroup.h:6,
>>                  from include/linux/cgroup-defs.h:22,
>>                  from include/linux/cgroup.h:28,
>>                  from include/linux/perf_event.h:57,
>>                  from include/linux/trace_events.h:10,
>>                  from include/trace/trace_events.h:20,
>>                  from include/trace/define_trace.h:96,
>>                  from drivers/android/binder_trace.h:387,
>>                  from drivers/android/binder.c:5702:
>> include/linux/sizes.h:24:0: warning: "SZ_1K" redefined
>>  #define SZ_1K    0x00000400
>> drivers/android/binder.c:116:0: note: this is the location of the previous 
>> definition
>>  #define SZ_1K                               0x400
> 
> binder.c has very few recent commits to it. Are you ok with me
> submitting the change with the others in this set (with proper cc's of
> course)?
> 
>> fs/ecryptfs/miscdev.c:206:0: warning: "PKT_TYPE_OFFSET" redefined
>>  #define PKT_TYPE_OFFSET  0
>> In file included from include/linux/if_ether.h:23:0,
>>                  from include/uapi/linux/bpf.h:13,
>>                  from include/linux/bpf-cgroup.h:6,
>>                  from include/linux/cgroup-defs.h:22,
>>                  from include/linux/cgroup.h:28,
>>                  from include/linux/writeback.h:183,
>>                  from include/linux/backing-dev.h:16,
>>                  from fs/ecryptfs/ecryptfs_kernel.h:41,
>>                  from fs/ecryptfs/miscdev.c:30:
>> include/linux/skbuff.h:753:0: note: this is the location of the previous 
>> definition
>>  #define PKT_TYPE_OFFSET() offsetof(struct sk_buff, __pkt_type_offset)
> 
> And this one I renamed to SKB_PKT_TYPE_OFFSET
> 
> With that it compiles cleanly.

Generally, no objection. However, could we get rid of the two extra includes 
altogether
to avoid running into any such dependency issue? Right now the only includes we 
have in
the bpf uapi header is linux/types.h and linux/bpf_common.h (latter has no 
extra deps
by itself). Both the ETH_ALEN and struct in6_addr are in uapi and therefore 
never allowed
to change so we can e.g. avoid to use ETH_ALEN and just have the value instead. 
In the
other places of the header we use __u32 remote_ipv6[4], __u32 src_ip6[4] etc to 
denote
a v6 address, we could do the same here and should be all good then.

Reply via email to