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
..
2019-11-05 12:44:34 +01:00
2019-06-05 10:55:30 -04:00
2020-01-21 11:41:36 +01:00
2019-09-07 17:44:25 +02:00
2020-02-17 10:55:14 +01:00
2019-10-04 14:25:17 -07:00
2019-10-04 14:25:17 -07:00
2019-10-04 14:25:17 -07:00
2019-10-04 14:25:17 -07:00
2019-09-10 09:26:33 -04:00
2019-09-13 13:10:06 -07:00
2019-06-24 19:23:46 +02:00
2019-11-21 11:44:06 -08:00
2020-02-10 11:08:30 -08:00
2019-12-18 18:07:31 +01:00
2019-06-26 20:14:13 -04:00
2019-12-11 17:41:09 +01:00
2020-01-01 00:00:33 +01:00
2020-01-01 00:00:33 +01:00
2020-01-23 11:40:01 -07:00
2019-11-07 06:31:50 -07:00
2020-03-30 17:36:33 -07:00
2019-07-25 11:05:10 +02:00
2020-01-10 17:20:07 +01:00
2019-11-18 17:51:49 +01:00
2019-11-18 17:51:49 +01:00
2019-11-05 12:44:34 +01:00
2020-01-28 10:09:51 +01:00
2019-10-07 07:55:17 -03:00
2019-10-01 17:19:41 -03:00
2019-10-09 22:31:14 -04:00
2019-07-16 19:23:23 -07:00
2019-09-25 17:51:39 -07:00
2019-08-02 14:44:02 +10:00
2019-11-15 14:38:29 +01:00
2019-10-28 13:41:01 -07:00
2020-03-03 15:40:40 -08:00
2020-03-03 11:10:21 -05:00
2019-06-14 15:00:51 +05:30
2019-12-17 21:37:40 +05:30
2019-11-15 14:38:29 +01:00
2019-11-15 14:38:29 +01:00
2020-03-12 15:32:33 -07:00
2020-02-18 19:17:31 -08:00
2020-01-18 09:19:18 -05:00
2019-08-05 17:56:46 +02:00
2019-09-21 14:26:33 -07:00
2019-12-31 10:33:51 -06:00
2019-08-12 19:33:50 -07:00
2019-10-23 14:26:37 +02:00
2019-11-05 18:20:55 -08:00
2019-11-12 16:30:31 +01:00
2019-09-04 12:43:54 +02:00
2019-12-11 15:31:52 +01:00
2020-01-24 11:18:45 +05:30
2020-02-29 21:52:20 -08:00
2019-12-26 13:09:37 -08:00
2020-01-24 12:58:14 +01:00
2019-06-05 13:04:29 -07:00
2020-03-28 14:24:41 -07:00
2020-03-16 01:42:31 -07:00
2019-06-29 11:06:17 -07:00
2019-08-31 01:08:26 +02:00
2020-01-21 11:41:36 +01:00
2020-03-11 23:49:30 -07:00
2020-02-27 18:50:19 -08:00
2019-12-07 18:33:01 -08:00
2019-12-13 15:00:36 -08:00
2020-01-29 15:46:09 -07:00
2019-10-15 13:34:43 +02:00
2019-07-04 02:29:49 +02:00
2019-07-25 11:05:10 +02:00
2019-07-25 11:05:10 +02:00
2019-08-22 17:24:51 +02:00
2020-01-04 13:55:09 -08:00
2019-09-08 15:37:04 +02:00
2019-07-10 18:43:43 -07:00
2019-08-07 10:21:38 -05:00
2019-07-02 18:56:01 +02:00
2020-01-31 12:50:04 +01:00
2019-11-06 21:14:22 -08:00
2020-02-07 14:39:38 +09:00
2019-08-19 13:04:45 -07:00
2019-06-25 22:14:11 +02:00
2019-06-21 16:45:38 -04:00
2020-01-05 23:22:32 -08:00
2019-11-15 14:38:29 +01:00
2020-03-02 11:16:28 -08:00
2019-12-25 19:51:34 -08:00
2019-05-28 21:37:30 -07:00
2019-07-12 11:05:40 -07:00
2020-02-24 13:56:57 +01:00
2019-11-06 06:17:38 +09:00
2020-01-18 09:19:18 -05:00
2020-02-16 19:34:44 -08:00
2020-01-09 11:57:18 +00:00
2019-11-13 11:06:14 +01:00
2019-10-02 20:32:27 -06:00
2020-03-08 21:07:48 -07:00
2020-03-14 21:03:46 -07:00
2019-07-30 20:34:34 +02:00
2019-12-01 14:00:59 -08:00
2019-10-23 17:23:47 +02:00
2020-01-28 10:09:51 +01:00
2019-10-26 02:09:58 +11:00
2019-11-15 12:48:32 -08:00
2019-07-16 19:23:24 -07:00
2020-01-07 16:07:01 -05:00
2019-08-24 16:55:25 -07:00
2019-11-15 14:38:29 +01:00
2019-12-18 10:37:18 +01:00
2020-01-15 13:48:18 +01:00
2019-07-25 11:05:10 +02:00
2019-12-04 19:44:12 -08:00
2020-01-14 12:20:48 +01:00
2019-11-08 14:18:32 -08:00
2019-10-28 12:29:46 -07:00
2019-11-04 07:11:31 -07:00
2019-11-15 14:38:29 +01:00
2019-10-16 06:11:24 -07:00
2019-07-22 07:35:24 +03:00
2019-11-15 14:38:29 +01:00
2020-01-26 15:28:47 +01:00
2020-02-27 18:50:19 -08:00
2019-08-03 11:02:46 -07:00
2019-11-13 12:15:34 -08:00
2020-02-21 11:22:15 -08:00
2020-01-15 11:00:39 -06:00
2020-01-31 10:30:39 -08:00
2019-12-18 18:07:31 +01:00
2020-03-09 17:56:33 -07:00
2020-01-04 13:49:51 +08:00
2019-12-18 18:07:33 +01:00
2020-02-21 11:22:15 -08:00
2019-12-18 18:07:33 +01:00
2019-10-04 14:25:17 -07:00
2019-12-20 21:18:42 -08:00
2019-11-08 14:01:59 -08:00
2019-08-31 23:44:28 -07:00
2019-12-09 09:59:07 +01:00
2019-05-22 10:36:35 -07:00
2019-08-14 16:52:13 +02:00
2019-11-15 14:38:29 +01:00
2019-10-10 11:37:26 -03:00
2019-07-25 11:05:10 +02:00
2019-07-25 11:05:10 +02:00
2019-08-23 11:26:24 -06:00
2020-01-03 15:50:21 +01:00
2019-09-18 20:17:50 +02:00
2019-09-18 20:17:50 +02:00
2019-07-22 11:52:27 -04:00
2019-07-25 11:05:10 +02:00
2019-10-04 14:25:17 -07:00
2019-12-11 15:01:23 -08:00
2019-07-25 11:05:10 +02:00
2019-08-01 21:49:46 +02:00
2019-12-16 19:22:22 -08:00
2019-12-13 10:45:35 +01:00
2019-07-25 11:05:10 +02:00