aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-containers/lxc/files/network-restore-ability-to-move-nl80211-devices.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-containers/lxc/files/network-restore-ability-to-move-nl80211-devices.patch')
-rw-r--r--recipes-containers/lxc/files/network-restore-ability-to-move-nl80211-devices.patch94
1 files changed, 0 insertions, 94 deletions
diff --git a/recipes-containers/lxc/files/network-restore-ability-to-move-nl80211-devices.patch b/recipes-containers/lxc/files/network-restore-ability-to-move-nl80211-devices.patch
deleted file mode 100644
index aa1aecd4..00000000
--- a/recipes-containers/lxc/files/network-restore-ability-to-move-nl80211-devices.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 3dd7829433f63b2ec1323a1f237efa7d67ea6e2b Mon Sep 17 00:00:00 2001
-From: Christian Brauner <christian.brauner@ubuntu.com>
-Date: Fri, 26 Jul 2019 08:20:02 +0200
-Subject: [PATCH] network: restore ability to move nl80211 devices
-
-Closes #3105.
-Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
----
- src/lxc/network.c | 31 +++++++++++++++++--------------
- 1 file changed, 17 insertions(+), 14 deletions(-)
-
-diff --git a/src/lxc/network.c b/src/lxc/network.c
-index 9755116..7684f95 100644
---- a/src/lxc/network.c
-+++ b/src/lxc/network.c
-@@ -1248,22 +1248,21 @@ static int lxc_netdev_rename_by_name_in_netns(pid_t pid, const char *old,
- static int lxc_netdev_move_wlan(char *physname, const char *ifname, pid_t pid,
- const char *newname)
- {
-- char *cmd;
-+ __do_free char *cmd = NULL;
- pid_t fpid;
-- int err = -1;
-
- /* Move phyN into the container. TODO - do this using netlink.
- * However, IIUC this involves a bit more complicated work to talk to
- * the 80211 module, so for now just call out to iw.
- */
- cmd = on_path("iw", NULL);
-- if (!cmd)
-- goto out1;
-- free(cmd);
-+ if (!cmd) {
-+ return -1;
-+ }
-
- fpid = fork();
- if (fpid < 0)
-- goto out1;
-+ return -1;
-
- if (fpid == 0) {
- char pidstr[30];
-@@ -1274,21 +1273,18 @@ static int lxc_netdev_move_wlan(char *physname, const char *ifname, pid_t pid,
- }
-
- if (wait_for_pid(fpid))
-- goto out1;
-+ return -1;
-
-- err = 0;
- if (newname)
-- err = lxc_netdev_rename_by_name_in_netns(pid, ifname, newname);
-+ return lxc_netdev_rename_by_name_in_netns(pid, ifname, newname);
-
--out1:
-- free(physname);
-- return err;
-+ return 0;
- }
-
- int lxc_netdev_move_by_name(const char *ifname, pid_t pid, const char* newname)
- {
-+ __do_free char *physname = NULL;
- int index;
-- char *physname;
-
- if (!ifname)
- return -EINVAL;
-@@ -3279,13 +3275,20 @@ int lxc_network_move_created_netdev_priv(struct lxc_handler *handler)
- return 0;
-
- lxc_list_for_each(iterator, network) {
-+ __do_free char *physname = NULL;
- int ret;
- struct lxc_netdev *netdev = iterator->elem;
-
- if (!netdev->ifindex)
- continue;
-
-- ret = lxc_netdev_move_by_index(netdev->ifindex, pid, NULL);
-+ if (netdev->type == LXC_NET_PHYS)
-+ physname = is_wlan(netdev->link);
-+
-+ if (physname)
-+ ret = lxc_netdev_move_wlan(physname, netdev->link, pid, NULL);
-+ else
-+ ret = lxc_netdev_move_by_index(netdev->ifindex, pid, NULL);
- if (ret) {
- errno = -ret;
- SYSERROR("Failed to move network device \"%s\" with ifindex %d to network namespace %d",
---
-2.7.4
-