OpenAFS suffers kernel panic and deadlock under RHEL 6.5 and RHEL 5.10
Issue
- A design decision in the way OpenAFS interacts with the kernel causes kernel panic under certain AFS access patterns.
- This is described by Andrew Deason from Sine Nomine (OpenAFS support) at OpenAFS client crashes on RHEL 5.10 and RHEL 6.5
- The kernel warning backtrace may be similar to:
WARNING: at fs/dcache.c:1249 d_splice_alias+0x16e/0x180() (Tainted: P --------------- )
Call Trace:
[<ffffffff81071e27>] ? warn_slowpath_common+0x87/0xc0
[<ffffffff81071e7a>] ? warn_slowpath_null+0x1a/0x20
[<ffffffff811a454e>] ? d_splice_alias+0x16e/0x180
[<ffffffffa042d32d>] ? afs_linux_lookup+0x12d/0x280 [openafs]
[<ffffffff81198a45>] ? do_lookup+0x1a5/0x230
[<ffffffff81199364>] ? __link_path_walk+0x794/0xff0
[<ffffffff811218b7>] ? do_read_cache_page+0x97/0x180
[<ffffffff811219e9>] ? read_cache_page_async+0x19/0x20
[<ffffffff81121a06>] ? read_cache_page+0x16/0x20
[<ffffffff8119609f>] ? page_getlink+0x4f/0xb0
[<ffffffff811990c4>] ? __link_path_walk+0x4f4/0xff0
[<ffffffff8122dad1>] ? avc_has_perm+0x71/0x90
[<ffffffff81199e7a>] ? path_walk+0x6a/0xe0
[<ffffffff8119a08b>] ? filename_lookup+0x6b/0xc0
[<ffffffff8119b1b7>] ? user_path_at+0x57/0xa0
[<ffffffffa042d836>] ? afs_linux_getattr+0x36/0x50 [openafs]
[<ffffffff811aaa30>] ? mntput_no_expire+0x30/0x110
[<ffffffff8118e7c4>] ? cp_new_stat+0xe4/0x100
[<ffffffff8118ea00>] ? vfs_fstatat+0x50/0xa0
[<ffffffff8118eb7b>] ? vfs_stat+0x1b/0x20
[<ffffffff8118eba4>] ? sys_newstat+0x24/0x50
[<ffffffff810e2077>] ? audit_syscall_entry+0x1d7/0x200
[<ffffffff810e1e6e>] ? __audit_syscall_exit+0x25e/0x290
[<ffffffff8100b072>] ? system_call_fastpath+0x16/0x1b
with panics in may_delete
inside vfs_rmdir
some time after the warning. Panics in other code paths may also be seen.
- This has occurred in Red Hat Enterprise Linux since the following patches:
RHEL 5
- Development kernel
2.6.18-367.el5
- Released with
kernel-2.6.18-371.el5
in RHEL 5.10
- [fs] vfs: stop d_splice_alias creating directory aliases (J. Bruce Fields) [785916]
RHEL 6
- Development kernel
2.6.32-408.el6
- Released with
kernel-2.6.32-431.el6
in RHEL 6.5
- [fs] vfs: stop d_splice_alias creating directory aliases (J. Bruce Fields) [820446]
Environment
- Red Hat Enterprise Linux 6.5 (
kernel-2.6.32-431
) - Red Hat Enterprise Linux 5.10 (
kernel-2.6.18-371.el5
) - OpenAFS, the open source implementation of the AFS filesystem
Support Note:
OpenAFS is not a component supplied or supported by Red Hat.
Commercial support for OpenAFS is available through organizations such as Sine Nomine Associates and Secure Endpoints Inc.
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.