mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-26 12:30:23 +09:00
crypto: qat - replace get_current_node() with numa_node_id()
[ Upstream commitc2a1b91e47] Currently the QAT driver code uses a self-defined wrapper function called get_current_node() when it wants to learn the current NUMA node. This implementation references the topology_physical_package_id[] array, which more or less coincidentally contains the NUMA node id, at least on x86. Because this is not universal, and Linux offers a direct function to learn the NUMA node ID, replace that function with a call to numa_node_id(), which would work everywhere. This fixes the QAT driver operation on arm64 machines. Reported-by: Yoan Picchi <Yoan.Picchi@arm.com> Signed-off-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Yoan Picchi <yoan.picchi@arm.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Stable-dep-of:eb7713f5ca("crypto: qat - unmap buffer before free for DH") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
9560559cba
commit
a3fcd2d23d
@@ -49,11 +49,6 @@ struct service_hndl {
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
static inline int get_current_node(void)
|
||||
{
|
||||
return topology_physical_package_id(raw_smp_processor_id());
|
||||
}
|
||||
|
||||
int adf_service_register(struct service_hndl *service);
|
||||
int adf_service_unregister(struct service_hndl *service);
|
||||
|
||||
|
||||
@@ -605,7 +605,7 @@ static int qat_alg_aead_newkey(struct crypto_aead *tfm, const u8 *key,
|
||||
{
|
||||
struct qat_alg_aead_ctx *ctx = crypto_aead_ctx(tfm);
|
||||
struct qat_crypto_instance *inst = NULL;
|
||||
int node = get_current_node();
|
||||
int node = numa_node_id();
|
||||
struct device *dev;
|
||||
int ret;
|
||||
|
||||
@@ -1071,7 +1071,7 @@ static int qat_alg_skcipher_newkey(struct qat_alg_skcipher_ctx *ctx,
|
||||
{
|
||||
struct qat_crypto_instance *inst = NULL;
|
||||
struct device *dev;
|
||||
int node = get_current_node();
|
||||
int node = numa_node_id();
|
||||
int ret;
|
||||
|
||||
inst = qat_crypto_get_instance_node(node);
|
||||
|
||||
@@ -489,7 +489,7 @@ static int qat_dh_init_tfm(struct crypto_kpp *tfm)
|
||||
{
|
||||
struct qat_dh_ctx *ctx = kpp_tfm_ctx(tfm);
|
||||
struct qat_crypto_instance *inst =
|
||||
qat_crypto_get_instance_node(get_current_node());
|
||||
qat_crypto_get_instance_node(numa_node_id());
|
||||
|
||||
if (!inst)
|
||||
return -EINVAL;
|
||||
@@ -1225,7 +1225,7 @@ static int qat_rsa_init_tfm(struct crypto_akcipher *tfm)
|
||||
{
|
||||
struct qat_rsa_ctx *ctx = akcipher_tfm_ctx(tfm);
|
||||
struct qat_crypto_instance *inst =
|
||||
qat_crypto_get_instance_node(get_current_node());
|
||||
qat_crypto_get_instance_node(numa_node_id());
|
||||
|
||||
if (!inst)
|
||||
return -EINVAL;
|
||||
|
||||
Reference in New Issue
Block a user