[acassen/keepalived] fa0a77: Make malloc/free diagnostics a separate configure ...

Alexandre Cassen <[email protected]>
Newsgroups gmane.linux.keepalived.devel
Message-ID <5770c72a86b99_4c003fdb255c32b872722@hookshot-fe4-cp1-prd.iad.github.net.mail>
  Branch: refs/heads/master
  Home:   https://github.com/acassen/keepalived
  Commit: fa0a7725cb77506cef78fa17bc9cae47d48519a0
      https://github.com/acassen/keepalived/commit/fa0a7725cb77506cef78fa17bc9cae47d48519a0
  Author: Quentin Armitage <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M configure
    M configure.ac
    M genhash/http.c
    M keepalived/check/check_daemon.c
    M keepalived/core/main.c
    M keepalived/vrrp/vrrp_daemon.c
    M lib/bitops.h
    M lib/memory.c
    M lib/memory.h
    M lib/parser.c
    M lib/utils.c
    M lib/utils.h
    M lib/vector.c
    M lib/vector.h

  Log Message:
  -----------
  Make malloc/free diagnostics a separate configure option

The commit adds the configure --enable-mem-check option which
allows the MALLOC/FREE diagnostics to be enabled without
the --enable-debug option. This means that the mem-check
diagnostics can be used when running keepalived in it's normal mode
with forking children for vrrp and checkers.

The mem-check diagnostics are written to
/tmp/Keepalived_{,vrrp,healthcheckers}_mem.PID.log

The --mem-check-log configure option enables command line option
-L which also writes zalloc/free details to the syslog.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 69f3281267287c2543ce5aae69c8f00a5b82e5b0
      https://github.com/acassen/keepalived/commit/69f3281267287c2543ce5aae69c8f00a5b82e5b0
  Author: Quentin Armitage <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M lib/memory.h

  Log Message:
  -----------
  Fix compilation error on 32-bit systems with mem-check enabled

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 1ed6272e545a824431a859e821f8f0bfd7c23eff
      https://github.com/acassen/keepalived/commit/1ed6272e545a824431a859e821f8f0bfd7c23eff
  Author: Quentin Armitage <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M lib/memory.h
    M lib/parser.c

  Log Message:
  -----------
  Replace one zalloc() and one free() call with MALLOC() and FREE()

This ensures that the mem-check diagnostics cover all mallocs/frees.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: ce710d06078848ab48d0977f595230aa15348ca5
      https://github.com/acassen/keepalived/commit/ce710d06078848ab48d0977f595230aa15348ca5
  Author: Quentin Armitage <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M lib/scheduler.c

  Log Message:
  -----------
  Fix report of malloc'd memory not being freed

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 487893b8eaed1891aa4d796d6494150e9c8ed0c6
      https://github.com/acassen/keepalived/commit/487893b8eaed1891aa4d796d6494150e9c8ed0c6
  Author: Quentin Armitage <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M lib/parser.c

  Log Message:
  -----------
  Streamline read_line()

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 7f3f010bb49729b294b9795a793d5b49dfd5f1a3
      https://github.com/acassen/keepalived/commit/7f3f010bb49729b294b9795a793d5b49dfd5f1a3
  Author: Quentin Armitage <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M keepalived/include/vrrp_if.h
    M keepalived/vrrp/vrrp_daemon.c
    M keepalived/vrrp/vrrp_if.c

  Log Message:
  -----------
  Resolve a segfault when reloading with vmacs

The vrrp_t entries on the vrrp_data list have pointers to an
interface_t for each vrrp instance. When reloading, the
interface_t items where freed, but a pointer to the old list
of vrrp_t items is held in old_vrrp_data. After the new
configuration is processed, clear_diff_vrrp() is called. clear_diff_vrrp()
uses the interface_t pointers from the old vrrp_t entries, but the
memory pointed to by the interface_t pointers has already been freed,
and probably reallocated for a different use.

This commit delays freeing the old interface_t items until after
clear_diff_vrrp() has completed, so the interface_t pointers remain valid.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: 47afc1f8e8941455c3973265e02be7d182980129
      https://github.com/acassen/keepalived/commit/47afc1f8e8941455c3973265e02be7d182980129
  Author: Quentin Armitage <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M keepalived/vrrp/vrrp_vmac.c

  Log Message:
  -----------
  Check valid interface pointer before calling reset_interface_parameters()

Before resetting the settings on the base interface of a vmac, check that
the interface_t pointer is valid.

Signed-off-by: Quentin Armitage <[email protected]>


  Commit: e320d5cfe4290df206f2f25892bec807f2fd4b12
      https://github.com/acassen/keepalived/commit/e320d5cfe4290df206f2f25892bec807f2fd4b12
  Author: Alexandre Cassen <[email protected]>
  Date:   2016-06-27 (Mon, 27 Jun 2016)

  Changed paths:
    M configure
    M configure.ac
    M genhash/http.c
    M keepalived/check/check_daemon.c
    M keepalived/core/main.c
    M keepalived/include/vrrp_if.h
    M keepalived/vrrp/vrrp_daemon.c
    M keepalived/vrrp/vrrp_if.c
    M keepalived/vrrp/vrrp_vmac.c
    M lib/bitops.h
    M lib/memory.c
    M lib/memory.h
    M lib/parser.c
    M lib/scheduler.c
    M lib/utils.c
    M lib/utils.h
    M lib/vector.c
    M lib/vector.h

  Log Message:
  -----------
  Merge pull request #370 from pqarmitage/segv

Resolve a segfault when reloading keepalived with vmacs


Compare: https://github.com/acassen/keepalived/compare/2b03cf7c453f...e320d5cfe429

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape

_______________________________________________
Keepalived-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/keepalived-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.