Hi All,

I am using branch 'origin/aufs3.19' from
git://github.com/sfjro/aufs3-linux.git. and want to use smack with
aufs. So I enabled the option CONFIG_AUFS_XATTR and booted the kernel.

To test it  I did

1) mount /dev/hdb1 to /mnt

# mount | grep hdb1
/dev/hdb1 on /mnt type ext4 (rw,relatime,data=ordered)

2) Used the below test script to make the aufs mount

----------------------------------------
# pwd
/mnt
# cat test_aufs_cp.sh
mkdir a b c
chsmack -a 'k1' a
chsmack -a 'k1' b
chsmack -a 'k1' c

cd a
for i in 1 2 3
do
        echo $i > a$i.txt
        chsmack -a 'k1' a$i.txt
done

cd ../b
for i in 1 2 3
do
        echo $i > b$i.txt
        chsmack -a 'k1' b$i.txt
done

cd ../c
for i in 1 2 3
do
        echo $i > c$i.txt
        chsmack -a 'k1' c$i.txt
done

cd ..

mkdir mnt

mount -t aufs -o
br=./a=rw:./b=ro:./c=ro:,noplink,smackfsdef=k1,smackfsroot=k1 -o
udba=reval none  ./mnt
---------------------------------

3) Run the script and make sure that it is mounted
# mount | grep aufs
none on /mnt/mnt type aufs (rw,relatime,si=669ecc04df7a829e,noplink)

4) Now if I cd to /mnt/mnt and do 'ls' it hangs and I get the below oops.


# dmesg
[  148.855382] ------------[ cut here ]------------
[  148.855382] kernel BUG at fs/aufs/sbinfo.c:336!
[  148.855382] invalid opcode: 0000 [#1] PREEMPT SMP
[  148.855382] Modules linked in:
[  148.855382] CPU: 0 PID: 140 Comm: ls Not tainted 3.19.0-yocto-standard+ #1
[  148.855382] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS Bochs 01/01/2011
[  148.855382] task: ffff880006749800 ti: ffff880000078000 task.ti:
ffff880000078000
[  148.855382] RIP: 0010:[<ffffffff813b8598>]  [<ffffffff813b8598>]
si_pid_set+0x78/0xd0
[  148.855382] RSP: 0018:ffff88000007b9e8  EFLAGS: 00000286
[  148.855382] RAX: ffff88000669c000 RBX: 000000000000008b RCX: 0000000000000100
[  148.855382] RDX: 00000000ffffffff RSI: 0000000000000028 RDI: ffff88000669b000
[  148.855382] RBP: ffff88000007ba08 R08: 0000000000000000 R09: 0000000000000000
[  148.855382] R10: ffff880006740d00 R11: 0000000000000000 R12: ffff88000668b800
[  148.855382] R13: ffff88000669b000 R14: 0000000000000028 R15: ffff88000672e480
[  148.855382] FS:  0000000000000000(0000) GS:ffff880007c00000(0063)
knlGS:00000000f75f9700
[  148.855382] CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b
[  148.855382] CR2: 00000000f774f0d3 CR3: 0000000006757000 CR4: 00000000000006f0
[  148.855382] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  148.855382] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
[  148.855382] Stack:
[  148.855382]  ffff88000007b9f8 ffff88000669b000 ffff88000668b800
ffff8800069fc300
[  148.855382]  ffff88000007ba78 ffffffff813b8685 0000000000000000
0000000000000000
[  148.855382]  ffff88000007ba48 ffffffff81968b68 ffffffff811a0300
ffff8800066b3a00
[  148.855382] Call Trace:
[  148.855382]  [<ffffffff813b8685>] si_read_lock+0x95/0x170
[  148.855382]  [<ffffffff81968b68>] ? preempt_schedule_irq+0x48/0x80
[  148.855382]  [<ffffffff811a0300>] ? inode_init_always+0xf0/0x1e0
[  148.855382]  [<ffffffff813bf52e>] ? au_xino_do_write+0x3e/0x100
[  148.855382]  [<ffffffff813ecfcb>] au_lgxattr+0x2b/0x1e0
[  148.855382]  [<ffffffff81177ec6>] ? kmem_cache_alloc_trace+0x136/0x250
[  148.855382]  [<ffffffff813ed7a9>] aufs_getxattr+0x29/0x30
[  148.855382]  [<ffffffff81408d8d>] smk_fetch.isra.21+0x5d/0xa0
[  148.855382]  [<ffffffff81408f27>] smack_d_instantiate+0x157/0x330
[  148.855382]  [<ffffffff8196bd4b>] ? _raw_spin_lock+0x1b/0x60
[  148.855382]  [<ffffffff814030eb>] security_d_instantiate+0x1b/0x30
[  148.855382]  [<ffffffff8119da1a>] d_splice_alias+0x9a/0x2f0
[  148.855382]  [<ffffffff813ddbb4>] aufs_lookup+0x244/0x430
[  148.855382]  [<ffffffff811903bd>] lookup_real+0x1d/0x70
[  148.855382]  [<ffffffff81191123>] __lookup_hash+0x33/0x40
[  148.855382]  [<ffffffff81192dc3>] lookup_slow+0x43/0xc0
[  148.855382]  [<ffffffff81195692>] path_lookupat+0x652/0x7b0
[  148.855382]  [<ffffffff81177c1e>] ? kmem_cache_alloc+0xde/0x250
[  148.855382]  [<ffffffff81177bae>] ? kmem_cache_alloc+0x6e/0x250
[  148.855382]  [<ffffffff81196770>] ? getname_flags+0x30/0x130
[  148.855382]  [<ffffffff81195816>] filename_lookup.isra.32+0x26/0x80
[  148.855382]  [<ffffffff811970f4>] user_path_at_empty+0x54/0xa0
[  148.855382]  [<ffffffff81968039>] ? __schedule+0x3f9/0xa40
[  148.855382]  [<ffffffff81197151>] user_path_at+0x11/0x20
[  148.855382]  [<ffffffff8118b872>] vfs_fstatat+0x52/0xa0
[  148.855382]  [<ffffffff8118b8fe>] vfs_lstat+0x1e/0x20
[  148.855382]  [<ffffffff8104f8ba>] sys32_lstat64+0x1a/0x40
[  148.855382]  [<ffffffff81003d23>] ? do_device_not_available+0x23/0x30
[  148.855382]  [<ffffffff8196e25e>] ? device_not_available+0x1e/0x30
[  148.855382]  [<ffffffff8196eea8>] cstar_dispatch+0x7/0x25
[  148.855382] Code: 11 01 d3 81 e3 ff 7f 00 00 29 d3 48 63 db 48 0f
a3 18 19 d2 85 d2 75 13 3e 48 0f ab 18 48 83 c4 08 5b 41 5c 41 5d 5d
c3 0f 1f 00 <0f> 0b 66 0f 1f 44 00 00 4c 8d a7 50 04 00 00 4c 89 e7 e8
f1 1b
[  148.855382] RIP  [<ffffffff813b8598>] si_pid_set+0x78/0xd0
[  148.855382]  RSP <ffff88000007b9e8>
[  148.865550] ---[ end trace e932f7d7f14c8e88 ]---
[  148.866532] ------------[ cut here ]------------
[  148.866599] kernel BUG at fs/aufs/sbinfo.c:336!
[  148.866641] invalid opcode: 0000 [#2] PREEMPT SMP
[  148.866712] Modules linked in:
[  148.866818] CPU: 0 PID: 140 Comm: ls Tainted: G      D
3.19.0-yocto-standard+ #1
[  148.866868] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
BIOS Bochs 01/01/2011
[  148.866968] task: ffff880006749800 ti: ffff880000078000 task.ti:
ffff880000078000
[  148.867019] RIP: 0010:[<ffffffff813b8598>]  [<ffffffff813b8598>]
si_pid_set+0x78/0xd0
[  148.867112] RSP: 0018:ffff88000007b5f8  EFLAGS: 00000286
[  148.867161] RAX: ffff88000669c000 RBX: 000000000000008b RCX: ffff880006689000
[  148.867165] RDX: 00000000ffffffff RSI: ffff8800070cb400 RDI: ffff88000669b000
[  148.867165] RBP: ffff88000007b618 R08: ffff880007ffd000 R09: 0000000000000007
[  148.867165] R10: ffffffff81ee2808 R11: 0000000000000000 R12: ffff88000668b800
[  148.867165] R13: ffff88000669b000 R14: ffff880006740700 R15: ffff88000669b000
[  148.867165] FS:  0000000000000000(0000) GS:ffff880007c00000(0000)
knlGS:0000000000000000
[  148.867165] CS:  0010 DS: 002b ES: 002b CR0: 000000008005003b
[  148.867165] CR2: 00000000f774f0d3 CR3: 0000000001e11000 CR4: 00000000000006f0
[  148.867165] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  148.867165] DR3: 0000000000000000 DR6: 0000000000000000 DR7: 0000000000000000
[  148.867165] Stack:
[  148.867165]  ffff88000007b618 ffff8800069f8060 ffff88000668b800
ffffffff813d8d70
[  148.867165]  ffff88000007b668 ffffffff813d5426 ffff88000007b658
ffff8800070cb400
[  148.867165]  0000000000000051 ffff880006740700 0000000000000000
ffff8800070cb400
[  148.867165] Call Trace:
[  148.867165]  [<ffffffff813d8d70>] ? aufs_flush_dir+0x20/0x20
[  148.867165]  [<ffffffff813d5426>] au_do_flush+0x46/0x260
[  148.867165]  [<ffffffff813d8d65>] aufs_flush_dir+0x15/0x20
[  148.867165]  [<ffffffff81184ad3>] filp_close+0x33/0x80
[  148.867165]  [<ffffffff811a3e98>] put_files_struct+0x78/0xd0
[  148.867165]  [<ffffffff811a3f9b>] exit_files+0x4b/0x60
[  148.867165]  [<ffffffff81056ecb>] do_exit+0x57b/0xb70
[  148.867165]  [<ffffffff8109cba5>] ? kmsg_dump+0xc5/0xd0
[  148.867165]  [<ffffffff8100692e>] oops_end+0x7e/0xb0
[  148.867165]  [<ffffffff81006bcb>] die+0x4b/0x70
[  148.867165]  [<ffffffff810030fa>] do_trap+0xba/0x150
[  148.867165]  [<ffffffff8100336a>] do_error_trap+0x7a/0xf0
[  148.867165]  [<ffffffff813b8598>] ? si_pid_set+0x78/0xd0
[  148.867165]  [<ffffffff814639f7>] ? debug_smp_processor_id+0x17/0x20
[  148.867165]  [<ffffffff81186460>] ? new_sync_read+0xb0/0xb0
[  148.867165]  [<ffffffff81003da0>] do_invalid_op+0x20/0x30
[  148.867165]  [<ffffffff8196e22e>] invalid_op+0x1e/0x30
[  148.867165]  [<ffffffff813b8598>] ? si_pid_set+0x78/0xd0
[  148.867165]  [<ffffffff813b8685>] si_read_lock+0x95/0x170
[  148.867165]  [<ffffffff81968b68>] ? preempt_schedule_irq+0x48/0x80
[  148.867165]  [<ffffffff811a0300>] ? inode_init_always+0xf0/0x1e0
[  148.867165]  [<ffffffff813bf52e>] ? au_xino_do_write+0x3e/0x100
[  148.867165]  [<ffffffff813ecfcb>] au_lgxattr+0x2b/0x1e0
[  148.867165]  [<ffffffff81177ec6>] ? kmem_cache_alloc_trace+0x136/0x250
[  148.867165]  [<ffffffff813ed7a9>] aufs_getxattr+0x29/0x30
[  148.867165]  [<ffffffff81408d8d>] smk_fetch.isra.21+0x5d/0xa0
[  148.867165]  [<ffffffff81408f27>] smack_d_instantiate+0x157/0x330
[  148.867165]  [<ffffffff8196bd4b>] ? _raw_spin_lock+0x1b/0x60
[  148.867165]  [<ffffffff814030eb>] security_d_instantiate+0x1b/0x30
[  148.867165]  [<ffffffff8119da1a>] d_splice_alias+0x9a/0x2f0
[  148.867165]  [<ffffffff813ddbb4>] aufs_lookup+0x244/0x430
[  148.867165]  [<ffffffff811903bd>] lookup_real+0x1d/0x70
[  148.867165]  [<ffffffff81191123>] __lookup_hash+0x33/0x40
[  148.867165]  [<ffffffff81192dc3>] lookup_slow+0x43/0xc0
[  148.867165]  [<ffffffff81195692>] path_lookupat+0x652/0x7b0
[  148.867165]  [<ffffffff81177c1e>] ? kmem_cache_alloc+0xde/0x250
[  148.867165]  [<ffffffff81177bae>] ? kmem_cache_alloc+0x6e/0x250
[  148.867165]  [<ffffffff81196770>] ? getname_flags+0x30/0x130
[  148.867165]  [<ffffffff81195816>] filename_lookup.isra.32+0x26/0x80
[  148.867165]  [<ffffffff811970f4>] user_path_at_empty+0x54/0xa0
[  148.867165]  [<ffffffff81968039>] ? __schedule+0x3f9/0xa40
[  148.867165]  [<ffffffff81197151>] user_path_at+0x11/0x20
[  148.867165]  [<ffffffff8118b872>] vfs_fstatat+0x52/0xa0
[  148.867165]  [<ffffffff8118b8fe>] vfs_lstat+0x1e/0x20
[  148.867165]  [<ffffffff8104f8ba>] sys32_lstat64+0x1a/0x40
[  148.867165]  [<ffffffff81003d23>] ? do_device_not_available+0x23/0x30
[  148.867165]  [<ffffffff8196e25e>] ? device_not_available+0x1e/0x30
[  148.867165]  [<ffffffff8196eea8>] cstar_dispatch+0x7/0x25
[  148.867165] Code: 11 01 d3 81 e3 ff 7f 00 00 29 d3 48 63 db 48 0f
a3 18 19 d2 85 d2 75 13 3e 48 0f ab 18 48 83 c4 08 5b 41 5c 41 5d 5d
c3 0f 1f 00 <0f> 0b 66 0f 1f 44 00 00 4c 8d a7 50 04 00 00 4c 89 e7 e8
f1 1b
[  148.867165] RIP  [<ffffffff813b8598>] si_pid_set+0x78/0xd0
[  148.867165]  RSP <ffff88000007b5f8>
[  148.879960] ---[ end trace e932f7d7f14c8e89 ]---
[  148.880278] Fixing recursive fault but reboot is needed!
#


5) The aufs and ext4 options enabled in the kernel are

CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_AUFS_FS=y
CONFIG_AUFS_BRANCH_MAX_127=y
CONFIG_AUFS_SBILIST=y
CONFIG_AUFS_XATTR=y
CONFIG_AUFS_BDEV_LOOP=y
CONFIG_AUFS_DEBUG=y
CONFIG_AUFS_MAGIC_SYSRQ=y

Is this the correct way to use xattr with aufs? or v3.19 does not
support all the xattr(like the smack security label)?

--Arun

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot

Reply via email to