|
@@ -28,6 +28,7 @@
|
|
|
#include <linux/tcp.h>
|
|
|
#include <linux/udp.h>
|
|
|
#include <linux/dccp.h>
|
|
|
+#include <linux/icmpv6.h>
|
|
|
#include <linux/slab.h>
|
|
|
#include <linux/mutex.h>
|
|
|
#include <linux/pipe_fs_i.h>
|
|
@@ -4009,6 +4010,9 @@ access_check:
|
|
|
#ifdef SMACK_IPV6_PORT_LABELING
|
|
|
rc = smk_ipv6_port_check(sk, &sadd, SMK_RECEIVING);
|
|
|
#endif /* SMACK_IPV6_PORT_LABELING */
|
|
|
+ if (rc != 0)
|
|
|
+ icmpv6_send(skb, ICMPV6_DEST_UNREACH,
|
|
|
+ ICMPV6_ADM_PROHIBITED, 0);
|
|
|
break;
|
|
|
#endif /* CONFIG_IPV6 */
|
|
|
}
|