xen/arch/arm/cpuerrata.c | 5 +++++ xen/arch/arm/gic.c | 6 ++++++ xen/arch/arm/mmu/p2m.c | 6 ++++++ xen/arch/arm/time.c | 6 ++++++ xen/common/kexec.c | 6 ++++++ 5 files changed, 29 insertions(+)
MISRA Rule 16.4: Every switch statement shall have a default label. The
default clause must contain either a statement or a comment prior to its
terminating break statement.
This change adds comments in default cases in single-clause switches to
avoid violations of the rule where the `default` clause lacks a suitable
comment or statement.
Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
---
xen/arch/arm/cpuerrata.c | 5 +++++
xen/arch/arm/gic.c | 6 ++++++
xen/arch/arm/mmu/p2m.c | 6 ++++++
xen/arch/arm/time.c | 6 ++++++
xen/common/kexec.c | 6 ++++++
5 files changed, 29 insertions(+)
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index 17cf134f1b..e31c72694b 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -735,6 +735,11 @@ static int cpu_errata_callback(struct notifier_block *nfb,
rc = enable_nonboot_cpu_caps(arm_errata);
break;
default:
+ /*
+ * Default case left empty as other notifier actions do not require handling here.
+ * The single CPU_STARTING action in the switch is sufficient because this function
+ * specifically handles enabling errata workarounds during CPU startup.
+ */
break;
}
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index e80fe0ca24..dfbb0dfe08 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -436,6 +436,12 @@ static int cpu_gic_callback(struct notifier_block *nfb,
release_irq(gic_hw_ops->info->maintenance_irq, NULL);
break;
default:
+ /*
+ * Default case left empty as other notifier actions do not require handling here.
+ * The CPU_DYING action specifically handles releasing resources acquired by
+ * init_maintenance_interrupt(), when the CPU is being taken offline. Other CPU
+ * actions do not require GIC-specific handling.
+ */
break;
}
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
index 51abf3504f..d1f0ae0226 100644
--- a/xen/arch/arm/mmu/p2m.c
+++ b/xen/arch/arm/mmu/p2m.c
@@ -1828,6 +1828,12 @@ static int cpu_virt_paging_callback(struct notifier_block *nfb,
setup_virt_paging_one(NULL);
break;
default:
+ /*
+ * Default case left empty as other notifier actions do not require handling here.
+ * The CPU_STARTING action is specifically handled because this function sets up
+ * virtual paging for CPUs, particularly for non-boot CPUs during hotplug. Other
+ * actions do not involve virtual paging setup.
+ */
break;
}
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index e74d30d258..4776110d97 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -382,6 +382,12 @@ static int cpu_time_callback(struct notifier_block *nfb,
deinit_timer_interrupt();
break;
default:
+ /*
+ * Default case left empty as other notifier actions do not require handling here.
+ * The CPU_DYING action is specifically handled to revert actions done in
+ * init_timer_interrupt() and properly disable timer interrupts on the CPU being
+ * taken offline. Other actions do not involve timer deinitialization.
+ */
break;
}
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 84fe8c3597..0f78087a4a 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -549,6 +549,12 @@ static int cf_check cpu_callback(
kexec_init_cpu_notes(cpu);
break;
default:
+ /*
+ * Default case left empty as other notifier actions do not require handling here.
+ * The CPU_UP_PREPARE action is specifically handled to allocate crash note buffers
+ * for a newly onlined CPU. Other actions do not pertain to crash note allocation
+ * or memory preservation for kexec.
+ */
break;
}
return NOTIFY_DONE;
--
2.43.0
On 11.08.2025 19:36, Dmytro Prokopchuk1 wrote: > --- a/xen/arch/arm/cpuerrata.c > +++ b/xen/arch/arm/cpuerrata.c > @@ -735,6 +735,11 @@ static int cpu_errata_callback(struct notifier_block *nfb, > rc = enable_nonboot_cpu_caps(arm_errata); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The single CPU_STARTING action in the switch is sufficient because this function > + * specifically handles enabling errata workarounds during CPU startup. > + */ > break; > } Here and below - please obey to the 80 char line length limit set forth by ./CODING_STYLE. As to what the comment says: There not being a need to clean up is tied to there not being any resources allocated during CPU_STARTING. Whether that's the case is left unclear. > --- a/xen/arch/arm/gic.c > +++ b/xen/arch/arm/gic.c > @@ -436,6 +436,12 @@ static int cpu_gic_callback(struct notifier_block *nfb, > release_irq(gic_hw_ops->info->maintenance_irq, NULL); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_DYING action specifically handles releasing resources acquired by > + * init_maintenance_interrupt(), when the CPU is being taken offline. Other CPU > + * actions do not require GIC-specific handling. > + */ > break; > } I don't think this suffices. What about CPU_UP_CANCELED or CPU_RESUME_FAILED? It may well be that in that case init_maintenance_interrupt() would never have run, yet imo such needs stating explicitly. > --- a/xen/arch/arm/mmu/p2m.c > +++ b/xen/arch/arm/mmu/p2m.c > @@ -1828,6 +1828,12 @@ static int cpu_virt_paging_callback(struct notifier_block *nfb, > setup_virt_paging_one(NULL); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_STARTING action is specifically handled because this function sets up > + * virtual paging for CPUs, particularly for non-boot CPUs during hotplug. Other > + * actions do not involve virtual paging setup. > + */ > break; > } See cpu_errata_callback() comment. > --- a/xen/arch/arm/time.c > +++ b/xen/arch/arm/time.c > @@ -382,6 +382,12 @@ static int cpu_time_callback(struct notifier_block *nfb, > deinit_timer_interrupt(); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_DYING action is specifically handled to revert actions done in > + * init_timer_interrupt() and properly disable timer interrupts on the CPU being > + * taken offline. Other actions do not involve timer deinitialization. > + */ > break; > } See cpu_gic_callback() comment. > --- a/xen/common/kexec.c > +++ b/xen/common/kexec.c > @@ -549,6 +549,12 @@ static int cf_check cpu_callback( > kexec_init_cpu_notes(cpu); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_UP_PREPARE action is specifically handled to allocate crash note buffers > + * for a newly onlined CPU. Other actions do not pertain to crash note allocation > + * or memory preservation for kexec. > + */ > break; > } Yet when bringing down a CPU, these allocations are leaked. Looking at kexec_init_cpu_notes() that appears to be intentional, but again - such needs saying explicitly. Plus of course intentional leaks are always somewhat questionable, so extra justification may be on order. One further suggestion: Please consider splitting such patches at maintainer boundaries. For the patch to go in as is, you need both Arm and kexec approval. If you split, the part having got its approval could go in without need to wait for the other approval to trickle in. Jan
On 2025-08-11 19:36, Dmytro Prokopchuk1 wrote:
> MISRA Rule 16.4: Every switch statement shall have a default label. The
> default clause must contain either a statement or a comment prior to
> its
> terminating break statement.
>
> This change adds comments in default cases in single-clause switches to
> avoid violations of the rule where the `default` clause lacks a
> suitable
> comment or statement.
>
If you want to go this way then at least this config wants dropping:
-doc_begin="A switch statement with a single switch clause and no
default label may be used in place of an equivalent if statement if it
is considered to improve readability."
-config=MC3A2.R16.4,switch_clauses+={deliberate,"switch(1)&&default(0)"}
-doc_end
and probably this one too (haven't checked):
-doc_begin="A switch statement with a single switch clause and no
default label may be used in place of an equivalent if statement if it
is considered to improve readability."
-config=MC3A2.R16.6,switch_clauses+={deliberate, "default(0)"}
-doc_end
In the end it's a tradeoff; placing a comment with a suitable
argumentation might be strictly better than simply tagging the tool
report, at least from a developer's perspective. From a MISRA compliance
standpoint in my opinion both are fine. Let's see what the maintainers
think.
> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
> ---
> xen/arch/arm/cpuerrata.c | 5 +++++
> xen/arch/arm/gic.c | 6 ++++++
> xen/arch/arm/mmu/p2m.c | 6 ++++++
> xen/arch/arm/time.c | 6 ++++++
> xen/common/kexec.c | 6 ++++++
> 5 files changed, 29 insertions(+)
>
> diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
> index 17cf134f1b..e31c72694b 100644
> --- a/xen/arch/arm/cpuerrata.c
> +++ b/xen/arch/arm/cpuerrata.c
> @@ -735,6 +735,11 @@ static int cpu_errata_callback(struct
> notifier_block *nfb,
> rc = enable_nonboot_cpu_caps(arm_errata);
> break;
> default:
> + /*
> + * Default case left empty as other notifier actions do not
> require handling here.
> + * The single CPU_STARTING action in the switch is sufficient
> because this function
> + * specifically handles enabling errata workarounds during CPU
> startup.
> + */
> break;
> }
>
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index e80fe0ca24..dfbb0dfe08 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -436,6 +436,12 @@ static int cpu_gic_callback(struct notifier_block
> *nfb,
> release_irq(gic_hw_ops->info->maintenance_irq, NULL);
> break;
> default:
> + /*
> + * Default case left empty as other notifier actions do not
> require handling here.
> + * The CPU_DYING action specifically handles releasing
> resources acquired by
> + * init_maintenance_interrupt(), when the CPU is being taken
> offline. Other CPU
> + * actions do not require GIC-specific handling.
> + */
> break;
> }
>
> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
> index 51abf3504f..d1f0ae0226 100644
> --- a/xen/arch/arm/mmu/p2m.c
> +++ b/xen/arch/arm/mmu/p2m.c
> @@ -1828,6 +1828,12 @@ static int cpu_virt_paging_callback(struct
> notifier_block *nfb,
> setup_virt_paging_one(NULL);
> break;
> default:
> + /*
> + * Default case left empty as other notifier actions do not
> require handling here.
> + * The CPU_STARTING action is specifically handled because
> this function sets up
> + * virtual paging for CPUs, particularly for non-boot CPUs
> during hotplug. Other
> + * actions do not involve virtual paging setup.
> + */
> break;
> }
>
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index e74d30d258..4776110d97 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -382,6 +382,12 @@ static int cpu_time_callback(struct notifier_block
> *nfb,
> deinit_timer_interrupt();
> break;
> default:
> + /*
> + * Default case left empty as other notifier actions do not
> require handling here.
> + * The CPU_DYING action is specifically handled to revert
> actions done in
> + * init_timer_interrupt() and properly disable timer
> interrupts on the CPU being
> + * taken offline. Other actions do not involve timer
> deinitialization.
> + */
> break;
> }
>
> diff --git a/xen/common/kexec.c b/xen/common/kexec.c
> index 84fe8c3597..0f78087a4a 100644
> --- a/xen/common/kexec.c
> +++ b/xen/common/kexec.c
> @@ -549,6 +549,12 @@ static int cf_check cpu_callback(
> kexec_init_cpu_notes(cpu);
> break;
> default:
> + /*
> + * Default case left empty as other notifier actions do not
> require handling here.
> + * The CPU_UP_PREPARE action is specifically handled to
> allocate crash note buffers
> + * for a newly onlined CPU. Other actions do not pertain to
> crash note allocation
> + * or memory preservation for kexec.
> + */
> break;
> }
> return NOTIFY_DONE;
--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253
On 8/12/25 00:14, Nicola Vetrini wrote:
> On 2025-08-11 19:36, Dmytro Prokopchuk1 wrote:
>> MISRA Rule 16.4: Every switch statement shall have a default label. The
>> default clause must contain either a statement or a comment prior to its
>> terminating break statement.
>>
>> This change adds comments in default cases in single-clause switches to
>> avoid violations of the rule where the `default` clause lacks a suitable
>> comment or statement.
>>
>
> If you want to go this way then at least this config wants dropping:
>
> -doc_begin="A switch statement with a single switch clause and no
> default label may be used in place of an equivalent if statement if it
> is considered to improve readability."
> -config=MC3A2.R16.4,switch_clauses+={deliberate,"switch(1)&&default(0)"}
> -doc_end
>
> and probably this one too (haven't checked):
>
> -doc_begin="A switch statement with a single switch clause and no
> default label may be used in place of an equivalent if statement if it
> is considered to improve readability."
> -config=MC3A2.R16.6,switch_clauses+={deliberate, "default(0)"}
> -doc_end
>
> In the end it's a tradeoff; placing a comment with a suitable
> argumentation might be strictly better than simply tagging the tool
> report, at least from a developer's perspective. From a MISRA compliance
> standpoint in my opinion both are fine. Let's see what the maintainers
> think.
>
According to Jan's comment here
https://patchew.org/Xen/725ec86ac1aa883c35fb30b8f226c95cbe0934e9.1754322299.git.dmytro._5Fprokopchuk1@epam.com/
there were discussions about placing comments inside 'default' case.
Actually, my first patch removed 'default' case in single-clause switches.
Dmytro
>> Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com>
>> ---
>> xen/arch/arm/cpuerrata.c | 5 +++++
>> xen/arch/arm/gic.c | 6 ++++++
>> xen/arch/arm/mmu/p2m.c | 6 ++++++
>> xen/arch/arm/time.c | 6 ++++++
>> xen/common/kexec.c | 6 ++++++
>> 5 files changed, 29 insertions(+)
>>
>> diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
>> index 17cf134f1b..e31c72694b 100644
>> --- a/xen/arch/arm/cpuerrata.c
>> +++ b/xen/arch/arm/cpuerrata.c
>> @@ -735,6 +735,11 @@ static int cpu_errata_callback(struct
>> notifier_block *nfb,
>> rc = enable_nonboot_cpu_caps(arm_errata);
>> break;
>> default:
>> + /*
>> + * Default case left empty as other notifier actions do not
>> require handling here.
>> + * The single CPU_STARTING action in the switch is sufficient
>> because this function
>> + * specifically handles enabling errata workarounds during
>> CPU startup.
>> + */
>> break;
>> }
>>
>> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
>> index e80fe0ca24..dfbb0dfe08 100644
>> --- a/xen/arch/arm/gic.c
>> +++ b/xen/arch/arm/gic.c
>> @@ -436,6 +436,12 @@ static int cpu_gic_callback(struct notifier_block
>> *nfb,
>> release_irq(gic_hw_ops->info->maintenance_irq, NULL);
>> break;
>> default:
>> + /*
>> + * Default case left empty as other notifier actions do not
>> require handling here.
>> + * The CPU_DYING action specifically handles releasing
>> resources acquired by
>> + * init_maintenance_interrupt(), when the CPU is being taken
>> offline. Other CPU
>> + * actions do not require GIC-specific handling.
>> + */
>> break;
>> }
>>
>> diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
>> index 51abf3504f..d1f0ae0226 100644
>> --- a/xen/arch/arm/mmu/p2m.c
>> +++ b/xen/arch/arm/mmu/p2m.c
>> @@ -1828,6 +1828,12 @@ static int cpu_virt_paging_callback(struct
>> notifier_block *nfb,
>> setup_virt_paging_one(NULL);
>> break;
>> default:
>> + /*
>> + * Default case left empty as other notifier actions do not
>> require handling here.
>> + * The CPU_STARTING action is specifically handled because
>> this function sets up
>> + * virtual paging for CPUs, particularly for non-boot CPUs
>> during hotplug. Other
>> + * actions do not involve virtual paging setup.
>> + */
>> break;
>> }
>>
>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>> index e74d30d258..4776110d97 100644
>> --- a/xen/arch/arm/time.c
>> +++ b/xen/arch/arm/time.c
>> @@ -382,6 +382,12 @@ static int cpu_time_callback(struct
>> notifier_block *nfb,
>> deinit_timer_interrupt();
>> break;
>> default:
>> + /*
>> + * Default case left empty as other notifier actions do not
>> require handling here.
>> + * The CPU_DYING action is specifically handled to revert
>> actions done in
>> + * init_timer_interrupt() and properly disable timer
>> interrupts on the CPU being
>> + * taken offline. Other actions do not involve timer
>> deinitialization.
>> + */
>> break;
>> }
>>
>> diff --git a/xen/common/kexec.c b/xen/common/kexec.c
>> index 84fe8c3597..0f78087a4a 100644
>> --- a/xen/common/kexec.c
>> +++ b/xen/common/kexec.c
>> @@ -549,6 +549,12 @@ static int cf_check cpu_callback(
>> kexec_init_cpu_notes(cpu);
>> break;
>> default:
>> + /*
>> + * Default case left empty as other notifier actions do not
>> require handling here.
>> + * The CPU_UP_PREPARE action is specifically handled to
>> allocate crash note buffers
>> + * for a newly onlined CPU. Other actions do not pertain to
>> crash note allocation
>> + * or memory preservation for kexec.
>> + */
>> break;
>> }
>> return NOTIFY_DONE;
>
On 12.08.2025 09:19, Dmytro Prokopchuk1 wrote:
>
>
> On 8/12/25 00:14, Nicola Vetrini wrote:
>> On 2025-08-11 19:36, Dmytro Prokopchuk1 wrote:
>>> MISRA Rule 16.4: Every switch statement shall have a default label. The
>>> default clause must contain either a statement or a comment prior to its
>>> terminating break statement.
>>>
>>> This change adds comments in default cases in single-clause switches to
>>> avoid violations of the rule where the `default` clause lacks a suitable
>>> comment or statement.
>>>
>>
>> If you want to go this way then at least this config wants dropping:
>>
>> -doc_begin="A switch statement with a single switch clause and no
>> default label may be used in place of an equivalent if statement if it
>> is considered to improve readability."
>> -config=MC3A2.R16.4,switch_clauses+={deliberate,"switch(1)&&default(0)"}
>> -doc_end
>>
>> and probably this one too (haven't checked):
>>
>> -doc_begin="A switch statement with a single switch clause and no
>> default label may be used in place of an equivalent if statement if it
>> is considered to improve readability."
>> -config=MC3A2.R16.6,switch_clauses+={deliberate, "default(0)"}
>> -doc_end
>>
>> In the end it's a tradeoff; placing a comment with a suitable
>> argumentation might be strictly better than simply tagging the tool
>> report, at least from a developer's perspective. From a MISRA compliance
>> standpoint in my opinion both are fine. Let's see what the maintainers
>> think.
>>
>
> According to Jan's comment here
> https://patchew.org/Xen/725ec86ac1aa883c35fb30b8f226c95cbe0934e9.1754322299.git.dmytro._5Fprokopchuk1@epam.com/
> there were discussions about placing comments inside 'default' case.
For notifier functions in particular, yes. The config quoted above covers
more than those, though, if I'm not mistaken.
Jan
On 8/11/25 20:36, Dmytro Prokopchuk1 wrote: > MISRA Rule 16.4: Every switch statement shall have a default label. The > default clause must contain either a statement or a comment prior to its > terminating break statement. > > This change adds comments in default cases in single-clause switches to > avoid violations of the rule where the `default` clause lacks a suitable > comment or statement. > > Signed-off-by: Dmytro Prokopchuk <dmytro_prokopchuk1@epam.com> > --- > xen/arch/arm/cpuerrata.c | 5 +++++ > xen/arch/arm/gic.c | 6 ++++++ > xen/arch/arm/mmu/p2m.c | 6 ++++++ > xen/arch/arm/time.c | 6 ++++++ > xen/common/kexec.c | 6 ++++++ > 5 files changed, 29 insertions(+) > > diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c > index 17cf134f1b..e31c72694b 100644 > --- a/xen/arch/arm/cpuerrata.c > +++ b/xen/arch/arm/cpuerrata.c > @@ -735,6 +735,11 @@ static int cpu_errata_callback(struct notifier_block *nfb, > rc = enable_nonboot_cpu_caps(arm_errata); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The single CPU_STARTING action in the switch is sufficient because this function > + * specifically handles enabling errata workarounds during CPU startup. > + */ > break; > } > > diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c > index e80fe0ca24..dfbb0dfe08 100644 > --- a/xen/arch/arm/gic.c > +++ b/xen/arch/arm/gic.c > @@ -436,6 +436,12 @@ static int cpu_gic_callback(struct notifier_block *nfb, > release_irq(gic_hw_ops->info->maintenance_irq, NULL); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_DYING action specifically handles releasing resources acquired by > + * init_maintenance_interrupt(), when the CPU is being taken offline. Other CPU > + * actions do not require GIC-specific handling. > + */ > break; > } > > diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c > index 51abf3504f..d1f0ae0226 100644 > --- a/xen/arch/arm/mmu/p2m.c > +++ b/xen/arch/arm/mmu/p2m.c > @@ -1828,6 +1828,12 @@ static int cpu_virt_paging_callback(struct notifier_block *nfb, > setup_virt_paging_one(NULL); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_STARTING action is specifically handled because this function sets up > + * virtual paging for CPUs, particularly for non-boot CPUs during hotplug. Other > + * actions do not involve virtual paging setup. > + */ > break; > } > > diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c > index e74d30d258..4776110d97 100644 > --- a/xen/arch/arm/time.c > +++ b/xen/arch/arm/time.c > @@ -382,6 +382,12 @@ static int cpu_time_callback(struct notifier_block *nfb, > deinit_timer_interrupt(); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_DYING action is specifically handled to revert actions done in > + * init_timer_interrupt() and properly disable timer interrupts on the CPU being > + * taken offline. Other actions do not involve timer deinitialization. > + */ > break; > } > > diff --git a/xen/common/kexec.c b/xen/common/kexec.c > index 84fe8c3597..0f78087a4a 100644 > --- a/xen/common/kexec.c > +++ b/xen/common/kexec.c > @@ -549,6 +549,12 @@ static int cf_check cpu_callback( > kexec_init_cpu_notes(cpu); > break; > default: > + /* > + * Default case left empty as other notifier actions do not require handling here. > + * The CPU_UP_PREPARE action is specifically handled to allocate crash note buffers > + * for a newly onlined CPU. Other actions do not pertain to crash note allocation > + * or memory preservation for kexec. > + */ > break; > } > return NOTIFY_DONE; My apologies, forgot to include previous discussion link: https://patchew.org/Xen/725ec86ac1aa883c35fb30b8f226c95cbe0934e9.1754322299.git.dmytro._5Fprokopchuk1@epam.com/ Dmytro
© 2016 - 2025 Red Hat, Inc.