+++ This bug was initially created as a clone of Bug #809495 +++ Description of problem: The problem is that for the case of priority queues, we have to assume that __rpc_remove_wait_queue_priority will move new elements from the tk_wait.links lists into the queue->tasks[] list. We therefore cannot use list_for_each_entry_safe() on queue->tasks[], since that will skip these new tasks that __rpc_remove_wait_queue_priority is adding. Without this fix, rpc_wake_up and rpc_wake_up_status will both fail to wake up all functions on priority wait queues, which can result in some nasty hangs. Version-Release number of selected component (if applicable): How reproducible: Sometimes Additional info: Upstream commit: commit 540a0f7584169651f485e8ab67461fcb06934e38 Author: Trond Myklebust <Trond.Myklebust> Date: Mon Mar 19 13:39:35 2012 -0400 SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up()
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux release for currently deployed products. This request is not yet committed for inclusion in a release.
*** This bug has been marked as a duplicate of bug 809937 ***