From: Shannon Nelson Date: Tue, 19 Dec 2017 23:35:47 +0000 (-0800) Subject: xfrm: check for xdo_dev_state_free X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=7f05b467a735aba1476d9ae8e0ae9d9d8e60066c;p=linux.git xfrm: check for xdo_dev_state_free The current XFRM code assumes that we've implemented the xdo_dev_state_free() callback, even if it is meaningless to the driver. This patch adds a check for it before calling, as done in other APIs, to prevent a NULL function pointer kernel crash. Signed-off-by: Shannon Nelson Signed-off-by: Steffen Klassert --- diff --git a/include/net/xfrm.h b/include/net/xfrm.h index 357764a2bb4e4..079ea9455bcd7 100644 --- a/include/net/xfrm.h +++ b/include/net/xfrm.h @@ -1933,7 +1933,8 @@ static inline void xfrm_dev_state_free(struct xfrm_state *x) struct net_device *dev = xso->dev; if (dev && dev->xfrmdev_ops) { - dev->xfrmdev_ops->xdo_dev_state_free(x); + if (dev->xfrmdev_ops->xdo_dev_state_free) + dev->xfrmdev_ops->xdo_dev_state_free(x); xso->dev = NULL; dev_put(dev); }