Alexei Starovoitov
0246e64d9a
bpf: handle pseudo BPF_LD_IMM64 insn
...
eBPF programs passed from userspace are using pseudo BPF_LD_IMM64 instructions
to refer to process-local map_fd. Scan the program for such instructions and
if FDs are valid, convert them to 'struct bpf_map' pointers which will be used
by verifier to check access to maps in bpf_map_lookup/update() calls.
If program passes verifier, convert pseudo BPF_LD_IMM64 into generic by dropping
BPF_PSEUDO_MAP_FD flag.
Note that eBPF interpreter is generic and knows nothing about pseudo insns.
Signed-off-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-26 15:05:15 -04:00
..
2014-09-26 15:05:15 -04:00
2014-06-12 16:18:45 +02:00
2014-09-09 06:53:42 +02:00
2014-08-08 15:57:24 -07:00
2014-08-25 21:13:30 +02:00
2014-07-17 12:32:47 +02:00
2014-09-03 01:21:03 +02:00
2014-09-10 15:42:12 -07:00
2014-08-28 05:59:59 -07:00
2014-08-11 23:19:48 +02:00
2014-09-12 13:59:12 -07:00
2014-08-25 20:18:11 -04:00
2014-08-08 15:57:27 -07:00
2014-07-24 21:53:47 +10:00
2014-08-06 18:01:12 -07:00
2014-06-10 08:44:40 -07:00
2014-06-04 16:54:14 -07:00
2014-08-08 15:57:18 -07:00
2014-07-24 21:53:47 +10:00
2014-07-15 11:05:09 -04:00
2014-09-18 12:32:52 -04:00
2014-09-06 12:58:18 +02:00
2014-06-14 09:07:44 +02:00
2014-07-05 11:17:45 +02:00
2014-08-04 10:11:28 -07:00
2014-08-25 15:42:19 -07:00
2014-07-23 10:18:06 -07:00
2014-06-04 16:54:15 -07:00
2014-08-08 15:57:22 -07:00
2014-08-11 13:29:12 -07:00
2014-09-12 22:04:36 +02:00
2014-06-04 16:54:15 -07:00
2014-07-05 11:17:26 +02:00
2014-08-08 15:57:18 -07:00
2014-09-10 15:42:12 -07:00
2014-07-16 14:57:13 +02:00
2014-08-29 16:28:16 -07:00
2014-06-06 16:08:12 -07:00
2014-08-08 10:38:04 +02:00
2014-07-28 14:07:52 -04:00
2014-06-04 16:54:15 -07:00
2014-08-08 15:57:32 -07:00
2014-08-16 04:47:00 +09:30
2014-07-29 18:08:50 -07:00
2014-08-08 15:57:24 -07:00
2014-07-17 22:07:37 +02:00
2014-06-06 16:08:13 -07:00
2014-07-16 15:10:39 +02:00
2014-06-04 16:54:15 -07:00
2014-06-04 16:54:15 -07:00
2014-08-29 16:28:15 -07:00
2014-09-05 12:02:48 -07:00
2014-08-09 09:58:12 -07:00
2014-08-06 18:01:22 -07:00
2014-06-04 16:54:15 -07:00
2014-09-26 15:05:14 -04:00
2014-07-18 12:13:38 -07:00
2014-07-01 12:16:24 -07:00
2014-08-06 18:01:19 -07:00
2014-07-17 09:35:17 -04:00
2014-08-08 15:57:18 -07:00
2014-07-07 10:12:56 -07:00
2014-06-21 00:15:26 -04:00
2014-07-23 10:18:05 -07:00
2014-08-08 15:57:22 -07:00
2014-06-04 16:54:16 -07:00
2014-06-06 16:08:16 -07:00
2014-07-29 18:08:50 -07:00
2014-08-08 15:57:24 -07:00
2014-08-04 10:09:27 -07:00