From 2666d2caada676b81e08cc079f1d6c99b27179c8 Mon Sep 17 00:00:00 2001 From: Tomasz Chyrowicz Date: Thu, 20 Nov 2025 15:15:18 +0100 Subject: [PATCH] img_mgmt: Use absolute address while checking app Use absolute addresses while determining a running application partition. Ref: NCSIDB-1773 Signed-off-by: Tomasz Chyrowicz --- include/flash_map_pm.h | 10 ++++++++++ subsys/mgmt/mcumgr/grp/img_mgmt/src/img_mgmt.c | 2 ++ west.yml | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/include/flash_map_pm.h b/include/flash_map_pm.h index 76c8215953a..6074c48d916 100644 --- a/include/flash_map_pm.h +++ b/include/flash_map_pm.h @@ -68,6 +68,16 @@ (DEVICE_DT_GET_OR_NULL(DT_NODELABEL(FIXED_PARTITION_DATA_FIELD(label, _DEV))))) #define FLASH_AREA_DEVICE(label) FIXED_PARTITION_DEVICE(label) +#define FIXED_PARTITION_MTD(label) \ + COND_CODE_1(DT_NODE_EXISTS(FIXED_PARTITION_DATA_FIELD(label, _DEV)), \ + (FIXED_PARTITION_DATA_FIELD(label, _DEV)), \ + (DT_NODELABEL(FIXED_PARTITION_DATA_FIELD(label, _DEV)))) +#define FIXED_PARTITION_NODE_MTD(node) \ + COND_CODE_1( \ + DT_FIXED_SUBPARTITION_EXISTS(node), \ + (DT_MTD_FROM_FIXED_SUBPARTITION(node)), \ + (DT_MTD_FROM_FIXED_PARTITION(node))) + #define FIXED_PARTITION_EXISTS(label) IS_ENABLED(PM_IS_ENABLED(label)) #define FLASH_AREA_LABEL_EXISTS(label) FIXED_PARTITION_EXISTS(label) diff --git a/subsys/mgmt/mcumgr/grp/img_mgmt/src/img_mgmt.c b/subsys/mgmt/mcumgr/grp/img_mgmt/src/img_mgmt.c index 46b39bb4479..1990a465b2d 100644 --- a/subsys/mgmt/mcumgr/grp/img_mgmt/src/img_mgmt.c +++ b/subsys/mgmt/mcumgr/grp/img_mgmt/src/img_mgmt.c @@ -71,6 +71,8 @@ BUILD_ASSERT(PM_MCUBOOT_PAD_SIZE == PM_MCUBOOT_SECONDARY_PAD_SIZE); #endif #define FIXED_PARTITION_IS_RUNNING_APP_PARTITION(label) \ + DT_SAME_NODE(FIXED_PARTITION_NODE_MTD(DT_CHOSEN(zephyr_code_partition)), \ + FIXED_PARTITION_MTD(label)) && \ (FIXED_PARTITION_OFFSET(label) <= CONFIG_FLASH_LOAD_OFFSET && \ FIXED_PARTITION_OFFSET(label) + FIXED_PARTITION_SIZE(label) > CONFIG_FLASH_LOAD_OFFSET) #endif /* USE_PARTITION_MANAGER */ diff --git a/west.yml b/west.yml index feb9c7269c6..a297056b3ff 100644 --- a/west.yml +++ b/west.yml @@ -64,7 +64,7 @@ manifest: # https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/guides/modules.html - name: zephyr repo-path: sdk-zephyr - revision: dc05376c170fc2739a4881629caf49c40d485a9e + revision: pull/3520/head import: # In addition to the zephyr repository itself, NCS also # imports the contents of zephyr/west.yml at the above