static struct lock_class_key xs_key[2];
static struct lock_class_key xs_slock_key[2];
- static inline void xs_reclassify_socket(struct socket *sock)
+ static inline void xs_reclassify_socket4(struct socket *sock)
{
struct sock *sk = sock->sk;
- BUG_ON(sk->sk_lock.owner != NULL);
+
- switch (sk->sk_family) {
- case AF_INET:
- sock_lock_init_class_and_name(sk, "slock-AF_INET-NFS",
- &xs_slock_key[0], "sk_lock-AF_INET-NFS", &xs_key[0]);
- break;
+ BUG_ON(sock_owned_by_user(sk));
+ sock_lock_init_class_and_name(sk, "slock-AF_INET-RPC",
+ &xs_slock_key[0], "sk_lock-AF_INET-RPC", &xs_key[0]);
+ }
- case AF_INET6:
- sock_lock_init_class_and_name(sk, "slock-AF_INET6-NFS",
- &xs_slock_key[1], "sk_lock-AF_INET6-NFS", &xs_key[1]);
- break;
+ static inline void xs_reclassify_socket6(struct socket *sock)
+ {
+ struct sock *sk = sock->sk;
- default:
- BUG();
- }
- BUG_ON(sk->sk_lock.owner != NULL);
++ BUG_ON(sock_owned_by_user(sk));
+ sock_lock_init_class_and_name(sk, "slock-AF_INET6-RPC",
+ &xs_slock_key[1], "sk_lock-AF_INET6-RPC", &xs_key[1]);
}
#else
- static inline void xs_reclassify_socket(struct socket *sock)
+ static inline void xs_reclassify_socket4(struct socket *sock)
+ {
+ }
+
+ static inline void xs_reclassify_socket6(struct socket *sock)
{
}
#endif