[PATCH] xen/mcelog: mark g_physinfo, ncpus and xen_mce_chrdev_device as __ro_after_init

Len Bao posted 1 patch 6 hours ago
Failed in applying to current master (apply log)
There is a newer version of this series
drivers/xen/mcelog.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH] xen/mcelog: mark g_physinfo, ncpus and xen_mce_chrdev_device as __ro_after_init
Posted by Len Bao 6 hours ago
The 'g_physinfo' and 'ncpus' variables are initialized only during the
init phase in the 'bind_virq_for_mce' function and never changed. So,
mark them as __ro_after_init.

The 'xen_mce_chrdev_device' variable is initialized only in the
declaration and never changed. So, this variable could be 'const', but
using the 'misc_register' and 'misc_deregister' functions discards the
'const' qualifier. Therefore, as an alternative, mark it as
__ro_after_init.

Signed-off-by: Len Bao <len.bao@gmx.us>
---
 drivers/xen/mcelog.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/xen/mcelog.c b/drivers/xen/mcelog.c
index 53a8720f5..32ab419bb 100644
--- a/drivers/xen/mcelog.c
+++ b/drivers/xen/mcelog.c
@@ -54,8 +54,8 @@
 #include <asm/xen/hypervisor.h>
 
 static struct mc_info g_mi;
-static struct mcinfo_logical_cpu *g_physinfo;
-static uint32_t ncpus;
+static struct mcinfo_logical_cpu *g_physinfo __ro_after_init;
+static uint32_t ncpus __ro_after_init;
 
 static DEFINE_MUTEX(mcelog_lock);
 
@@ -182,7 +182,7 @@ static const struct file_operations xen_mce_chrdev_ops = {
 	.unlocked_ioctl		= xen_mce_chrdev_ioctl,
 };
 
-static struct miscdevice xen_mce_chrdev_device = {
+static struct miscdevice xen_mce_chrdev_device __ro_after_init = {
 	MISC_MCELOG_MINOR,
 	"mcelog",
 	&xen_mce_chrdev_ops,
-- 
2.43.0
Re: [PATCH] xen/mcelog: mark g_physinfo, ncpus and xen_mce_chrdev_device as __ro_after_init
Posted by Juergen Gross 4 hours ago
On 23.05.26 15:28, Len Bao wrote:
> The 'g_physinfo' and 'ncpus' variables are initialized only during the
> init phase in the 'bind_virq_for_mce' function and never changed. So,
> mark them as __ro_after_init.
> 
> The 'xen_mce_chrdev_device' variable is initialized only in the
> declaration and never changed. So, this variable could be 'const', but
> using the 'misc_register' and 'misc_deregister' functions discards the
> 'const' qualifier. Therefore, as an alternative, mark it as
> __ro_after_init.
> 
> Signed-off-by: Len Bao <len.bao@gmx.us>

Reviewed-by: Juergen Gross <jgross@suse.com>


Juergen