[libvirt] [PATCH for 4.6.0 0/3] Revert VIR_AUTOPTR work in cgroup

Michal Privoznik posted 3 patches 5 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1532942165.git.mprivozn@redhat.com
Test syntax-check passed
src/libvirt-lxc.c        |   4 +-
src/lxc/lxc_cgroup.c     |   4 +-
src/lxc/lxc_container.c  |   2 +-
src/lxc/lxc_controller.c |   2 +-
src/lxc/lxc_domain.c     |   2 +-
src/lxc/lxc_process.c    |  10 +-
src/qemu/qemu_cgroup.c   |  16 ++--
src/qemu/qemu_domain.c   |   2 +-
src/qemu/qemu_driver.c   |  34 +++----
src/qemu/qemu_process.c  |   2 +-
src/util/vircgroup.c     | 233 +++++++++++++++++++++++++++++------------------
src/util/vircgroup.h     |  11 +--
src/util/vircgrouppriv.h |   2 +-
tests/vircgrouptest.c    |  42 ++++-----
14 files changed, 209 insertions(+), 157 deletions(-)
[libvirt] [PATCH for 4.6.0 0/3] Revert VIR_AUTOPTR work in cgroup
Posted by Michal Privoznik 5 years, 9 months ago
Turns out, our code relies on virCgroupFree(&var) setting
var = NULL. Otherwise a double free can occur:

https://www.redhat.com/archives/libvir-list/2018-July/msg02004.html

Rather than inserting var = NULL after each virCgroupFree() call lets
revert the patches. The ideal solution would be to use virCgroupFree
both directly and as attribute cleanup.

Michal Prívozník (3):
  Revert "util: cgroup: use VIR_AUTOPTR for aggregate types"
  Revert "util: cgroup: define cleanup function using
    VIR_DEFINE_AUTOPTR_FUNC"
  Revert "util: cgroup: modify virCgroupFree to take virCgroupPtr"

 src/libvirt-lxc.c        |   4 +-
 src/lxc/lxc_cgroup.c     |   4 +-
 src/lxc/lxc_container.c  |   2 +-
 src/lxc/lxc_controller.c |   2 +-
 src/lxc/lxc_domain.c     |   2 +-
 src/lxc/lxc_process.c    |  10 +-
 src/qemu/qemu_cgroup.c   |  16 ++--
 src/qemu/qemu_domain.c   |   2 +-
 src/qemu/qemu_driver.c   |  34 +++----
 src/qemu/qemu_process.c  |   2 +-
 src/util/vircgroup.c     | 233 +++++++++++++++++++++++++++++------------------
 src/util/vircgroup.h     |  11 +--
 src/util/vircgrouppriv.h |   2 +-
 tests/vircgrouptest.c    |  42 ++++-----
 14 files changed, 209 insertions(+), 157 deletions(-)

-- 
2.16.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH for 4.6.0 0/3] Revert VIR_AUTOPTR work in cgroup
Posted by Pavel Hrdina 5 years, 9 months ago
On Mon, Jul 30, 2018 at 11:19:32AM +0200, Michal Privoznik wrote:
> Turns out, our code relies on virCgroupFree(&var) setting
> var = NULL. Otherwise a double free can occur:
> 
> https://www.redhat.com/archives/libvir-list/2018-July/msg02004.html
> 
> Rather than inserting var = NULL after each virCgroupFree() call lets
> revert the patches. The ideal solution would be to use virCgroupFree
> both directly and as attribute cleanup.
> 
> Michal Prívozník (3):
>   Revert "util: cgroup: use VIR_AUTOPTR for aggregate types"
>   Revert "util: cgroup: define cleanup function using
>     VIR_DEFINE_AUTOPTR_FUNC"
>   Revert "util: cgroup: modify virCgroupFree to take virCgroupPtr"

Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list