int
virSecurityManagerTransactionStart(virSecurityManager *mgr)
{
- int ret = 0;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- virObjectLock(mgr);
- if (mgr->drv->transactionStart)
- ret = mgr->drv->transactionStart(mgr);
- virObjectUnlock(mgr);
- return ret;
+ if (!mgr->drv->transactionStart)
+ return 0;
+
+ return mgr->drv->transactionStart(mgr);
}
pid_t pid,
bool lock)
{
- int ret = 0;
+ VIR_LOCK_GUARD lockguard = virObjectLockGuard(mgr);
- virObjectLock(mgr);
- if (mgr->drv->transactionCommit)
- ret = mgr->drv->transactionCommit(mgr, pid, lock);
- virObjectUnlock(mgr);
- return ret;
+ if (!mgr->drv->transactionCommit)
+ return 0;
+
+ return mgr->drv->transactionCommit(mgr, pid, lock);
}
void
virSecurityManagerTransactionAbort(virSecurityManager *mgr)
{
- virObjectLock(mgr);
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
if (mgr->drv->transactionAbort)
mgr->drv->transactionAbort(mgr);
- virObjectUnlock(mgr);
}
const char *
virSecurityManagerGetDOI(virSecurityManager *mgr)
{
- if (mgr->drv->getDOI) {
- const char *ret;
- virObjectLock(mgr);
- ret = mgr->drv->getDOI(mgr);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->getDOI) {
+ virReportUnsupportedError();
+ return NULL;
}
- virReportUnsupportedError();
- return NULL;
+ return mgr->drv->getDOI(mgr);
}
const char *
virSecurityManagerGetModel(virSecurityManager *mgr)
{
- if (mgr->drv->getModel) {
- const char *ret;
- virObjectLock(mgr);
- ret = mgr->drv->getModel(mgr);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->getModel) {
+ virReportUnsupportedError();
+ return NULL;
}
- virReportUnsupportedError();
- return NULL;
+ return mgr->drv->getModel(mgr);
}
virSecurityManagerGetBaseLabel(virSecurityManager *mgr,
int virtType)
{
- if (mgr->drv->getBaseLabel) {
- const char *ret;
- virObjectLock(mgr);
- ret = mgr->drv->getBaseLabel(mgr, virtType);
- virObjectUnlock(mgr);
- return ret;
- }
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return NULL;
+ if (!mgr->drv->getBaseLabel)
+ return NULL;
+
+ return mgr->drv->getBaseLabel(mgr, virtType);
}
virStorageSource *src,
virSecurityDomainImageLabelFlags flags)
{
- if (mgr->drv->domainRestoreSecurityImageLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityImageLabel(mgr, vm, src, flags);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainRestoreSecurityImageLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainRestoreSecurityImageLabel(mgr, vm, src, flags);
}
virStorageSource *src,
virStorageSource *dst)
{
- if (mgr->drv->domainMoveImageMetadata) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainMoveImageMetadata(mgr, pid, src, dst);
- virObjectUnlock(mgr);
- return ret;
- }
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return 0;
+ if (!mgr->drv->domainMoveImageMetadata)
+ return 0;
+
+ return mgr->drv->domainMoveImageMetadata(mgr, pid, src, dst);
}
virSecurityManagerSetDaemonSocketLabel(virSecurityManager *mgr,
virDomainDef *vm)
{
- if (mgr->drv->domainSetSecurityDaemonSocketLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityDaemonSocketLabel(mgr, vm);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityDaemonSocketLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityDaemonSocketLabel(mgr, vm);
}
virSecurityManagerSetSocketLabel(virSecurityManager *mgr,
virDomainDef *vm)
{
- if (mgr->drv->domainSetSecuritySocketLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecuritySocketLabel(mgr, vm);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecuritySocketLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecuritySocketLabel(mgr, vm);
}
virSecurityManagerClearSocketLabel(virSecurityManager *mgr,
virDomainDef *vm)
{
- if (mgr->drv->domainClearSecuritySocketLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainClearSecuritySocketLabel(mgr, vm);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainClearSecuritySocketLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainClearSecuritySocketLabel(mgr, vm);
}
virStorageSource *src,
virSecurityDomainImageLabelFlags flags)
{
- if (mgr->drv->domainSetSecurityImageLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityImageLabel(mgr, vm, src, flags);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityImageLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityImageLabel(mgr, vm, src, flags);
}
virDomainHostdevDef *dev,
const char *vroot)
{
- if (mgr->drv->domainRestoreSecurityHostdevLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityHostdevLabel(mgr, vm, dev, vroot);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainRestoreSecurityHostdevLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainRestoreSecurityHostdevLabel(mgr, vm, dev, vroot);
}
virDomainHostdevDef *dev,
const char *vroot)
{
- if (mgr->drv->domainSetSecurityHostdevLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityHostdevLabel(mgr, vm, dev, vroot);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityHostdevLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityHostdevLabel(mgr, vm, dev, vroot);
}
virDomainDef *vm,
const char *savefile)
{
- if (mgr->drv->domainSetSavedStateLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSavedStateLabel(mgr, vm, savefile);
- virObjectUnlock(mgr);
- return ret;
- }
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return 0;
+ if (!mgr->drv->domainSetSavedStateLabel)
+ return 0;
+
+ return mgr->drv->domainSetSavedStateLabel(mgr, vm, savefile);
}
virDomainDef *vm,
const char *savefile)
{
- if (mgr->drv->domainRestoreSavedStateLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSavedStateLabel(mgr, vm, savefile);
- virObjectUnlock(mgr);
- return ret;
- }
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return 0;
+ if (!mgr->drv->domainRestoreSavedStateLabel)
+ return 0;
+
+ return mgr->drv->domainRestoreSavedStateLabel(mgr, vm, savefile);
}
virDomainDef *vm,
pid_t pid)
{
- if (mgr->drv->domainReserveSecurityLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainReserveSecurityLabel(mgr, vm, pid);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainReserveSecurityLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainReserveSecurityLabel(mgr, vm, pid);
}
virSecurityManagerReleaseLabel(virSecurityManager *mgr,
virDomainDef *vm)
{
- if (mgr->drv->domainReleaseSecurityLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainReleaseSecurityLabel(mgr, vm);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainReleaseSecurityLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainReleaseSecurityLabel(mgr, vm);
}
bool chardevStdioLogd,
bool migrated)
{
- if (mgr->drv->domainSetSecurityAllLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityAllLabel(mgr, vm, incomingPath,
- chardevStdioLogd,
- migrated);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityAllLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityAllLabel(mgr, vm, incomingPath,
+ chardevStdioLogd, migrated);
}
bool migrated,
bool chardevStdioLogd)
{
- if (mgr->drv->domainRestoreSecurityAllLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityAllLabel(mgr, vm, migrated,
- chardevStdioLogd);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainRestoreSecurityAllLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainRestoreSecurityAllLabel(mgr, vm, migrated,
+ chardevStdioLogd);
}
int
pid_t pid,
virSecurityLabelPtr sec)
{
- if (mgr->drv->domainGetSecurityProcessLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainGetSecurityProcessLabel(mgr, vm, pid, sec);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainGetSecurityProcessLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainGetSecurityProcessLabel(mgr, vm, pid, sec);
}
virSecurityManagerSetProcessLabel(virSecurityManager *mgr,
virDomainDef *vm)
{
- if (mgr->drv->domainSetSecurityProcessLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityProcessLabel(mgr, vm);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityProcessLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityProcessLabel(mgr, vm);
}
if (secdef == NULL || secdef->model == NULL)
return 0;
- if (mgr->drv->domainSecurityVerify) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSecurityVerify(mgr, def);
- virObjectUnlock(mgr);
- return ret;
+ VIR_WITH_OBJECT_LOCK_GUARD(mgr) {
+ if (mgr->drv->domainSecurityVerify) {
+ return mgr->drv->domainSecurityVerify(mgr, def);
+ }
}
virReportUnsupportedError();
virDomainDef *vm,
int fd)
{
- if (mgr->drv->domainSetSecurityImageFDLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityImageFDLabel(mgr, vm, fd);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityImageFDLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityImageFDLabel(mgr, vm, fd);
}
virDomainDef *vm,
int fd)
{
- if (mgr->drv->domainSetSecurityTapFDLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityTapFDLabel(mgr, vm, fd);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityTapFDLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityTapFDLabel(mgr, vm, fd);
}
virSecurityManagerGetMountOptions(virSecurityManager *mgr,
virDomainDef *vm)
{
- if (mgr->drv->domainGetSecurityMountOptions) {
- char *ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainGetSecurityMountOptions(mgr, vm);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainGetSecurityMountOptions) {
+ virReportUnsupportedError();
+ return NULL;
}
- virReportUnsupportedError();
- return NULL;
+ return mgr->drv->domainGetSecurityMountOptions(mgr, vm);
}
const char *path,
bool allowSubtree)
{
- if (mgr->drv->domainSetPathLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetPathLabel(mgr, vm, path, allowSubtree);
- virObjectUnlock(mgr);
- return ret;
- }
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return 0;
+ if (!mgr->drv->domainSetPathLabel)
+ return 0;
+
+ return mgr->drv->domainSetPathLabel(mgr, vm, path, allowSubtree);
}
virDomainDef *vm,
const char *path)
{
- if (mgr->drv->domainSetPathLabelRO) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetPathLabelRO(mgr, vm, path);
- virObjectUnlock(mgr);
- return ret;
- }
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return 0;
+ if (!mgr->drv->domainSetPathLabelRO)
+ return 0;
+
+ return mgr->drv->domainSetPathLabelRO(mgr, vm, path);
}
/**
virDomainDef *vm,
const char *path)
{
- if (mgr->drv->domainRestorePathLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestorePathLabel(mgr, vm, path);
- virObjectUnlock(mgr);
- return ret;
- }
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return 0;
+ if (!mgr->drv->domainRestorePathLabel)
+ return 0;
+
+ return mgr->drv->domainRestorePathLabel(mgr, vm, path);
}
virDomainDef *vm,
virDomainMemoryDef *mem)
{
- if (mgr->drv->domainSetSecurityMemoryLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityMemoryLabel(mgr, vm, mem);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityMemoryLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityMemoryLabel(mgr, vm, mem);
}
virDomainDef *vm,
virDomainMemoryDef *mem)
{
- if (mgr->drv->domainRestoreSecurityMemoryLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityMemoryLabel(mgr, vm, mem);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainRestoreSecurityMemoryLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainRestoreSecurityMemoryLabel(mgr, vm, mem);
}
virDomainDef *vm,
virDomainInputDef *input)
{
- if (mgr->drv->domainSetSecurityInputLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityInputLabel(mgr, vm, input);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityInputLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityInputLabel(mgr, vm, input);
}
virDomainDef *vm,
virDomainInputDef *input)
{
- if (mgr->drv->domainRestoreSecurityInputLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityInputLabel(mgr, vm, input);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainRestoreSecurityInputLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainRestoreSecurityInputLabel(mgr, vm, input);
}
virDomainChrSourceDef *dev_source,
bool chardevStdioLogd)
{
- if (mgr->drv->domainSetSecurityChardevLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityChardevLabel(mgr, def, dev_source,
- chardevStdioLogd);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainSetSecurityChardevLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainSetSecurityChardevLabel(mgr, def, dev_source,
+ chardevStdioLogd);
}
virDomainChrSourceDef *dev_source,
bool chardevStdioLogd)
{
- if (mgr->drv->domainRestoreSecurityChardevLabel) {
- int ret;
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityChardevLabel(mgr, def, dev_source,
- chardevStdioLogd);
- virObjectUnlock(mgr);
- return ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
+
+ if (!mgr->drv->domainRestoreSecurityChardevLabel) {
+ virReportUnsupportedError();
+ return -1;
}
- virReportUnsupportedError();
- return -1;
+ return mgr->drv->domainRestoreSecurityChardevLabel(mgr, def, dev_source,
+ chardevStdioLogd);
}
virSecurityManagerSetTPMLabels(virSecurityManager *mgr,
virDomainDef *vm)
{
- int ret;
-
- if (mgr->drv->domainSetSecurityTPMLabels) {
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityTPMLabels(mgr, vm);
- virObjectUnlock(mgr);
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return ret;
- }
+ if (!mgr->drv->domainSetSecurityTPMLabels)
+ return 0;
- return 0;
+ return mgr->drv->domainSetSecurityTPMLabels(mgr, vm);
}
virSecurityManagerRestoreTPMLabels(virSecurityManager *mgr,
virDomainDef *vm)
{
- int ret;
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- if (mgr->drv->domainRestoreSecurityTPMLabels) {
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityTPMLabels(mgr, vm);
- virObjectUnlock(mgr);
-
- return ret;
- }
+ if (!mgr->drv->domainRestoreSecurityTPMLabels)
+ return 0;
- return 0;
+ return mgr->drv->domainRestoreSecurityTPMLabels(mgr, vm);
}
virDomainDef *vm,
virDomainNetDef *net)
{
- int ret;
-
- if (mgr->drv->domainSetSecurityNetdevLabel) {
- virObjectLock(mgr);
- ret = mgr->drv->domainSetSecurityNetdevLabel(mgr, vm, net);
- virObjectUnlock(mgr);
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return ret;
- }
+ if (!mgr->drv->domainSetSecurityNetdevLabel)
+ return 0;
- return 0;
+ return mgr->drv->domainSetSecurityNetdevLabel(mgr, vm, net);
}
virDomainDef *vm,
virDomainNetDef *net)
{
- int ret;
-
- if (mgr->drv->domainRestoreSecurityNetdevLabel) {
- virObjectLock(mgr);
- ret = mgr->drv->domainRestoreSecurityNetdevLabel(mgr, vm, net);
- virObjectUnlock(mgr);
+ VIR_LOCK_GUARD lock = virObjectLockGuard(mgr);
- return ret;
- }
+ if (!mgr->drv->domainRestoreSecurityNetdevLabel)
+ return 0;
- return 0;
+ return mgr->drv->domainRestoreSecurityNetdevLabel(mgr, vm, net);
}