[IPV6] SIT: Disallow 0.0.0.0 in PRL and Flush PRL if given for DEL.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c
index ee0cc28..84c1ed2 100644
--- a/net/ipv6/sit.c
+++ b/net/ipv6/sit.c
@@ -215,6 +215,9 @@
struct ip_tunnel_prl_entry *p;
int err = 0;
+ if (a->addr == htonl(INADDR_ANY))
+ return -EINVAL;
+
write_lock(&ipip6_lock);
for (p = t->prl; p; p = p->next) {
@@ -254,7 +257,7 @@
write_lock(&ipip6_lock);
- if (a) {
+ if (a && a->addr != htonl(INADDR_ANY)) {
for (p = &t->prl; *p; p = &(*p)->next) {
if ((*p)->entry.addr == a->addr) {
x = *p;