lockdep: Fix lockdep annotation for pipe_double_lock()
The presumed use of the pipe_double_lock() routine is to lock 2 locks in a deadlock free way by ordering the locks by their address. However it fails to keep the specified lock classes in order and explicitly annotates a deadlock. Rectify this. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Acked-by: Miklos Szeredi <mszeredi@suse.cz> LKML-Reference: <1248163763.15751.11098.camel@twins>
This commit is contained in:
parent
aea1f7964a
commit
023d43c7b5
|
@ -68,8 +68,8 @@ void pipe_double_lock(struct pipe_inode_info *pipe1,
|
|||
pipe_lock_nested(pipe1, I_MUTEX_PARENT);
|
||||
pipe_lock_nested(pipe2, I_MUTEX_CHILD);
|
||||
} else {
|
||||
pipe_lock_nested(pipe2, I_MUTEX_CHILD);
|
||||
pipe_lock_nested(pipe1, I_MUTEX_PARENT);
|
||||
pipe_lock_nested(pipe2, I_MUTEX_PARENT);
|
||||
pipe_lock_nested(pipe1, I_MUTEX_CHILD);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue