rtnetlink: potential ERR_PTR dereference
Subsystems (3)
PATCH 1/1 rtnetlink: potential ERR_PTR dereference
In the original code, if rtnl_create_link() returned an ERR_PTR then that would get passed to rtnl_configure_link() which dereferences it.
Signed-off-by Dan Carpenter <[email protected]>
---
Found by a static checker, and compile tested only. :/
net/core/rtnetlink.c +3 -2
@@ -1270,10 +1270,11 @@ replay: err = ops->newlink (net, dev, tb, data); else err =register_netdevice (dev); -if (err <0 && !IS_ERR (dev)) { + +if (err <0 && !IS_ERR (dev))free_netdev (dev); +if (err <0 ) goto out; - } err =rtnl_configure_link (dev, ifm);if (err <0 )
Quoted 6 lines · Dan Carpenter
In the original code, if
rtnl_create_link()returned anERR_PTRthen that would get passed tortnl_configure_link()which dereferences it.Signed-off-by Dan Carpenter <[email protected]>---
Found by a static checker, and compile tested only. :/
Looks fine to me.
Acked-by Patrick McHardy <[email protected]>
From: Dan Carpenter <[email protected]>
Date: Thu, 22 Apr 2010 11:53:27 +0200
Quoted 4 lines
In the original code, if
rtnl_create_link()returned anERR_PTRthen that would get passed tortnl_configure_link()which dereferences it.Signed-off-by Dan Carpenter <[email protected]>
Applied.