Use the correct key address when renegotiating the transmit key.
Previously, get_keyid() was returning the address of the receive key instead of the transmit key when renegotiating the transmit key. This could either hang the card (if a connection was only offloading TLS TX and thus had a receive key address of -1) or cause the connection to fail by overwriting the wrong key (if both RX and TX TLS were offloaded). Submitted by: Harsh Jain @ Chelsio Sponsored by: Chelsio Communications
This commit is contained in:
parent
1187fc2dc6
commit
4217c685b1
@ -488,7 +488,7 @@ static int
|
|||||||
get_keyid(struct tls_ofld_info *tls_ofld, unsigned int ops)
|
get_keyid(struct tls_ofld_info *tls_ofld, unsigned int ops)
|
||||||
{
|
{
|
||||||
return (ops & KEY_WRITE_RX ? tls_ofld->rx_key_addr :
|
return (ops & KEY_WRITE_RX ? tls_ofld->rx_key_addr :
|
||||||
((ops & KEY_WRITE_TX) ? tls_ofld->rx_key_addr : -1));
|
((ops & KEY_WRITE_TX) ? tls_ofld->tx_key_addr : -1));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user