[lvm-devel] [PATCH 0/6] cmirrord memory handling fixes

Ferenc Wágner wferi at niif.hu
Wed Jul 8 12:41:21 UTC 2015


Hi,

During clustered pvmove tests cmirrord kept on dying.  To ease
debugging, I added a --foreground option to it [1-3], which made the
GCC stack protector messages stand out at once.  The backtraces made
the fix straightforward [4].  As log_checkpoint seems a constant false
condition, preparing the message is generally wasted effort, but I
didn't want to change the logic, and now it does not crash the process
at least.  Looking for other unsafe sprintf() usages provided plentiful
results, I fixed the two easy ones [5,6].  Please use as you see fit.

Ferenc Wágner (6):
  cmirrord: move generic setup from daemonize() to init_all()
  cmirrord: introduce the --foreground option to avoid daemonization
  cmirrord: document the --foreground and --help options
  cmirrord: fix stack smashing
  cmirrord: avoid debugging buffer overflow in LOG_SPRINT
  cmirrord: avoid resync buffer overflow in LOG_SPRINT

 daemons/cmirrord/clogd.c     |   62 +++++++++++++++++++++++++++++++++---------
 daemons/cmirrord/cluster.c   |   23 ++++++++++++----
 daemons/cmirrord/functions.c |    5 ++--
 man/cmirrord.8.in            |    8 +++++-
 4 files changed, 76 insertions(+), 22 deletions(-)

-- 
1.7.10.4




More information about the lvm-devel mailing list