diff options
Diffstat (limited to 'include/linux/sock_diag.h')
-rw-r--r-- | include/linux/sock_diag.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/sock_diag.h b/include/linux/sock_diag.h index 4018b48f2b3b..a0596ca0e80a 100644 --- a/include/linux/sock_diag.h +++ b/include/linux/sock_diag.h | |||
@@ -36,6 +36,9 @@ enum sknetlink_groups sock_diag_destroy_group(const struct sock *sk) | |||
36 | { | 36 | { |
37 | switch (sk->sk_family) { | 37 | switch (sk->sk_family) { |
38 | case AF_INET: | 38 | case AF_INET: |
39 | if (sk->sk_type == SOCK_RAW) | ||
40 | return SKNLGRP_NONE; | ||
41 | |||
39 | switch (sk->sk_protocol) { | 42 | switch (sk->sk_protocol) { |
40 | case IPPROTO_TCP: | 43 | case IPPROTO_TCP: |
41 | return SKNLGRP_INET_TCP_DESTROY; | 44 | return SKNLGRP_INET_TCP_DESTROY; |
@@ -45,6 +48,9 @@ enum sknetlink_groups sock_diag_destroy_group(const struct sock *sk) | |||
45 | return SKNLGRP_NONE; | 48 | return SKNLGRP_NONE; |
46 | } | 49 | } |
47 | case AF_INET6: | 50 | case AF_INET6: |
51 | if (sk->sk_type == SOCK_RAW) | ||
52 | return SKNLGRP_NONE; | ||
53 | |||
48 | switch (sk->sk_protocol) { | 54 | switch (sk->sk_protocol) { |
49 | case IPPROTO_TCP: | 55 | case IPPROTO_TCP: |
50 | return SKNLGRP_INET6_TCP_DESTROY; | 56 | return SKNLGRP_INET6_TCP_DESTROY; |