1. 27 4月, 2017 16 次提交
  2. 26 4月, 2017 17 次提交
  3. 25 4月, 2017 7 次提交
    • J
      test: Remove unnecessary unlocks in cleanup paths · 6b5ac3c7
      John Ferlan 提交于
      Commit id '865f479d' altered the logic to use a common test*ObjFindByName
      helpers which would lock/unlock the test driver; however, a few cleanup paths
      in that cleanup missed removing the Unlock, so remove it now.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      6b5ac3c7
    • J
      remote: Fix possible use-after-free when sending event message · fe8f1c8b
      John Ferlan 提交于
      Based upon an idea and some research by Wang King <king.wang@huawei.com>
      and xinhua.Cao <caoxinhua@huawei.com>.
      
      Since we're assigning the 'client' to our callback event lookaside list,
      it's imperative that we grab a reference to the object; otherwise, when
      the object is unref'd during virNetServerProcessClients when it's determined
      that the virNetServerClientIsClosed and the memory is free'd before perhaps
      the object event state callbacks are run.  When a virObjectLock() is run,
      before sending the message the following trace occurs;
      
          #0  0x00007fda223d66d8 in virClassIsDerivedFrom
              (klass=0xdeadbeef, parent=0x7fda24c81b40)
               at util/virobject.c:169
          #1  0x00007fda223d6a1e in virObjectIsClass
              (anyobj=anyobj@entry=0x7fd9e575b400, klass=<optimized out>)
               at util/virobject.c:365
          #2  0x00007fda223d6a44 in virObjectLock
              (anyobj=0x7fd9e575b400)
              at util/virobject.c:317
          #3  0x00007fda22507f71 in virNetServerClientSendMessage
              (client=client@entry=0x7fd9e575b400, msg=msg@entry=0x7fd9ec30de90)
              at rpc/virnetserverclient.c:1422
          #4  0x00007fda230d714d in remoteDispatchObjectEventSend
              (client=0x7fd9e575b400, program=0x7fda24c844e0, procnr=348,
               proc=0x7fda2310e5e0 <xdr_remote_domain_event_callback_tunable_msg>,
               data=0x7ffc3857fdb0)
              at remote.c:3803
          #5  0x00007fda230dd71b in remoteRelayDomainEventTunable
              (conn=<optimized out>, dom=0x7fda27cd7660, params=0x7fda27f3aae0,
               nparams=1,opaque=0x7fd9e6c99e00)
              at remote.c:1033
          #6  0x00007fda224484cb in virDomainEventDispatchDefaultFunc
              (conn=0x7fda27cd0120, event=0x7fda2736ea00, cb=0x7fda230dd610
               <remoteRelayDomainEventTunable>, cbopaque=0x7fd9e6c99e00)
              at conf/domain_event.c:1910
          #7  0x00007fda22446871 in virObjectEventStateDispatchCallbacks
              (callbacks=<optimized out>, callbacks=<optimized out>,
               event=0x7fda2736ea00,state=0x7fda24ca3960)
              at conf/object_event.c:722
          #8  virObjectEventStateQueueDispatch
              (callbacks=0x7fda24c65800, queue=0x7ffc3857fe90, state=0x7fda24ca3960)
              at conf/object_event.c:736
          #9  virObjectEventStateFlush (state=0x7fda24ca3960)
              at conf/object_event.c:814
          #10 virObjectEventTimer (timer=<optimized out>, opaque=0x7fda24ca3960)
              at conf/object_event.c:560
          #11 0x00007fda223ae8b9 in virEventPollDispatchTimeouts ()
              at util/vireventpoll.c:458
          #12 virEventPollRunOnce ()
              at util/vireventpoll.c:654
          #13 0x00007fda223ad1d2 in virEventRunDefaultImpl ()
              at util/virevent.c:314
          #14 0x00007fda225046cd in virNetDaemonRun (dmn=0x7fda24c775c0)
              at rpc/virnetdaemon.c:818
          #15 0x00007fda230d6351 in main (argc=<optimized out>, argv=<optimized out>)
              at libvirtd.c:1623
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      fe8f1c8b
    • J
      daemon: Rework remoteClientFreeFunc cleanup loops into C macro · 2033e8cc
      John Ferlan 提交于
      Rather than 'n' repetitive code segments, let's create a single macro
      which will make the code easier to read.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      2033e8cc
    • W
      daemon: Remove unnecessary goto error · 0023cc03
      Wang King 提交于
      Freeing the dst is unnecessary if the VIR_STRDUP fails, and therefore
      we need to remove the error label as well.
      0023cc03
    • W
      daemon: Fix domain name leak in error path · f6934047
      Wang King 提交于
      Domain name is duplicated in make_nonnull_domain, but not freed when
      virTypedParamsSerialize returns error.
      f6934047
    • Z
      qemu: fix argument of virDomainNetGetActualDirectMode · c77bc47f
      ZhiPeng Lu 提交于
      it should be a comparison of modes between new and old devices. So
      the argument of the second virDomainNetGetActualDirectMode should be
      newdev.
      Signed-off-by: NZhiPeng Lu <lu.zhipeng@zte.com.cn>
      c77bc47f
    • A
      autogen.sh: Improve and generalize · 6d532553
      Andrea Bolognani 提交于
      The goal is twofold: firstly, we want to extend the script so
      that it can deal with more than a single git submodule, and
      secondly we'd like to reduce the amount of duplicated code.
      Moreover, since we're making heavy changes to the code anyway,
      we might as well make sure it follows a somewhat consistent
      coding style too.
      
      To reduce code duplication, we introduce a new --dry-run
      option, which can be used by third parties to figure out
      whether calling autogen.sh is necessary or not: this allows
      us to get rid of the reimplementation of part of the logic
      in cfg.mk and guarantee they'll never get out of sync.
      
      Other changes include: making dirty submodules checking and
      cleaning entirely independent of other operations; removing
      the use of 'set -e' and handling errors explicitly instead;
      better parsing of command line arguments.
      6d532553