could you send me the patch? i will test it.

BTW, in latest musl-git version, i found something wrong with ioctl.h

#if 1 
#define _IO(a,b) _IOC(0U,(a),(b),0)                 //?
#define _IOW(a,b,c) _IOC(1U,(a),(b),sizeof(c)) //?
#else
#define _IO(a,b) _IOC(0,(a),(b),0)                   //ok
#define _IOW(a,b,c) _IOC(1,(a),(b),sizeof(c))   //ok
#endif

#define _IOR(a,b,c) _IOC(2U,(a),(b),sizeof(c))  //ok
#define _IOW(a,b,c) _IOC(3U,(a),(b),sizeof(c)) //ok

if i set 0, it works fine run as "./mount", but set 1 then,

# ./mount /dev/sda1 /mnt
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)

< 30 - 40  seconds waiting without return to shell>

mount: /mnt: filesystem mounted, but mount(8) failedOperation timed out
// <-- this is weird.
#




On Thu, May 30, 2013 at 5:04 AM, Szabolcs Nagy <nsz@port70.net> wrote:
* plan9assembler <plan9assembler@gmail.com> [2013-05-29 23:41:13 +0900]:
> util-linux umount gets segfaults randomly..(X)
> util-linux umount gets segfaults always..(O)
>
> # ./umount /mnt
> traps: umount[9444] general protection ip:7f9c48e618fb sp:7fff72447b88
> error:0 in libc.so[7f9c48e16000+72000]
> Segmentation fault.

it seems util-linux uses sscanf with %ms to parse mtab
in libmount in tab_parse.c

after i fixed that mount and umount does not segfault here
(used fixed size malloc and %s instead)