From: Petr Machata Date: Mon, 16 Mar 2020 17:53:00 +0000 (+0200) Subject: net: ip_gre: Accept IFLA_INFO_DATA-less configuration X-Git-Tag: v4.19.114~93 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f5ebb2dd86777379a552acce0d635de8210a427c;p=thirdparty%2Fkernel%2Fstable.git net: ip_gre: Accept IFLA_INFO_DATA-less configuration [ Upstream commit 32ca98feab8c9076c89c0697c5a85e46fece809d ] The fix referenced below causes a crash when an ERSPAN tunnel is created without passing IFLA_INFO_DATA. Fix by validating passed-in data in the same way as ipgre does. Fixes: e1f8f78ffe98 ("net: ip_gre: Separate ERSPAN newlink / changelink callbacks") Reported-by: syzbot+1b4ebf4dae4e510dd219@syzkaller.appspotmail.com Signed-off-by: Petr Machata Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 26dfcf605ec5c..ffcb5983107db 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c @@ -1241,6 +1241,8 @@ static int erspan_netlink_parms(struct net_device *dev, err = ipgre_netlink_parms(dev, data, tb, parms, fwmark); if (err) return err; + if (!data) + return 0; if (data[IFLA_GRE_ERSPAN_VER]) { t->erspan_ver = nla_get_u8(data[IFLA_GRE_ERSPAN_VER]);