> "jon bird":
>> Thanks for your assistance with this, for completeness I will post back
>> if
>> I have any success getting it to work in case anyone else is trying to
>> do
>> something similar.
>
> Such report will be appricated.  I will, even if no one will.
> It will be a good test to see how good or bad aufs supports xattr.
> Good luck and enjoy.
>
Thanks (I think!).

Ok, so I added this to my policy:

fs_use_xattr aufs gen_context(system_u:object_r:fs_t,s0);

Which mirrors pretty much all the other file systems which use XATTR,
including in the reference policy overlayfs.

On setting up my aufs test mount I now get:

kernel: SELinux: initialized (dev aufs, type aufs), uses xattr

Which looks good. Unfortunately that is where the good news ends.

Attempting to do a "ls" of the mount, the console hung and I had to reboot
it to recover. I've now enabled AUFS_DEBUG in the kernel and tried again.
This time I triggered a kernel BUG:

May 07 12:44:54.426410 [39682] sdr kernel: Kernel BUG at c02b1120 [verbose
debug info unavailable]
May 07 12:44:54.701095 [39682] sdr kernel: invalid opcode: 0000 [#1]
PREEMPT SMP
May 07 12:44:54.701309 [39682] sdr kernel: Modules linked in: sch311x_wdt
nfsd exportfs gpio_pca953x i2c_i801 i2c_core snd_hda_intel
snd_hda_controller snd_hda_codec snd_pcm snd_timer
May 07 12:44:54.701477 [39682] sdr kernel: CPU: 1 PID: 906 Comm: ls Not
tainted 3.16.57 #6
May 07 12:44:54.701631 [39682] sdr kernel: Hardware name: To Be Filled By
O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS 080015 
05/10/2011
May 07 12:44:54.701788 [39682] sdr kernel: task: f6930190 ti: f68da000
task.ti: f68da000
May 07 12:44:54.701934 [39682] sdr kernel: EIP: 0060:[<c02b1120>] EFLAGS:
00010286 CPU: 1
May 07 12:44:54.702073 [39682] sdr kernel: EIP is at si_read_lock+0x140/0x170
May 07 12:44:54.702208 [39682] sdr kernel: EAX: f6972000 EBX: f3c48000
ECX: 00000389 EDX: ffffffff
May 07 12:44:54.702349 [39682] sdr kernel: ESI: f48a8c00 EDI: 00000028
EBP: f68dbe38 ESP: f68dbdf4
May 07 12:44:54.702490 [39682] sdr kernel:  DS: 007b ES: 007b FS: 00d8 GS:
0033 SS: 0068
May 07 12:44:54.702663 [39682] sdr kernel: CR0: 80050033 CR2: 084d60cc
CR3: 35878000 CR4: 000007d0
May 07 12:44:54.702804 [39682] sdr kernel: Stack:
May 07 12:44:54.702942 [39682] sdr kernel:  00000000 c02b6d10 00000004
f68dbe04 0000100c f48a8c00 f511f080 f516db80
May 07 12:44:54.703084 [39682] sdr kernel:  f68dbe38 c02db2fa c02bd7d1
f48a8c00 f4bc5448 f511f080 c066c140 f516db80
May 07 12:44:54.703229 [39682] sdr kernel:  c02db891 00000001 c05f246f
f4b32200 000000ff c02ed250 000000ff f4bc5460
May 07 12:44:54.703421 [39682] sdr kernel: Call Trace:
May 07 12:44:54.703580 [39682] sdr kernel:  [<c02b6d10>] ?
au_xino_do_write+0x20/0x70
May 07 12:44:54.703718 [39682] sdr kernel:  [<c02db2fa>] ?
au_lgxattr+0x1a/0x180
May 07 12:44:54.703850 [39682] sdr kernel:  [<c02bd7d1>] ?
au_cpup_attr_nlink+0x71/0x180
May 07 12:44:54.704008 [39682] sdr kernel:  [<c02db891>] ?
aufs_getxattr+0x21/0x30
May 07 12:44:54.704142 [39682] sdr kernel:  [<c02ed250>] ?
inode_doinit_with_dentry+0x120/0x5e0
May 07 12:44:54.704278 [39682] sdr kernel:  [<c02e6010>] ?
security_d_instantiate+0x10/0x20
May 07 12:44:54.704412 [39682] sdr kernel:  [<c01dd35f>] ?
d_splice_alias+0x2f/0xe0
May 07 12:44:54.704586 [39682] sdr kernel:  [<c02cf40d>] ?
aufs_lookup+0x1ad/0x2d0
May 07 12:44:54.704723 [39682] sdr kernel:  [<c01cff6f>] ?
lookup_real+0xf/0x40
May 07 12:44:54.704855 [39682] sdr kernel:  [<c01d072b>] ?
__lookup_hash+0x2b/0x40
May 07 12:44:54.704988 [39682] sdr kernel:  [<c01d2f11>] ?
path_lookupat+0x7f1/0xc50
May 07 12:44:54.705121 [39682] sdr kernel:  [<c032613a>] ?
vsnprintf+0x14a/0x3b0
May 07 12:44:54.705251 [39682] sdr kernel:  [<c0328698>] ?
lockref_get+0x8/0x20
May 07 12:44:54.705411 [39682] sdr kernel:  [<c01d3388>] ?
filename_lookup+0x18/0xb0
May 07 12:44:54.705545 [39682] sdr kernel:  [<c01d6d64>] ?
user_path_at_empty+0x34/0x80
May 07 12:44:54.705680 [39682] sdr kernel:  [<c0328718>] ?
lockref_put_or_lock+0x8/0x30
May 07 12:44:54.705814 [39682] sdr kernel:  [<c01dc358>] ? dput+0x78/0x1b0
May 07 12:44:54.705943 [39682] sdr kernel:  [<c01d6dbb>] ?
user_path_at+0xb/0x10
May 07 12:44:54.706074 [39682] sdr kernel:  [<c01e8ba3>] ?
SyS_lgetxattr+0x33/0xa0
May 07 12:44:54.706204 [39682] sdr kernel:  [<c052714d>] ?
sysenter_do_call+0x1b/0x1b
May 07 12:44:54.706337 [39682] sdr kernel: Code: 00 8b 46 28 85 c0 7e 34
b8 ff ff ff ff f0 0f c1 46 28 83 e8 01 78 27 8d 46 10 e8 ec 62 eb ff e9 36
ff ff ff 8d b4 26 00 00 00 00 <0f> 0b 8d b6 00 00 00 00 89 f0 e8 61 fe ff
ff eb bf 0f 0b ba 68
May 07 12:44:54.706511 [39682] sdr kernel: EIP: [<c02b1120>]
si_read_lock+0x140/0x170 SS:ESP 0068:f68dbdf4
May 07 12:44:54.706658 [39682] sdr kernel: ---[ end trace 1cf4303cf7d5ed4e
]---
May 07 12:44:54.706797 [39682] sdr kernel: ------------[ cut here
]------------
May 07 12:44:54.706928 [39682] sdr kernel: Kernel BUG at c02c8730 [verbose
debug info unavailable]
May 07 12:44:54.707070 [39682] sdr kernel: invalid opcode: 0000 [#2]
PREEMPT SMP
May 07 12:44:54.707204 [39682] sdr kernel: Modules linked in: sch311x_wdt
nfsd exportfs gpio_pca953x i2c_i801 i2c_core snd_hda_intel
snd_hda_controller snd_hda_codec snd_pcm snd_timer
May 07 12:44:55.039319 [39682] sdr kernel: CPU: 1 PID: 906 Comm: ls
Tainted: G      D       3.16.57 #6
May 07 12:44:55.039634 [39682] sdr kernel: Hardware name: To Be Filled By
O.E.M. To Be Filled By O.E.M./To be filled by O.E.M., BIOS 080015 
05/10/2011
May 07 12:44:55.039904 [39682] sdr kernel: task: f6930190 ti: f68da000
task.ti: f68da000
May 07 12:44:55.040610 [39682] sdr kernel: EIP: 0060:[<c02c8730>] EFLAGS:
00010286 CPU: 1
May 07 12:44:55.040874 [39682] sdr kernel: EIP is at au_do_flush+0x1e0/0x210
May 07 12:44:55.041099 [39682] sdr kernel: EAX: 00000389 EBX: f511fe80
ECX: ffffffff EDX: f6972000
May 07 12:44:55.041330 [39682] sdr kernel: ESI: f552fa00 EDI: f48a8c00
EBP: f3c48000 ESP: f68dbc7c
May 07 12:44:55.041559 [39682] sdr kernel:  DS: 007b ES: 007b FS: 00d8 GS:
0000 SS: 0068
May 07 12:44:55.041785 [39682] sdr kernel: CR0: 8005003b CR2: 084d60cc
CR3: 006f7000 CR4: 000007d0
May 07 12:44:55.042020 [39682] sdr kernel: Stack:
May 07 12:44:55.042242 [39682] sdr kernel:  f3deb100 c02caff0 00000000
00000008 00000000 f552fa00 f3deb100 00000000
May 07 12:44:55.042470 [39682] sdr kernel:  c01c604e 00000001 0000000c
f3deb108 c01e1c8a f3deb100 f6088900 f6930190
May 07 12:44:55.042704 [39682] sdr kernel:  f6088938 f693054c c0138398
00000000 c0520628 00000000 00000001 00000000
May 07 12:44:55.042936 [39682] sdr kernel: Call Trace:
May 07 12:44:55.043158 [39682] sdr kernel:  [<c02caff0>] ?
aufs_flush_dir+0x10/0x10
May 07 12:44:55.043496 [39682] sdr kernel:  [<c01c604e>] ?
filp_close+0x1e/0x50
May 07 12:44:55.043722 [39682] sdr kernel:  [<c01e1c8a>] ?
put_files_struct+0x5a/0xa0
May 07 12:44:55.043943 [39682] sdr kernel:  [<c0138398>] ?
do_exit+0x1d8/0x860
May 07 12:44:55.044156 [39682] sdr kernel:  [<c0520628>] ? printk+0x16/0x1a
May 07 12:44:55.044368 [39682] sdr kernel:  [<c013778b>] ?
print_oops_end_marker+0x1b/0x20
May 07 12:44:55.044640 [39682] sdr kernel:  [<c0104c57>] ? oops_end+0x67/0x90
May 07 12:44:55.044847 [39682] sdr kernel:  [<c0102751>] ?
do_error_trap+0x61/0xc0
May 07 12:44:55.045064 [39682] sdr kernel:  [<c02b1120>] ?
si_read_lock+0x140/0x170
May 07 12:44:55.045282 [39682] sdr kernel:  [<c019ec24>] ?
generic_file_write_iter+0x34/0xb0
May 07 12:44:55.045502 [39682] sdr kernel:  [<c01c7d87>] ?
new_sync_write+0x67/0xa0
May 07 12:44:55.045720 [39682] sdr kernel:  [<c0102d20>] ?
do_bounds+0x20/0x20
May 07 12:44:55.045931 [39682] sdr kernel:  [<c0102d2e>] ?
do_invalid_op+0xe/0x20
May 07 12:44:55.046155 [39682] sdr kernel:  [<c0527b32>] ?
error_code+0x5a/0x74
May 07 12:44:55.046369 [39682] sdr kernel:  [<c01c007b>] ?
page_lock_anon_vma_read+0x5b/0x110
May 07 12:44:55.046589 [39682] sdr kernel:  [<c0102d20>] ?
do_bounds+0x20/0x20
May 07 12:44:55.046802 [39682] sdr kernel:  [<c02b1120>] ?
si_read_lock+0x140/0x170
May 07 12:44:55.047019 [39682] sdr kernel:  [<c02b6d10>] ?
au_xino_do_write+0x20/0x70
May 07 12:44:55.047235 [39682] sdr kernel:  [<c02db2fa>] ?
au_lgxattr+0x1a/0x180
May 07 12:44:55.047484 [39682] sdr kernel:  [<c02bd7d1>] ?
au_cpup_attr_nlink+0x71/0x180
May 07 12:44:55.047744 [39682] sdr kernel:  [<c02db891>] ?
aufs_getxattr+0x21/0x30
May 07 12:44:55.047963 [39682] sdr kernel:  [<c02ed250>] ?
inode_doinit_with_dentry+0x120/0x5e0
May 07 12:44:55.048182 [39682] sdr kernel:  [<c02e6010>] ?
security_d_instantiate+0x10/0x20
May 07 12:44:55.048401 [39682] sdr kernel:  [<c01dd35f>] ?
d_splice_alias+0x2f/0xe0
May 07 12:44:55.048619 [39682] sdr kernel:  [<c02cf40d>] ?
aufs_lookup+0x1ad/0x2d0
May 07 12:44:55.048852 [39682] sdr kernel:  [<c01cff6f>] ?
lookup_real+0xf/0x40
May 07 12:44:55.049066 [39682] sdr kernel:  [<c01d072b>] ?
__lookup_hash+0x2b/0x40
May 07 12:44:55.049283 [39682] sdr kernel:  [<c01d2f11>] ?
path_lookupat+0x7f1/0xc50
May 07 12:44:55.049500 [39682] sdr kernel:  [<c032613a>] ?
vsnprintf+0x14a/0x3b0
May 07 12:44:55.049713 [39682] sdr kernel:  [<c0328698>] ?
lockref_get+0x8/0x20
May 07 12:44:55.049927 [39682] sdr kernel:  [<c01d3388>] ?
filename_lookup+0x18/0xb0
May 07 12:44:55.381300 [39682] sdr kernel:  [<c01d6d64>] ?
user_path_at_empty+0x34/0x80
May 07 12:44:55.381578 [39682] sdr kernel:  [<c0328718>] ?
lockref_put_or_lock+0x8/0x30
May 07 12:44:55.381812 [39682] sdr kernel:  [<c01dc358>] ? dput+0x78/0x1b0
May 07 12:44:55.382028 [39682] sdr kernel:  [<c01d6dbb>] ?
user_path_at+0xb/0x10
May 07 12:44:55.382249 [39682] sdr kernel:  [<c01e8ba3>] ?
SyS_lgetxattr+0x33/0xa0
May 07 12:44:55.382472 [39682] sdr kernel:  [<c052714d>] ?
sysenter_do_call+0x1b/0x1b
May 07 12:44:55.382707 [39682] sdr kernel: Code: b8 e6 53 5e c0 e8 61 f1
e6 ff e9 21 ff ff ff 8d 74 26 00 ba 68 00 00 00 b8 e6 53 5e c0 e8 49 f1 e6
ff e9 38 ff ff ff 8d 74 26 00 <0f> 0b 8d b6 00 00 00 00 0f 0b 8d b6 00 00
00 00 ba 68 00 00 00
May 07 12:44:55.383006 [39682] sdr kernel: EIP: [<c02c8730>]
au_do_flush+0x1e0/0x210 SS:ESP 0068:f68dbc7c
May 07 12:44:55.383257 [39682] sdr kernel: ---[ end trace 1cf4303cf7d5ed4f
]---
May 07 12:44:55.383560 [39682] sdr kernel: Fixing recursive fault but
reboot is needed!

As before the console remains stuck.

Rgs,


Jon.



Reply via email to