Re: [PATCH v3] staging: sm750fb: constify fix_id array
From: Greg Kroah-Hartman
Date: Wed Apr 01 2026 - 07:24:31 EST
On Wed, Apr 01, 2026 at 11:03:33AM +0000, Hungyu Lin wrote:
> Make the static fix_id array const-qualified so it can be placed
> in read-only memory.
>
> Signed-off-by: Hungyu Lin <dennylin0707@xxxxxxxxx>
>
> ---
> Changes in v3:
> - Drop g_fbmode change as it is modified at runtime.
> - Resend as a new thread as requested.
> ---
> drivers/staging/sm750fb/sm750.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c
> index 9a42a08c8..f7b5b22f1 100644
> --- a/drivers/staging/sm750fb/sm750.c
> +++ b/drivers/staging/sm750fb/sm750.c
> @@ -728,7 +728,7 @@ static int lynxfb_set_fbinfo(struct fb_info *info, int index)
> lynx750_ext, NULL, vesa_modes,
> };
> int cdb[] = {ARRAY_SIZE(lynx750_ext), 0, VESA_MODEDB_SIZE};
> - static const char *fix_id[2] = {
> + static const char * const fix_id[2] = {
Wait, is this really right?
You have a const char * array, and now you make the pointer to that
const char * array const as well? But that was static already, so what
exactly just got moved to read only memory? What does the compiler do
differently here? How was this tested?
I need a bit more "proof" that this change really is correct as the
const * and * to const and static stuff here always is confusing. There
used to be some tool that would "unwind" this to figure it all out, but
I can't find that at the moment...
thanks,
greg k-h