On Wed, 2017-04-19 at 23:31 +0200, Johannes Berg wrote:
> Hi Alexei, Daniel,
>
> I'm looking at adding the __wifi_sk_buff I talked about, and I notice
> that it uses CB space to store data_end. Unfortunately, in a lot of
> cases, we don't have any CB space to spare in wifi.
I guess I can work around this, would this seem reasonable?
struct bpf_skb_data_end {
struct qdisc_skb_cb qdisc_cb;
- void *data_end;
+ /*
+ * The alignment here is for mac80211, since that doesn't use
+ * a pointer but a u64 value and needs to save/restore that
+ * across running its BPF programs.
+ */
+ void *data_end __aligned(sizeof(u64));
};
johannes