Re: [PATCH v4] staging: greybus: Constify gb_audio_module_type

From: Fabio M. De Francesco
Date: Sat Mar 16 2024 - 13:42:00 EST


On Thursday, 14 March 2024 19:48:01 CET Ayush Tiwari wrote:
> Constify static struct kobj_type gb_audio_module_type to prevent
> modification of data shared across many instances,

I overlooked these in v3...

What do you exactly mean, in this context, by "data shared across many
instances"? Can you please clarify that?

I suspect that by "shared data" we usually mean something different.

> ensuring that the
> structure's usage is consistent and predictable throughout the driver
> and allows

ensuring, allowing (s/allows/allowing/).

> the compiler to place it in read-only memory.
> The gb_audio_module_type structure is used when initializing and
> adding kobj instances to the kernel's object hierarchy.
> After adding const, any attempt to alter gb_audio_module_type
> in the code is raising

would raise?

Fabio

> a compile-time error. This enforcement
> ensures that the sysfs interface and operations for audio
> modules remain stable.
>
> Signed-off-by: Ayush Tiwari <ayushtiw0110@xxxxxxxxx>
>
> ---
> Changes in v4: added more details verifying the change.
>
> Changes in v3: added the message that verifies the change,
> as suggested by Julia
>
> Changes in v2: incorporated changes in commit message
> as suggested by Alison
> ---
> drivers/staging/greybus/audio_manager_module.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/greybus/audio_manager_module.c
> b/drivers/staging/greybus/audio_manager_module.c index
> 5f9dcbdbc191..4a4dfb42f50f 100644
> --- a/drivers/staging/greybus/audio_manager_module.c
> +++ b/drivers/staging/greybus/audio_manager_module.c
> @@ -144,7 +144,7 @@ static struct attribute
> *gb_audio_module_default_attrs[] = { };
> ATTRIBUTE_GROUPS(gb_audio_module_default);
>
> -static struct kobj_type gb_audio_module_type = {
> +static const struct kobj_type gb_audio_module_type = {
> .sysfs_ops = &gb_audio_module_sysfs_ops,
> .release = gb_audio_module_release,
> .default_groups = gb_audio_module_default_groups,