]> git.baikalelectronics.ru Git - kernel.git/commit
net/tls: Protect from calling tls_dev_del for TLS RX twice
authorMaxim Mikityanskiy <maximmi@mellanox.com>
Wed, 25 Nov 2020 22:18:10 +0000 (14:18 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 26 Nov 2020 01:31:06 +0000 (17:31 -0800)
commit3d3d9ba85bf0d1d9ee3656a17f5e56791a3d5473
treea5e744c9d95e149dfe038bff54488d6094b633e0
parent8ed4ea91f114425c0fec4638e531c16e25605fa5
net/tls: Protect from calling tls_dev_del for TLS RX twice

tls_device_offload_cleanup_rx doesn't clear tls_ctx->netdev after
calling tls_dev_del if TLX TX offload is also enabled. Clearing
tls_ctx->netdev gets postponed until tls_device_gc_task. It leaves a
time frame when tls_device_down may get called and call tls_dev_del for
RX one extra time, confusing the driver, which may lead to a crash.

This patch corrects this racy behavior by adding a flag to prevent
tls_device_down from calling tls_dev_del the second time.

Fixes: 70330c44d303 ("net/tls: Add generic NIC offload infrastructure")
Signed-off-by: Maxim Mikityanskiy <maximmi@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Link: https://lore.kernel.org/r/20201125221810.69870-1-saeedm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/tls.h
net/tls/tls_device.c