tipc: add lock nesting notation to quiet lockdep warning
TIPC accept() call grabs the socket lock on a newly allocated
socket while holding the socket lock on an old socket. But lockdep
worries that this might be a recursive lock attempt:
  [ INFO: possible recursive locking detected ]
  ---------------------------------------------
  kworker/u:0/6 is trying to acquire lock:
  (sk_lock-AF_TIPC){+.+.+.}, at: [<c8c1226c>] accept+0x15c/0x310 [tipc]
  but task is already holding lock:
  (sk_lock-AF_TIPC){+.+.+.}, at: [<c8c12138>] accept+0x28/0x310 [tipc]
  other info that might help us debug this:
  Possible unsafe locking scenario:
          CPU0
          ----
          lock(sk_lock-AF_TIPC);
          lock(sk_lock-AF_TIPC);
          *** DEADLOCK ***
  May be due to missing lock nesting notation
  [...]
Tell lockdep that this locking is safe by using lock_sock_nested().
This is similar to what was done in commit 5131a184 for
SCTP code ("SCTP: lock_sock_nested in sctp_sock_migrate").
Also note that this is isn't something that is seen normally,
as it was uncovered with some experimental work-in-progress
code not yet ready for mainline.  So no need for stable
backports or similar of this commit.
Signed-off-by:  Ying Xue <ying.xue@windriver.com>
Signed-off-by:
Ying Xue <ying.xue@windriver.com>
Signed-off-by:  Paul Gortmaker <paul.gortmaker@windriver.com>
Paul Gortmaker <paul.gortmaker@windriver.com>
Loading
Please register or sign in to comment
