|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 21/24] libxl: libxl__dm_runas_helper: return pwd
Signed-off-by: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
tools/libxl/libxl_dm.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 00718c5..620b66b 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -750,7 +750,8 @@ libxl__detect_gfx_passthru_kind(libxl__gc *gc,
}
/* return 1 if the user was found, 0 if it was not, -1 on error */
-static int libxl__dm_runas_helper(libxl__gc *gc, const char *username)
+static int libxl__dm_runas_helper(libxl__gc *gc, const char *username,
+ struct passwd **pwd_r)
{
struct passwd pwd, *user = NULL;
char *buf = NULL;
@@ -774,8 +775,10 @@ static int libxl__dm_runas_helper(libxl__gc *gc, const
char *username)
}
if (ret != 0)
return ERROR_FAIL;
- if (user != NULL)
+ if (user != NULL) {
+ if (pwd_r) *pwd_r = pwd;
return 1;
+ }
return 0;
}
}
@@ -1642,14 +1645,14 @@ static int libxl__build_device_model_args_new(libxl__gc
*gc,
}
user = GCSPRINTF("%s%d", LIBXL_QEMU_USER_BASE, guest_domid);
- ret = libxl__dm_runas_helper(gc, user);
+ ret = libxl__dm_runas_helper(gc, user, 0);
if (ret < 0)
return ret;
if (ret > 0)
goto end_search;
user = LIBXL_QEMU_USER_SHARED;
- ret = libxl__dm_runas_helper(gc, user);
+ ret = libxl__dm_runas_helper(gc, user, 0);
if (ret < 0)
return ret;
if (ret > 0) {
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |