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

Reply via email to