OpenAFS suffers kernel panic and deadlock under RHEL 6.5 and RHEL 5.10

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content