Andrii Nakryiko
0c991ebc8c
bpf: Implement bpf_prog replacement for an active bpf_cgroup_link
...
Add new operation (LINK_UPDATE), which allows to replace active bpf_prog from
under given bpf_link. Currently this is only supported for bpf_cgroup_link,
but will be extended to other kinds of bpf_links in follow-up patches.
For bpf_cgroup_link, implemented functionality matches existing semantics for
direct bpf_prog attachment (including BPF_F_REPLACE flag). User can either
unconditionally set new bpf_prog regardless of which bpf_prog is currently
active under given bpf_link, or, optionally, can specify expected active
bpf_prog. If active bpf_prog doesn't match expected one, no changes are
performed, old bpf_link stays intact and attached, operation returns
a failure.
cgroup_bpf_replace() operation is resolving race between auto-detachment and
bpf_prog update in the same fashion as it's done for bpf_link detachment,
except in this case update has no way of succeeding because of target cgroup
marked as dying. So in this case error is returned.
Signed-off-by: Andrii Nakryiko <andriin@fb.com >
Signed-off-by: Alexei Starovoitov <ast@kernel.org >
Link: https://lore.kernel.org/bpf/20200330030001.2312810-3-andriin@fb.com
2020-03-30 17:36:33 -07:00
..
2020-02-08 13:26:41 -08:00
2020-01-21 11:06:12 +05:30
2020-02-08 14:04:19 -08:00
2020-02-16 18:30:41 -08:00
2020-01-29 09:51:36 -08:00
2020-01-18 14:26:13 +00:00
2020-02-08 10:01:33 +00:00
2020-02-04 07:17:41 +00:00
2020-01-31 14:40:36 -08:00
2020-03-12 15:00:38 -07:00
2020-01-28 16:02:33 -08:00
2020-01-27 17:49:15 +01:00
2020-02-22 12:00:06 +01:00
2020-01-14 10:50:19 +05:30
2020-03-06 14:50:16 -06:00
2020-01-27 14:35:32 +01:00
2020-01-13 11:44:09 -08:00
2020-01-15 14:10:45 +00:00
2020-03-08 22:07:09 -07:00
2020-01-20 10:29:56 -08:00
2020-02-15 12:51:22 -08:00
2020-02-08 14:04:19 -08:00
2020-01-16 17:32:43 +05:30
2020-01-23 12:37:18 +00:00
2020-02-07 17:39:56 -08:00
2020-03-11 22:59:31 -07:00
2020-01-24 21:03:53 +01:00
2020-01-14 15:16:50 +01:00
2020-01-15 22:55:36 -05:00
2020-01-31 10:30:36 -08:00
2020-03-12 15:48:37 -07:00
2020-02-04 03:05:26 +00:00
2020-02-04 03:05:26 +00:00
2020-03-02 07:17:31 -07:00
2020-02-25 08:40:07 -07:00
2020-02-20 17:52:34 -05:00
2020-03-30 01:34:00 +02:00
2020-03-30 01:34:00 +02:00
2020-03-30 14:59:53 -07:00
2020-03-30 17:36:33 -07:00
2020-03-30 17:35:59 -07:00
2020-01-22 23:04:52 +01:00
2020-02-12 17:02:53 -05:00
2020-01-31 13:14:26 -08:00
2020-01-27 10:24:32 +01:00
2020-02-21 11:22:15 -08:00
2020-01-21 13:28:24 +01:00
2020-01-27 19:59:55 +01:00
2020-01-27 10:24:32 +01:00
2020-02-03 16:56:48 +01:00
2020-02-08 14:04:19 -08:00
2020-01-23 00:35:50 +01:00
2020-02-04 03:05:27 +00:00
2020-01-16 09:52:27 -08:00
2020-02-28 12:08:37 -08:00
2020-02-10 13:00:06 -08:00
2020-03-12 22:34:48 -07:00
2020-01-27 10:55:50 -08:00
2020-01-20 08:14:29 +01:00
2020-01-27 11:09:31 +01:00
2020-03-12 11:32:35 -07:00
2020-02-03 17:27:38 -07:00
2020-01-29 15:45:47 -07:00
2020-01-13 14:15:27 +09:00
2020-01-17 16:48:07 -08:00
2020-01-18 09:19:18 -05:00
2020-01-13 21:48:42 +01:00
2020-03-13 12:49:51 -07:00
2020-02-07 14:48:39 -05:00
2020-02-07 14:48:38 -05:00
2020-02-08 13:26:41 -08:00
2020-01-22 14:50:03 -08:00
2020-01-14 13:27:32 -08:00
2020-01-28 10:07:09 -08:00
2020-02-12 14:18:33 +01:00
2020-01-15 16:21:28 +10:00
2020-01-14 12:20:55 +01:00
2020-01-27 20:00:01 +01:00
2020-01-23 13:15:09 -08:00
2020-01-26 22:10:17 -05:00
2020-02-25 11:01:39 -08:00
2020-01-30 07:39:10 -08:00
2020-02-14 09:59:24 +01:00
2020-01-22 15:22:51 -05:00
2020-03-12 22:34:48 -07:00
2020-02-10 10:41:20 +01:00
2020-01-31 10:30:41 -08:00
2020-01-10 15:52:25 +00:00
2020-01-24 15:39:39 +01:00
2020-02-01 09:31:47 +01:00
2020-02-21 11:29:15 +01:00
2020-01-25 03:01:56 -05:00
2020-01-31 17:33:54 +00:00
2020-02-20 21:17:24 +01:00
2020-02-21 11:22:15 -08:00
2020-02-28 10:33:57 +01:00
2020-01-30 18:45:55 +01:00
2020-02-06 06:11:50 +00:00
2020-03-30 14:59:53 -07:00
2020-02-16 19:39:44 -08:00
2020-01-10 14:00:57 -08:00
2020-01-28 08:46:13 -08:00
2020-03-30 01:34:00 +02:00
2020-03-30 01:34:00 +02:00
2020-03-09 20:13:16 -07:00
2020-01-31 10:30:38 -08:00
2020-02-04 03:05:23 +00:00
2020-01-31 10:30:39 -08:00
2020-03-15 17:10:14 -07:00
2020-02-04 07:21:04 +00:00
2020-03-06 07:06:09 -06:00
2020-01-14 11:54:47 -04:00
2020-02-04 03:05:23 +00:00
2020-02-01 10:01:52 -08:00
2020-01-29 11:20:24 -08:00
2020-01-27 11:00:21 +01:00
2020-03-28 14:24:41 -07:00
2020-02-27 18:50:19 -08:00
2020-01-15 10:54:33 -05:00
2020-02-12 13:55:25 -05:00
2020-01-24 16:51:13 -05:00
2020-01-14 12:20:48 +01:00
2020-02-05 14:52:03 -08:00
2020-01-31 10:30:39 -08:00
2020-02-04 03:05:25 +00:00
2020-01-16 17:09:18 +01:00
2020-01-15 16:30:28 +00:00
2020-03-05 17:36:24 -08:00
2020-01-31 11:15:59 -08:00
2020-01-20 17:04:02 -07:00
2020-02-09 12:04:09 -08:00
2020-03-14 20:55:12 -07:00
2020-02-27 12:02:14 -08:00
2020-02-12 11:54:08 -08:00
2020-03-11 09:30:27 -07:00
2020-01-23 13:15:09 -08:00
2020-02-20 21:17:24 +01:00
2020-02-04 03:05:26 +00:00
2020-03-12 17:33:11 -07:00
2020-02-04 03:05:25 +00:00
2020-01-13 18:16:43 -08:00
2020-02-07 14:48:37 -05:00
2020-01-25 12:18:50 -05:00
2020-01-24 10:24:31 -08:00
2020-02-17 10:55:14 +01:00
2020-01-10 14:00:58 -08:00
2020-01-24 10:37:27 -08:00
2020-01-24 10:24:31 -08:00
2020-01-24 10:24:31 -08:00
2020-01-09 21:23:36 +00:00
2020-01-20 16:19:10 +01:00
2020-03-06 22:33:38 -08:00
2020-01-13 13:19:38 -05:00
2020-01-29 19:38:34 -08:00
2020-02-04 03:05:26 +00:00
2020-01-15 13:39:14 +01:00
2020-02-07 14:48:37 -05:00
2020-02-28 12:12:53 -08:00
2020-03-09 22:34:58 +01:00
2020-02-04 03:05:24 +00:00
2020-01-24 20:40:09 +01:00
2020-03-09 20:13:16 -07:00
2020-01-17 10:19:21 +01:00
2020-02-04 03:05:26 +00:00
2020-02-11 10:11:02 +01:00
2020-01-31 10:30:40 -08:00
2020-02-05 18:53:05 +01:00
2020-01-15 11:00:39 -06:00
2020-01-29 19:38:34 -08:00
2020-02-26 20:07:25 -08:00
2020-01-29 17:45:20 +01:00
2020-01-31 10:30:40 -08:00
2020-02-21 11:22:15 -08:00
2020-01-14 12:20:59 +01:00
2020-01-14 12:20:57 +01:00
2020-02-21 11:22:15 -08:00
2020-03-30 14:59:53 -07:00
2020-02-11 16:39:18 -08:00
2020-01-15 22:55:37 -05:00
2020-02-10 12:26:44 -08:00
2020-02-21 11:22:15 -08:00
2020-01-31 10:30:39 -08:00
2020-01-14 12:20:48 +01:00
2020-02-12 15:59:40 -05:00
2020-01-17 22:33:37 -05:00
2020-01-31 10:30:40 -08:00