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

Commit 6323a3ec authored by Sukadev Bhattiprolu's avatar Sukadev Bhattiprolu Committed by Greg Kroah-Hartman
Browse files

ibmvnic: check failover_pending in login response



commit 273c29e944bda9a20a30c26cfc34c9a3f363280b upstream.

If a failover occurs before a login response is received, the login
response buffer maybe undefined. Check that there was no failover
before accessing the login response buffer.

Fixes: 032c5e82 ("Driver for IBM System i/p VNIC protocol")
Signed-off-by: default avatarSukadev Bhattiprolu <sukadev@linux.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 533ef996
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -4038,6 +4038,14 @@ static int handle_login_rsp(union ibmvnic_crq *login_rsp_crq,
		return 0;
	}

	if (adapter->failover_pending) {
		adapter->init_done_rc = -EAGAIN;
		netdev_dbg(netdev, "Failover pending, ignoring login response\n");
		complete(&adapter->init_done);
		/* login response buffer will be released on reset */
		return 0;
	}

	netdev->mtu = adapter->req_mtu - ETH_HLEN;

	netdev_dbg(adapter->netdev, "Login Response Buffer:\n");