aboutsummaryrefslogtreecommitdiff
path: root/lib/debugobjects.c
diff options
context:
space:
mode:
authorJames Bottomley <[email protected]>2009-05-24 13:03:43 -0700
committerLinus Torvalds <[email protected]>2009-05-24 13:38:41 -0700
commitd5a877e8dd409d8c702986d06485c374b705d340 (patch)
treeece6d685c074c6823d31b7db99a52134866fd1a7 /lib/debugobjects.c
parent657cafa6b0f5296424d6f43f6f6eeb4a3222117e (diff)
async: make sure independent async domains can't accidentally entangle
The problem occurs when async_synchronize_full_domain() is called when the async_pending list is not empty. This will cause lowest_running() to return the cookie of the first entry on the async_pending list, which might be nothing at all to do with the domain being asked for and thus cause the domain synchronization to wait for an unrelated domain. This can cause a deadlock if domain synchronization is used from one domain to wait for another. Fix by running over the async_pending list to see if any pending items actually belong to our domain (and return their cookies if they do). Signed-off-by: James Bottomley <[email protected]> Signed-off-by: Arjan van de Ven <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'lib/debugobjects.c')
0 files changed, 0 insertions, 0 deletions