netlink: Add __sock_i_ino() for __netlink_diag_dump().
[platform/kernel/linux-starfive.git] / net / core / sock.c
index b021cb9..0c1baa5 100644 (file)
@@ -2542,13 +2542,24 @@ kuid_t sock_i_uid(struct sock *sk)
 }
 EXPORT_SYMBOL(sock_i_uid);
 
-unsigned long sock_i_ino(struct sock *sk)
+unsigned long __sock_i_ino(struct sock *sk)
 {
        unsigned long ino;
 
-       read_lock_bh(&sk->sk_callback_lock);
+       read_lock(&sk->sk_callback_lock);
        ino = sk->sk_socket ? SOCK_INODE(sk->sk_socket)->i_ino : 0;
-       read_unlock_bh(&sk->sk_callback_lock);
+       read_unlock(&sk->sk_callback_lock);
+       return ino;
+}
+EXPORT_SYMBOL(__sock_i_ino);
+
+unsigned long sock_i_ino(struct sock *sk)
+{
+       unsigned long ino;
+
+       local_bh_disable();
+       ino = __sock_i_ino(sk);
+       local_bh_enable();
        return ino;
 }
 EXPORT_SYMBOL(sock_i_ino);