| From 6d0d95a1c2b07270870e7be16575c513c29af3f1 Mon Sep 17 00:00:00 2001 |
| From: Antony Antony <antony.antony@secunet.com> |
| Date: Tue, 1 Feb 2022 07:51:57 +0100 |
| Subject: xfrm: fix the if_id check in changelink |
| |
| From: Antony Antony <antony.antony@secunet.com> |
| |
| 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 <pavel@denx.de> |
| Signed-off-by: Antony Antony <antony.antony@secunet.com> |
| Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/xfrm/xfrm_interface.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/xfrm/xfrm_interface.c |
| +++ b/net/xfrm/xfrm_interface.c |
| @@ -695,12 +695,12 @@ static int xfrmi_changelink(struct net_d |
| 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); |