From c2e01dff3f1a1cda78874df7440d3b4b23740da3 Mon Sep 17 00:00:00 2001 From: Andrew Boie Date: Mon, 12 Nov 2018 15:16:54 -0800 Subject: [PATCH] workqueues: don't put k_work in special section There's no current need for this and it makes work items declared with K_WORK_DEFINE() inaccessible to user mode. Signed-off-by: Andrew Boie --- include/kernel.h | 4 +--- include/linker/common-ram.ld | 7 ------- scripts/sanitycheck | 2 +- 3 files changed, 2 insertions(+), 11 deletions(-) diff --git a/include/kernel.h b/include/kernel.h index c1575803e9a..f33298a431e 100644 --- a/include/kernel.h +++ b/include/kernel.h @@ -2509,9 +2509,7 @@ extern struct k_work_q k_sys_work_q; * @req K-WORK-002 */ #define K_WORK_DEFINE(work, work_handler) \ - struct k_work work \ - __in_section(_k_work, static, work) = \ - _K_WORK_INITIALIZER(work_handler) + struct k_work work = _K_WORK_INITIALIZER(work_handler) /** * @brief Initialize a work item. diff --git a/include/linker/common-ram.ld b/include/linker/common-ram.ld index d95653ea58b..31b36fc5b27 100644 --- a/include/linker/common-ram.ld +++ b/include/linker/common-ram.ld @@ -125,13 +125,6 @@ _k_pipe_list_end = .; } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION) - SECTION_DATA_PROLOGUE(_k_work_area, (OPTIONAL), SUBALIGN(4)) - { - _k_work_list_start = .; - KEEP(*(SORT_BY_NAME("._k_work.static.*"))) - _k_work_list_end = .; - } GROUP_DATA_LINK_IN(RAMABLE_REGION, ROMABLE_REGION) - SECTION_DATA_PROLOGUE(_k_task_list, (OPTIONAL), SUBALIGN(4)) { _k_task_list_start = .; diff --git a/scripts/sanitycheck b/scripts/sanitycheck index b2d60c72ec5..d3170190bd9 100755 --- a/scripts/sanitycheck +++ b/scripts/sanitycheck @@ -645,7 +645,7 @@ class SizeCalculator: "ccm_noinit"] rw_sections = ["datas", "initlevel", "_k_task_list", "_k_event_list", "_k_memory_pool", "exceptions", "initshell", - "_static_thread_area", "_k_timer_area", "_k_work_area", + "_static_thread_area", "_k_timer_area", "_k_mem_slab_area", "_k_mem_pool_area", "sw_isr_table", "_k_sem_area", "_k_mutex_area", "_k_alert_area", "_k_fifo_area", "_k_lifo_area", "_k_stack_area",