diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 1981baff17b..6e7671dd80a 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -1258,6 +1258,9 @@ static int validate_tmpl(int nr, struct xfrm_user_tmpl *ut, u16 family) if (!ut[i].family) ut[i].family = family; + if (ut[i].mode >= XFRM_MODE_MAX) + return -EINVAL; + switch (ut[i].family) { case AF_INET: break;