Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79d0636a authored by Daniel Jurgens's avatar Daniel Jurgens Committed by James Morris
Browse files

IB/core: Fix uninitialized variable use in check_qp_port_pkey_settings



Check the return value from get_pkey_and_subnet_prefix to prevent using
uninitialized variables.

Fixes: d291f1a6 ("IB/core: Enforce PKey security on QPs")
Signed-off-by: default avatarDaniel Jurgens <danielj@mellanox.com>
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarPaul Moore <paul@paul-moore.com>
Signed-off-by: default avatarJames Morris <james.l.morris@oracle.com>
parent b5d0ebc9
Loading
Loading
Loading
Loading
+12 −8
Original line number Original line Diff line number Diff line
@@ -120,21 +120,25 @@ static int check_qp_port_pkey_settings(struct ib_ports_pkeys *pps,
		return 0;
		return 0;


	if (pps->main.state != IB_PORT_PKEY_NOT_VALID) {
	if (pps->main.state != IB_PORT_PKEY_NOT_VALID) {
		get_pkey_and_subnet_prefix(&pps->main,
		ret = get_pkey_and_subnet_prefix(&pps->main,
						 &pkey,
						 &pkey,
						 &subnet_prefix);
						 &subnet_prefix);
		if (ret)
			return ret;


		ret = enforce_qp_pkey_security(pkey,
		ret = enforce_qp_pkey_security(pkey,
					       subnet_prefix,
					       subnet_prefix,
					       sec);
					       sec);
	}
		if (ret)
		if (ret)
			return ret;
			return ret;
	}


	if (pps->alt.state != IB_PORT_PKEY_NOT_VALID) {
	if (pps->alt.state != IB_PORT_PKEY_NOT_VALID) {
		get_pkey_and_subnet_prefix(&pps->alt,
		ret = get_pkey_and_subnet_prefix(&pps->alt,
						 &pkey,
						 &pkey,
						 &subnet_prefix);
						 &subnet_prefix);
		if (ret)
			return ret;


		ret = enforce_qp_pkey_security(pkey,
		ret = enforce_qp_pkey_security(pkey,
					       subnet_prefix,
					       subnet_prefix,