[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <58F7F81B.8040901@iogearbox.net>
Date: Thu, 20 Apr 2017 01:51:55 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: Johannes Berg <johannes@...solutions.net>,
Alexei Starovoitov <ast@...nel.org>
CC: netdev <netdev@...r.kernel.org>
Subject: Re: __sk_buff.data_end
On 04/19/2017 11:31 PM, 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.
>
> Is there any way to generate a series of instructions that instead does
> the necessary calculations? I don't actually *see* such a way, because
> I don't see how I could have a scratch register or scratch stack space,
> but perhaps there's a way to do it?
One option would be, similarly as in bpf_prog_run_save_cb(), to just
save / restore _only_ the data_end pointer portion for this. Calculating
this inline via bpf_convert_ctx_access() would indeed need one more
reg than just the dst reg available in order to perform the data_end
calculation only as BPF insns.
Powered by blists - more mailing lists