Message ID | 20230830121115.v12.7.I625d393afd71e1766ef73d3bfaac0b347a4afd19@changeid (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64: Add IPI for backtraces / kgdb; try to use NMI for some IPIs | expand |
On Wed, Aug 30, 2023 at 12:11:28PM -0700, Douglas Anderson wrote: > Mark the three IPI-related globals in smp.c as "__ro_after_init" since > they are only ever set in set_smp_ipi_range(), which is marked > "__init". This is a better and more secure marking than the old > "__read_mostly". > > Suggested-by: Stephen Boyd <swboyd@chromium.org> > Signed-off-by: Douglas Anderson <dianders@chromium.org> > --- > This patch is almost completely unrelated to the rest of the series > other than the fact that it would cause a merge conflict with the > series if sent separately. I tacked it on to this series in response > to Stephen's feedback on v11 of this series [1]. If someone hates it > (not sure why they would), it could be dropped. If someone loves it, > it could be promoted to the start of the series and/or land on its own > (resolving merge conflicts). > > [1] https://lore.kernel.org/r/CAE-0n52iVDgZa8XT8KTMj12c_ESSJt7f7A0fuZ_oAMMqpGcSzA@mail.gmail.com This looks reasonable to me, so: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > > Changes in v12: > - ("arm64: smp: Mark IPI globals as __ro_after_init") new for v12. > > arch/arm64/kernel/smp.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c > index 1a53e57c81d0..814d9aa93b21 100644 > --- a/arch/arm64/kernel/smp.c > +++ b/arch/arm64/kernel/smp.c > @@ -84,9 +84,9 @@ enum ipi_msg_type { > MAX_IPI > }; > > -static int ipi_irq_base __read_mostly; > -static int nr_ipi __read_mostly = NR_IPI; > -static struct irq_desc *ipi_desc[MAX_IPI] __read_mostly; > +static int ipi_irq_base __ro_after_init; > +static int nr_ipi __ro_after_init = NR_IPI; > +static struct irq_desc *ipi_desc[MAX_IPI] __ro_after_init; > > static void ipi_setup(int cpu); > > -- > 2.42.0.283.g2d96d420d3-goog >
diff --git a/arch/arm64/kernel/smp.c b/arch/arm64/kernel/smp.c index 1a53e57c81d0..814d9aa93b21 100644 --- a/arch/arm64/kernel/smp.c +++ b/arch/arm64/kernel/smp.c @@ -84,9 +84,9 @@ enum ipi_msg_type { MAX_IPI }; -static int ipi_irq_base __read_mostly; -static int nr_ipi __read_mostly = NR_IPI; -static struct irq_desc *ipi_desc[MAX_IPI] __read_mostly; +static int ipi_irq_base __ro_after_init; +static int nr_ipi __ro_after_init = NR_IPI; +static struct irq_desc *ipi_desc[MAX_IPI] __ro_after_init; static void ipi_setup(int cpu);
Mark the three IPI-related globals in smp.c as "__ro_after_init" since they are only ever set in set_smp_ipi_range(), which is marked "__init". This is a better and more secure marking than the old "__read_mostly". Suggested-by: Stephen Boyd <swboyd@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> --- This patch is almost completely unrelated to the rest of the series other than the fact that it would cause a merge conflict with the series if sent separately. I tacked it on to this series in response to Stephen's feedback on v11 of this series [1]. If someone hates it (not sure why they would), it could be dropped. If someone loves it, it could be promoted to the start of the series and/or land on its own (resolving merge conflicts). [1] https://lore.kernel.org/r/CAE-0n52iVDgZa8XT8KTMj12c_ESSJt7f7A0fuZ_oAMMqpGcSzA@mail.gmail.com Changes in v12: - ("arm64: smp: Mark IPI globals as __ro_after_init") new for v12. arch/arm64/kernel/smp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)