aboutsummaryrefslogtreecommitdiff
path: root/include/net/timewait_sock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/timewait_sock.h')
-rw-r--r--include/net/timewait_sock.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/net/timewait_sock.h b/include/net/timewait_sock.h
index be293d795e3..1e1ee3253fd 100644
--- a/include/net/timewait_sock.h
+++ b/include/net/timewait_sock.h
@@ -15,7 +15,7 @@
#include <net/sock.h>
struct timewait_sock_ops {
- kmem_cache_t *twsk_slab;
+ struct kmem_cache *twsk_slab;
unsigned int twsk_obj_size;
int (*twsk_unique)(struct sock *sk,
struct sock *sktw, void *twp);
@@ -31,6 +31,9 @@ static inline int twsk_unique(struct sock *sk, struct sock *sktw, void *twp)
static inline void twsk_destructor(struct sock *sk)
{
+ BUG_ON(sk == NULL);
+ BUG_ON(sk->sk_prot == NULL);
+ BUG_ON(sk->sk_prot->twsk_prot == NULL);
if (sk->sk_prot->twsk_prot->twsk_destructor != NULL)
sk->sk_prot->twsk_prot->twsk_destructor(sk);
}