From: Antony Antony Date: Tue, 1 Feb 2022 06:51:57 +0000 (+0100) Subject: xfrm: fix the if_id check in changelink X-Git-Tag: v5.4.183~47 X-Git-Url: https://git.fsl.cs.sunysb.edu/?a=commitdiff_plain;h=019b4b9d59774784a3c1f0439d28bfae8bd28061;p=wrapfs-4.14.y.git xfrm: fix the if_id check in changelink commit 6d0d95a1c2b07270870e7be16575c513c29af3f1 upstream. if_id will be always 0, because it was not yet initialized. Fixes: 8dce43919566 ("xfrm: interface with if_id 0 should return error") Reported-by: Pavel Machek Signed-off-by: Antony Antony Signed-off-by: Steffen Klassert Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/xfrm/xfrm_interface.c b/net/xfrm/xfrm_interface.c index 08343201513a..3932d3aaff27 100644 --- a/net/xfrm/xfrm_interface.c +++ b/net/xfrm/xfrm_interface.c @@ -695,12 +695,12 @@ static int xfrmi_changelink(struct net_device *dev, struct nlattr *tb[], struct net *net = xi->net; struct xfrm_if_parms p = {}; + xfrmi_netlink_parms(data, &p); if (!p.if_id) { NL_SET_ERR_MSG(extack, "if_id must be non zero"); return -EINVAL; } - xfrmi_netlink_parms(data, &p); xi = xfrmi_locate(net, &p); if (!xi) { xi = netdev_priv(dev);