feat(nvs_flash): Added an API to deregister the NVS security scheme context

This commit is contained in:
Laukik Hase
2025-08-06 15:42:34 +05:30
parent 333a2c0ebc
commit f60bcaaa4d
3 changed files with 15 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -278,6 +278,13 @@ esp_err_t nvs_flash_read_security_cfg(const esp_partition_t* partition, nvs_sec_
*/ */
esp_err_t nvs_flash_register_security_scheme(nvs_sec_scheme_t *scheme_cfg); esp_err_t nvs_flash_register_security_scheme(nvs_sec_scheme_t *scheme_cfg);
/**
* @brief Deregister the security scheme previously registered using
* nvs_flash_register_security_scheme
*
*/
void nvs_flash_deregister_security_scheme(void);
/** /**
* @brief Fetch the configuration structure for the default active * @brief Fetch the configuration structure for the default active
* security scheme for NVS encryption * security scheme for NVS encryption

View File

@@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@@ -736,6 +736,11 @@ extern "C" esp_err_t nvs_flash_register_security_scheme(nvs_sec_scheme_t *scheme
return ESP_OK; return ESP_OK;
} }
extern "C" void nvs_flash_deregister_security_scheme(void)
{
memset(&nvs_sec_default_scheme_cfg, 0x00, sizeof(nvs_sec_scheme_t));
}
extern "C" nvs_sec_scheme_t *nvs_flash_get_default_security_scheme(void) extern "C" nvs_sec_scheme_t *nvs_flash_get_default_security_scheme(void)
{ {
return &nvs_sec_default_scheme_cfg; return &nvs_sec_default_scheme_cfg;

View File

@@ -291,6 +291,7 @@ esp_err_t nvs_sec_provider_deregister(nvs_sec_scheme_t *sec_scheme_handle)
free(sec_scheme_handle); free(sec_scheme_handle);
nvs_flash_deregister_security_scheme();
return ESP_OK; return ESP_OK;
} }