After mounting securityfs like this:

uml# mount securityfs -t securityfs /sys/kernel/security

I load a module which performs these operations:

static void securityfs_init(void)
        struct dentry *de;

        printk(KERN_ALERT "securityfs_init\n");
        de = securityfs_create_dir("berlinfw2", NULL);
        if(!de) {
                printk(KERN_ALERT "Can't create security directory\n");

Then I've got a deadlock, interruption uml, and showing the stackstrace gives that:

#0  hard_handler (sig=11) at arch/um/os-Linux/sys-i386/signal.c:11
#1  <signal handler called>
#2  0x081b76da in mutex_lock (lock=0x40162068) at include/asm/arch/atomic.h:189
#3  0x0812dfbb in create_by_name (name=0xa81b09c "<1>securityfs_init\n", mode=16877, parent=0x95a3f1c,
    dentry=0x95a3ec8) at security/inode.c:173
#4  0x0812e0e0 in securityfs_create_file (name=0xa81b09c "<1>securityfs_init\n", mode=16877, parent=0x95a3f1c,
    data=0x0, fops=0x0) at security/inode.c:231
#5  0x0812e160 in securityfs_create_dir (name=0xa81b09c "<1>securityfs_init\n", parent=0x95a3f1c)
    at security/inode.c:272
#6  0x0a81b04a in ?? ()
#7  0x0a81b09c in ?? ()
#8  0x095a3f1c in ?? ()
#9  0x0809de76 in sys_init_module (umod=0x821aab4, len=1, uargs=0xa81b440 "\001") at kernel/module.c:1991

The module works fine on the host. The host kernel is 2.6.20-16-generic (ubuntu feisty fawn), the uml kernel is compiled from ubuntu sources.

It seems there is a memory problem in the frame #5, the argument of the call is wrong!

Any ideas ?