summaryrefslogtreecommitdiff
path: root/arch/um
diff options
context:
space:
mode:
authorGlenn Washburn <development@efficientek.com>2022-03-03 01:53:31 -0600
committerRichard Weinberger <richard@nod.at>2022-03-11 10:55:38 +0100
commitdb8109a8bb4a4b31e7f630d7667749d62ee4a087 (patch)
tree1f7fedc262ab378bfcb8921804c634717f584bcf /arch/um
parent6e8f4b70127fa852020718e636b3ea53f6e17d88 (diff)
um: port_user: Allow setting path to port-helper using UML_PORT_HELPER envvar
This is useful when the uml-utilities user-space package has not been installed by the administrator and an unprivileged user wants to be able to telnet into a UML instance. The user can install the port-helper binary to a writable path and set UML_PORT_HELPER. Fallback to using hardcoded path to port-helper if environment variable is not set. Signed-off-by: Glenn Washburn <development@efficientek.com> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/drivers/port_user.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/um/drivers/port_user.c b/arch/um/drivers/port_user.c
index 0625aa42041d..3e32351dadad 100644
--- a/arch/um/drivers/port_user.c
+++ b/arch/um/drivers/port_user.c
@@ -167,10 +167,14 @@ static void port_pre_exec(void *arg)
int port_connection(int fd, int *socket, int *pid_out)
{
int new, err;
+ char *env;
char *argv[] = { "in.telnetd", "-L",
OS_LIB_PATH "/uml/port-helper", NULL };
struct port_pre_exec_data data;
+ if ((env = getenv("UML_PORT_HELPER")))
+ argv[2] = env;
+
new = accept(fd, NULL, 0);
if (new < 0)
return -errno;