summaryrefslogtreecommitdiff
path: root/system/bubblewrap/realpath-workaround.patch
diff options
context:
space:
mode:
Diffstat (limited to 'system/bubblewrap/realpath-workaround.patch')
-rw-r--r--system/bubblewrap/realpath-workaround.patch19
1 files changed, 19 insertions, 0 deletions
diff --git a/system/bubblewrap/realpath-workaround.patch b/system/bubblewrap/realpath-workaround.patch
new file mode 100644
index 000000000..6f1e3b54b
--- /dev/null
+++ b/system/bubblewrap/realpath-workaround.patch
@@ -0,0 +1,19 @@
+Musl realpath() implementation currently depends on /proc which is
+not available when setting up pivot root. For the time being just
+fallback to given path if realpath() fails. If there was symlinks
+that would have required normalizing the following parse_mountinfo()
+will fail.
+
+diff --git a/bind-mount.c b/bind-mount.c
+index 7d3543f..c33b701 100644
+--- a/bind-mount.c
++++ b/bind-mount.c
+@@ -397,7 +397,7 @@ bind_mount (int proc_fd,
+ path, so to find it in the mount table we need to do that too. */
+ resolved_dest = realpath (dest, NULL);
+ if (resolved_dest == NULL)
+- return 2;
++ resolved_dest = strdup (dest);
+
+ mount_tab = parse_mountinfo (proc_fd, resolved_dest);
+ if (mount_tab[0].mountpoint == NULL)