I just encountered this myself. Was a bit bored, so did some testing.
mdadm master HEAD (4.0) does not segfault, nor does the HEAD of the
branch mdadm-3.3.4
However, if you acquire the actual version of source used by ubuntu
(3.3, from 2013(!)) and compile, and run through gdb, you get:
Program received signal SIGSEGV, Segmentation fault.
strlen () at ../sysdeps/x86_64/strlen.S:106
106 ../sysdeps/x86_64/strlen.S: No such file or directory.
(gdb) bt
#0 strlen () at ../sysdeps/x86_64/strlen.S:106
#1 0x00007ffff7a9847e in __GI___strdup (s=0x0) at strdup.c:41
#2 0x0000000000477ddf in xstrdup (str=0x0) at xmalloc.c:66
#3 0x0000000000435009 in add_new_arrays (mdstat=0x6b4480,
statelist=0x7fffffffe020, test=0, info=0x7fffffffe070)
at Monitor.c:670
#4 0x00000000004336e7 in Monitor (devlist=0x0, mailaddr=0x6b4510 "root",
alert_cmd=0x0, c=0x7fffffffe210,
daemonise=0, oneshot=1, dosyslog=0, pidfile=0x0, increments=20, share=0) at
Monitor.c:223
#5 0x0000000000406cd1 in main (argc=4, argv=0x7fffffffe6d8) at mdadm.c:1448
Monitor.c:670 is
st->devname = xstrdup(get_md_name(mse->devnm));
with the obvious unchecked return value of get_md_name
Looking through the git history, this was fixed with
http://git.neil.brown.name/?p=mdadm.git;a=commitdiff;h=1e08717f0b7856b389e9d5eb2dc330d146636183
I'd recommend backporting this patch :)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1691763
Title:
mdadm segfaults in lxd container
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1691763/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs