Lawrence Brakmo b73042b8a2 bpf: Add write access to tcp_sock and sock fields
This patch adds a macro, SOCK_OPS_SET_FIELD, for writing to
struct tcp_sock or struct sock fields. This required adding a new
field "temp" to struct bpf_sock_ops_kern for temporary storage that
is used by sock_ops_convert_ctx_access. It is used to store and recover
the contents of a register, so the register can be used to store the
address of the sk. Since we cannot overwrite the dst_reg because it
contains the pointer to ctx, nor the src_reg since it contains the value
we want to store, we need an extra register to contain the address
of the sk.

Also adds the macro SOCK_OPS_GET_OR_SET_FIELD that calls one of the
GET or SET macros depending on the value of the TYPE field.

Signed-off-by: Lawrence Brakmo <brakmo@fb.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2018-01-25 16:41:14 -08:00
..
2017-07-11 06:08:58 -04:00
2018-01-19 14:02:12 -05:00
2017-04-05 10:15:20 +02:00
2016-07-08 12:20:57 +02:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2017-11-30 09:54:27 -05:00
2017-10-11 09:49:34 +02:00
2017-11-16 10:49:00 +09:00
2017-12-11 14:10:06 -05:00
2016-04-27 22:48:25 -04:00
2017-12-15 12:34:00 -05:00
2017-09-29 06:19:32 +01:00
2018-01-08 18:11:08 +01:00
2016-08-17 19:36:23 -04:00
2016-10-03 02:00:22 -04:00
2016-07-08 12:20:57 +02:00
2017-11-08 16:12:33 +09:00
2016-03-23 22:09:58 -04:00
2017-12-05 14:37:13 -05:00
2017-12-04 11:32:53 -05:00
2018-01-17 16:07:24 -05:00