net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink()
[ Upstream commit 06e456a05d669ca30b224b8ed962421770c1496c ] The function ice_bridge_setlink() may encounter a NULL pointer dereference if nlmsg_find_attr() returns NULL and br_spec is dereferenced subsequently in nla_for_each_nested(). To address this issue, add a check to ensure that br_spec is not NULL before proceeding with the nested attribute iteration. Fixes: b1edc14a3fbf ("ice: Implement ice_bridge_getlink and ice_bridge_setlink") Signed-off-by: Rand Deeb <rand.sec96@gmail.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
cfbc752919
commit
6bbdf10e97
1 changed files with 2 additions and 0 deletions
|
@ -6546,6 +6546,8 @@ ice_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
|
||||||
pf_sw = pf->first_sw;
|
pf_sw = pf->first_sw;
|
||||||
/* find the attribute in the netlink message */
|
/* find the attribute in the netlink message */
|
||||||
br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC);
|
br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC);
|
||||||
|
if (!br_spec)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
nla_for_each_nested(attr, br_spec, rem) {
|
nla_for_each_nested(attr, br_spec, rem) {
|
||||||
__u16 mode;
|
__u16 mode;
|
||||||
|
|
Loading…
Add table
Reference in a new issue