[libvirt] [PATCH 3/6] conf: audit: Split out common steps to audit domain devices

Peter Krempa pkrempa at redhat.com
Fri Jul 4 09:08:35 UTC 2014


On 07/03/14 15:29, Ján Tomko wrote:
> On 07/03/2014 12:04 PM, Peter Krempa wrote:
>> Extract common operations done when creating an audit message to a
>> separate generic function that can be reused and convert RNG, disk, FS
>> and net audit to use it.
>> ---
>>  src/conf/domain_audit.c | 175 ++++++++++++++++--------------------------------
>>  1 file changed, 57 insertions(+), 118 deletions(-)
>>
>> diff --git a/src/conf/domain_audit.c b/src/conf/domain_audit.c
>> index 91095b1..4c4290c 100644
>> --- a/src/conf/domain_audit.c
>> +++ b/src/conf/domain_audit.c
>> @@ -93,46 +93,73 @@ virDomainAuditChardevPath(virDomainChrSourceDefPtr chr)
>>  }
>>
>>
>> -void
>> -virDomainAuditDisk(virDomainObjPtr vm,
>> -                   const char *oldDef, const char *newDef,
>> -                   const char *reason, bool success)
>> +static void
>> +virDomainAuditGenericDev(virDomainObjPtr vm,
>> +                         const char *type,
>> +                         const char *oldsrcpath,
>> +                         const char *newsrcpath,
>> +                         const char *reason,
>> +                         bool success)
>>  {
>> +    char *newdev = NULL;
>> +    char *olddev = NULL;
>>      char uuidstr[VIR_UUID_STRING_BUFLEN];
>>      char *vmname;
> 
> vmname can be used unitialized in the cleanup section on OOM
> 
>>      char *oldsrc = NULL;
>>      char *newsrc = NULL;
>>      const char *virt;
>>
>> -    virUUIDFormat(vm->def->uuid, uuidstr);
>> -    if (!(vmname = virAuditEncode("vm", vm->def->name))) {
>> -        VIR_WARN("OOM while encoding audit message");
> 
>> +    /* if both new and old source aren't provided don't log anything */
>> +    if (!newsrcpath && !oldsrcpath)
> 
> Please move this to the next commit and let this one be just code movement.
> 

That condition is also necessary for this patch as auditing with both
new and old definition missing doesn't make sense. Some of the other
refactored functions rely on that.

Peter


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140704/fddfcfef/attachment-0001.sig>


More information about the libvir-list mailing list