
On 10/22/19 10:57 AM, Michal Privoznik wrote:
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/lxc/lxc_container.c | 41 +++++++++++++++++------------------ src/lxc/lxc_controller.c | 46 ++++++++++++++++++++-------------------- src/lxc/lxc_driver.c | 8 +++---- src/lxc/lxc_fuse.c | 6 +++--- src/lxc/lxc_monitor.c | 2 +- src/lxc/lxc_native.c | 8 +++---- src/lxc/lxc_process.c | 20 ++++++++--------- 7 files changed, 65 insertions(+), 66 deletions(-)
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c index 090a22571d..0ad872b65b 100644 --- a/src/lxc/lxc_container.c +++ b/src/lxc/lxc_container.c @@ -682,7 +682,7 @@ static int lxcContainerPrepareRoot(virDomainDefPtr def, if (lxcContainerResolveSymlinks(root, false) < 0) return -1;
- virAsprintf(&dst, "%s/%s.root", LXC_STATE_DIR, def->name); + dst = g_strdup_printf("%s/%s.root", LXC_STATE_DIR, def->name);
tmp = root->dst; root->dst = dst; @@ -717,7 +717,7 @@ static int lxcContainerPivotRoot(virDomainFSDefPtr root) goto err; }
- virAsprintf(&oldroot, "%s/.oldroot", root->src->path); + oldroot = g_strdup_printf("%s/.oldroot", root->src->path);
if (virFileMakePath(oldroot) < 0) { virReportSystemError(errno, @@ -736,7 +736,7 @@ static int lxcContainerPivotRoot(virDomainFSDefPtr root) }
/* Create a directory called 'new' in tmpfs */ - virAsprintf(&newroot, "%s/new", oldroot); + newroot = g_strdup_printf("%s/new", oldroot);
if (virFileMakePath(newroot) < 0) { virReportSystemError(errno, @@ -921,7 +921,7 @@ static int lxcContainerMountBasicFS(bool userns_enabled, char *hostdir; int ret;
- virAsprintf(&hostdir, "/.oldroot%s", mnt->dst); + hostdir = g_strdup_printf("/.oldroot%s", mnt->dst);
ret = virFileIsMountPoint(hostdir); VIR_FREE(hostdir); @@ -1012,10 +1012,9 @@ static int lxcContainerMountProcFuse(virDomainDefPtr def,
VIR_DEBUG("Mount /proc/meminfo stateDir=%s", stateDir);
- virAsprintf(&meminfo_path, - "/.oldroot/%s/%s.fuse/meminfo", - stateDir, - def->name); + meminfo_path = g_strdup_printf("/.oldroot/%s/%s.fuse/meminfo", + stateDir, + def->name);
if ((ret = mount(meminfo_path, "/proc/meminfo", NULL, MS_BIND, NULL)) < 0) { @@ -1044,7 +1043,7 @@ static int lxcContainerMountFSDev(virDomainDefPtr def,
VIR_DEBUG("Mount /dev/ stateDir=%s", stateDir);
- virAsprintf(&path, "/.oldroot/%s/%s.dev", stateDir, def->name); + path = g_strdup_printf("/.oldroot/%s/%s.dev", stateDir, def->name);
if (virFileMakePath("/dev") < 0) { virReportSystemError(errno, "%s", @@ -1078,7 +1077,7 @@ static int lxcContainerMountFSDevPTS(virDomainDefPtr def,
VIR_DEBUG("Mount /dev/pts stateDir=%s", stateDir);
- virAsprintf(&path, "/.oldroot/%s/%s.devpts", stateDir, def->name); + path = g_strdup_printf("/.oldroot/%s/%s.devpts", stateDir, def->name);
if (virFileMakePath("/dev/pts") < 0) { virReportSystemError(errno, "%s", @@ -1130,7 +1129,7 @@ static int lxcContainerSetupDevices(char **ttyPaths, size_t nttyPaths)
for (i = 0; i < nttyPaths; i++) { char *tty; - virAsprintf(&tty, "/dev/tty%zu", i + 1); + tty = g_strdup_printf("/dev/tty%zu", i + 1);
if (virFileBindMountDevice(ttyPaths[i], tty) < 0) { VIR_FREE(tty); @@ -1156,7 +1155,7 @@ static int lxcContainerMountFSBind(virDomainFSDefPtr fs,
VIR_DEBUG("src=%s dst=%s", fs->src->path, fs->dst);
- virAsprintf(&src, "%s%s", srcprefix, fs->src->path); + src = g_strdup_printf("%s%s", srcprefix, fs->src->path);
if (stat(fs->dst, &st) < 0) { if (errno != ENOENT) { @@ -1326,8 +1325,8 @@ static int lxcContainerMountFSBlockAuto(virDomainFSDefPtr fs,
/* First time around we use /etc/filesystems */ retry: - virAsprintf(&fslist, "%s%s", srcprefix, - tryProc ? "/proc/filesystems" : "/etc/filesystems"); + fslist = g_strdup_printf("%s%s", srcprefix, + tryProc ? "/proc/filesystems" : "/etc/filesystems");
VIR_DEBUG("Open fslist %s", fslist); if (!(fp = fopen(fslist, "r"))) { @@ -1488,7 +1487,7 @@ static int lxcContainerMountFSBlock(virDomainFSDefPtr fs,
VIR_DEBUG("src=%s dst=%s", fs->src->path, fs->dst);
- virAsprintf(&src, "%s%s", srcprefix, fs->src->path); + src = g_strdup_printf("%s%s", srcprefix, fs->src->path);
ret = lxcContainerMountFSBlockHelper(fs, src, srcprefix, sec_mount_options);
@@ -1507,7 +1506,7 @@ static int lxcContainerMountFSTmpfs(virDomainFSDefPtr fs,
VIR_DEBUG("usage=%lld sec=%s", fs->usage, sec_mount_options);
- virAsprintf(&data, "size=%lld%s", fs->usage, sec_mount_options); + data = g_strdup_printf("size=%lld%s", fs->usage, sec_mount_options);
if (virFileMakePath(fs->dst) < 0) { virReportSystemError(errno, @@ -1655,20 +1654,20 @@ static int lxcContainerUnmountForSharedRoot(const char *stateDir,
/* These filesystems are created by libvirt temporarily, they * shouldn't appear in container. */ - virAsprintf(&tmp, "%s/%s.dev", stateDir, domain); + tmp = g_strdup_printf("%s/%s.dev", stateDir, domain);
if (lxcContainerUnmountSubtree(tmp, false) < 0) goto cleanup;
VIR_FREE(tmp); - virAsprintf(&tmp, "%s/%s.devpts", stateDir, domain); + tmp = g_strdup_printf("%s/%s.devpts", stateDir, domain);
if (lxcContainerUnmountSubtree(tmp, false) < 0) goto cleanup;
#if WITH_FUSE VIR_FREE(tmp); - virAsprintf(&tmp, "%s/%s.fuse", stateDir, domain); + tmp = g_strdup_printf("%s/%s.fuse", stateDir, domain);
if (lxcContainerUnmountSubtree(tmp, false) < 0) goto cleanup; @@ -2232,8 +2231,8 @@ static int lxcContainerChild(void *data) const char *tty = argv->ttyPaths[0]; if (STRPREFIX(tty, "/dev/pts/")) tty += strlen("/dev/pts/"); - virAsprintf(&ttyPath, "%s/%s.devpts/%s", LXC_STATE_DIR, vmDef->name, - tty); + ttyPath = g_strdup_printf("%s/%s.devpts/%s", LXC_STATE_DIR, vmDef->name, + tty); } else { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("At least one tty is required")); diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c index 56e30eeaa9..17c4282be4 100644 --- a/src/lxc/lxc_controller.c +++ b/src/lxc/lxc_controller.c @@ -568,7 +568,7 @@ static int virLXCControllerAppendNBDPids(virLXCControllerPtr ctrl, if (!STRPREFIX(dev, "/dev/")) goto cleanup;
- virAsprintf(&pidpath, "/sys/devices/virtual/block/%s/pid", dev + 5); + pidpath = g_strdup_printf("/sys/devices/virtual/block/%s/pid", dev + 5);
/* Wait for the pid file to appear */ while (!virFileExists(pidpath)) { @@ -946,7 +946,7 @@ static int virLXCControllerSetupServer(virLXCControllerPtr ctrl) virNetServerServicePtr svc = NULL; char *sockpath;
- virAsprintf(&sockpath, "%s/%s.sock", LXC_STATE_DIR, ctrl->name); + sockpath = g_strdup_printf("%s/%s.sock", LXC_STATE_DIR, ctrl->name);
if (!(srv = virNetServerNew("LXC", 1, 0, 0, 0, 1, @@ -1434,14 +1434,14 @@ static int virLXCControllerSetupUserns(virLXCControllerPtr ctrl) }
VIR_DEBUG("Setting up userns maps"); - virAsprintf(&uid_map, "/proc/%d/uid_map", ctrl->initpid); + uid_map = g_strdup_printf("/proc/%d/uid_map", ctrl->initpid);
if (virLXCControllerSetupUsernsMap(ctrl->def->idmap.uidmap, ctrl->def->idmap.nuidmap, uid_map) < 0) goto cleanup;
- virAsprintf(&gid_map, "/proc/%d/gid_map", ctrl->initpid); + gid_map = g_strdup_printf("/proc/%d/gid_map", ctrl->initpid);
if (virLXCControllerSetupUsernsMap(ctrl->def->idmap.gidmap, ctrl->def->idmap.ngidmap, @@ -1467,14 +1467,14 @@ static int virLXCControllerSetupDev(virLXCControllerPtr ctrl) mount_options = virSecurityManagerGetMountOptions(ctrl->securityManager, ctrl->def);
- virAsprintf(&dev, "/%s/%s.dev", LXC_STATE_DIR, ctrl->def->name); + dev = g_strdup_printf("/%s/%s.dev", LXC_STATE_DIR, ctrl->def->name);
/* * tmpfs is limited to 64kb, since we only have device nodes in there * and don't want to DOS the entire OS RAM usage */
- virAsprintf(&opts, "mode=755,size=65536%s", mount_options); + opts = g_strdup_printf("mode=755,size=65536%s", mount_options);
if (virFileSetupDev(dev, opts) < 0) goto cleanup; @@ -1514,8 +1514,8 @@ static int virLXCControllerPopulateDevices(virLXCControllerPtr ctrl)
/* Populate /dev/ with a few important bits */ for (i = 0; i < G_N_ELEMENTS(devs); i++) { - virAsprintf(&path, "/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name, - devs[i].path); + path = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name, + devs[i].path);
dev_t dev = makedev(devs[i].maj, devs[i].min); if (mknod(path, S_IFCHR, dev) < 0 || @@ -1553,13 +1553,13 @@ virLXCControllerSetupHostdevSubsysUSB(virDomainDefPtr vmDef, mode_t mode; virDomainHostdevSubsysUSBPtr usbsrc = &def->source.subsys.u.usb;
- virAsprintf(&src, USB_DEVFS "/%03d/%03d", usbsrc->bus, usbsrc->device); + src = g_strdup_printf(USB_DEVFS "/%03d/%03d", usbsrc->bus, usbsrc->device);
- virAsprintf(&vroot, "/%s/%s.dev/bus/usb/", LXC_STATE_DIR, vmDef->name); + vroot = g_strdup_printf("/%s/%s.dev/bus/usb/", LXC_STATE_DIR, vmDef->name);
- virAsprintf(&dstdir, "%s/%03d/", vroot, usbsrc->bus); + dstdir = g_strdup_printf("%s/%03d/", vroot, usbsrc->bus);
- virAsprintf(&dstfile, "%s/%03d", dstdir, usbsrc->device); + dstfile = g_strdup_printf("%s/%03d", dstdir, usbsrc->device);
if (stat(src, &sb) < 0) { virReportSystemError(errno, @@ -1633,7 +1633,7 @@ virLXCControllerSetupHostdevCapsStorage(virDomainDefPtr vmDef, while (*(path + len) == '/') len++;
- virAsprintf(&dst, "/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name, + dst = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name, strchr(path + len, '/'));
This one got misaligned.
if (stat(dev, &sb) < 0) { @@ -1709,8 +1709,8 @@ virLXCControllerSetupHostdevCapsMisc(virDomainDefPtr vmDef, while (*(path + len) == '/') len++;
- virAsprintf(&dst, "/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name, - strchr(path + len, '/')); + dst = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, vmDef->name, + strchr(path + len, '/'));
if (stat(dev, &sb) < 0) { virReportSystemError(errno, @@ -1865,8 +1865,8 @@ static int virLXCControllerSetupDisk(virLXCControllerPtr ctrl, goto cleanup; }
- virAsprintf(&dst, "/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name, - def->dst); + dst = g_strdup_printf("/%s/%s.dev/%s", LXC_STATE_DIR, ctrl->def->name, + def->dst);
if (stat(def->src->path, &sb) < 0) { virReportSystemError(errno, @@ -2055,8 +2055,8 @@ lxcCreateTty(virLXCControllerPtr ctrl, int *ttymaster, * while glibc has to fstat(), fchmod(), and fchown() for older * kernels, we can skip those steps. ptyno shouldn't currently be * anything other than 0, but let's play it safe. */ - virAsprintf(ttyName, "/dev/pts/%d", ptyno); - virAsprintf(ttyHostPath, "/%s/%s.devpts/%d", LXC_STATE_DIR, ctrl->def->name, ptyno); + *ttyName = g_strdup_printf("/dev/pts/%d", ptyno); + *ttyHostPath = g_strdup_printf("/%s/%s.devpts/%d", LXC_STATE_DIR, ctrl->def->name, ptyno);
ret = 0;
@@ -2112,8 +2112,8 @@ virLXCControllerSetupDevPTS(virLXCControllerPtr ctrl) mount_options = virSecurityManagerGetMountOptions(ctrl->securityManager, ctrl->def);
- virAsprintf(&devpts, "%s/%s.devpts", LXC_STATE_DIR, ctrl->def->name); - virAsprintf(&ctrl->devptmx, "%s/%s.devpts/ptmx", LXC_STATE_DIR, ctrl->def->name); + devpts = g_strdup_printf("%s/%s.devpts", LXC_STATE_DIR, ctrl->def->name); + ctrl->devptmx = g_strdup_printf("%s/%s.devpts/ptmx", LXC_STATE_DIR, ctrl->def->name);
if (virFileMakePath(devpts) < 0) { virReportSystemError(errno, @@ -2129,8 +2129,8 @@ virLXCControllerSetupDevPTS(virLXCControllerPtr ctrl)
/* XXX should we support gid=X for X!=5 for distros which use * a different gid for tty? */ - virAsprintf(&opts, "newinstance,ptmxmode=0666,mode=0620,gid=%u%s", ptsgid, - NULLSTR_EMPTY(mount_options)); + opts = g_strdup_printf("newinstance,ptmxmode=0666,mode=0620,gid=%u%s", ptsgid, + NULLSTR_EMPTY(mount_options));
VIR_DEBUG("Mount devpts on %s type=tmpfs flags=0x%x, opts=%s", devpts, MS_NOSUID, opts); diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index acaeae9311..2de252ee87 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -3788,7 +3788,7 @@ lxcDomainAttachDeviceDiskLive(virLXCDriverPtr driver, if (VIR_REALLOC_N(vm->def->disks, vm->def->ndisks + 1) < 0) goto cleanup;
- virAsprintf(&file, "/dev/%s", def->dst); + file = g_strdup_printf("/dev/%s", def->dst);
if (lxcDomainAttachDeviceMknod(driver, 0700 | S_IFBLK, @@ -3973,7 +3973,7 @@ lxcDomainAttachDeviceHostdevSubsysUSBLive(virLXCDriverPtr driver, }
usbsrc = &def->source.subsys.u.usb; - virAsprintf(&src, "/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device); + src = g_strdup_printf("/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device);
if (!(usb = virUSBDeviceNew(usbsrc->bus, usbsrc->device, NULL))) goto cleanup; @@ -4309,7 +4309,7 @@ lxcDomainDetachDeviceDiskLive(virDomainObjPtr vm, def = vm->def->disks[idx]; src = virDomainDiskGetSource(def);
- virAsprintf(&dst, "/dev/%s", def->dst); + dst = g_strdup_printf("/dev/%s", def->dst);
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", @@ -4447,7 +4447,7 @@ lxcDomainDetachDeviceHostdevUSBLive(virLXCDriverPtr driver, }
usbsrc = &def->source.subsys.u.usb; - virAsprintf(&dst, "/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device); + dst = g_strdup_printf("/dev/bus/usb/%03d/%03d", usbsrc->bus, usbsrc->device);
if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_DEVICES)) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", diff --git a/src/lxc/lxc_fuse.c b/src/lxc/lxc_fuse.c index 35dbad7986..3e2ad197d3 100644 --- a/src/lxc/lxc_fuse.c +++ b/src/lxc/lxc_fuse.c @@ -47,7 +47,7 @@ static int lxcProcGetattr(const char *path, struct stat *stbuf) virDomainDefPtr def = (virDomainDefPtr)context->private_data;
memset(stbuf, 0, sizeof(struct stat)); - virAsprintf(&mempath, "/proc/%s", path); + mempath = g_strdup_printf("/proc/%s", path);
res = 0;
@@ -250,7 +250,7 @@ static int lxcProcRead(const char *path G_GNUC_UNUSED, struct fuse_context *context = NULL; virDomainDefPtr def = NULL;
- virAsprintf(&hostpath, "/proc/%s", path); + hostpath = g_strdup_printf("/proc/%s", path);
context = fuse_get_context(); def = (virDomainDefPtr)context->private_data; @@ -305,7 +305,7 @@ int lxcSetupFuse(virLXCFusePtr *f, virDomainDefPtr def) if (virMutexInit(&fuse->lock) < 0) goto cleanup2;
- virAsprintf(&fuse->mountpoint, "%s/%s.fuse/", LXC_STATE_DIR, def->name); + fuse->mountpoint = g_strdup_printf("%s/%s.fuse/", LXC_STATE_DIR, def->name);
if (virFileMakePath(fuse->mountpoint) < 0) { virReportSystemError(errno, _("Cannot create %s"), diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c index 1983af135e..479125374b 100644 --- a/src/lxc/lxc_monitor.c +++ b/src/lxc/lxc_monitor.c @@ -151,7 +151,7 @@ virLXCMonitorPtr virLXCMonitorNew(virDomainObjPtr vm, if (!(mon = virObjectLockableNew(virLXCMonitorClass))) return NULL;
- virAsprintf(&sockpath, "%s/%s.sock", socketdir, vm->def->name); + sockpath = g_strdup_printf("%s/%s.sock", socketdir, vm->def->name);
if (!(mon->client = virNetClientNewUNIX(sockpath, false, NULL))) goto error; diff --git a/src/lxc/lxc_native.c b/src/lxc/lxc_native.c index c7cf2c4b0e..b9dffd6de9 100644 --- a/src/lxc/lxc_native.c +++ b/src/lxc/lxc_native.c @@ -265,7 +265,7 @@ lxcAddFstabLine(virDomainDefPtr def, lxcFstabPtr fstab) return -1;
if (fstab->dst[0] != '/') { - virAsprintf(&dst, "/%s", fstab->dst); + dst = g_strdup_printf("/%s", fstab->dst); } else { dst = g_strdup(fstab->dst); } @@ -491,8 +491,8 @@ lxcAddNetworkDefinition(lxcNetworkParseData *data) * on the host */ if (isVlan && data->vlanid) { VIR_FREE(hostdev->source.caps.u.net.ifname); - virAsprintf(&hostdev->source.caps.u.net.ifname, "%s.%s", - data->link, data->vlanid); + hostdev->source.caps.u.net.ifname = g_strdup_printf("%s.%s", + data->link, data->vlanid);
Perhaps put data->vlanid in the next line to make the data->link line a bit shorter. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>