From 56cbc6595be9ea36acd3eec469318a79f3984db3 Mon Sep 17 00:00:00 2001 From: Michal Mielewczyk Date: Tue, 20 Aug 2019 01:45:21 -0400 Subject: [PATCH] Pass name for newly initialized cache in array instead of pointer. Unitl now pointer to local variable was passed to OCF and it's content could be overwriten after leaving function responsible for preparing cache config. Signed-off-by: Michal Mielewczyk --- modules/cas_cache/layer_cache_management.c | 2 +- modules/cas_cache/layer_upgrade.c | 2 +- ocf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/cas_cache/layer_cache_management.c b/modules/cas_cache/layer_cache_management.c index ece3f42..7aacce5 100644 --- a/modules/cas_cache/layer_cache_management.c +++ b/modules/cas_cache/layer_cache_management.c @@ -1051,7 +1051,7 @@ int cache_mngt_prepare_cache_cfg(struct ocf_mngt_cache_config *cfg, memset(device_cfg, 0, sizeof(*device_cfg)); memset(atomic_params, 0, sizeof(*atomic_params)); - cfg->name = cache_name; + strncpy(cfg->name, cache_name, OCF_CACHE_NAME_SIZE); cfg->cache_mode = cmd->caching_mode; cfg->cache_line_size = cmd->line_size; cfg->eviction_policy = cmd->eviction_policy; diff --git a/modules/cas_cache/layer_upgrade.c b/modules/cas_cache/layer_upgrade.c index ec32992..93980aa 100644 --- a/modules/cas_cache/layer_upgrade.c +++ b/modules/cas_cache/layer_upgrade.c @@ -861,7 +861,7 @@ static int _cas_upgrade_restore_conf_main(struct cas_properties *cache_props, if (cache_mode >= ocf_cache_mode_max) cache_mode = ocf_cache_mode_default; - cfg.name = cache_name; + strncpy(cfg.name, cache_name, OCF_CACHE_NAME_SIZE); cfg.cache_mode = cache_mode; /* cfg.eviction_policy = TODO */ cfg.cache_line_size = cache_line_size; diff --git a/ocf b/ocf index 8ed525a..43e8905 160000 --- a/ocf +++ b/ocf @@ -1 +1 @@ -Subproject commit 8ed525ae7f9f2e8af12ff88804dd5a73d8c9fdd1 +Subproject commit 43e8905456aa0bd4fdf12c3e8aa374c641684471