Re: [PATCH] Declare the file_operations struct as const

From: Greg KH
Date: Sun Aug 29 2021 - 02:17:27 EST


On Sun, Aug 29, 2021 at 04:13:43AM +0200, Krish Jain wrote:
> On Sat, Aug 28, 2021 at 1:38 AM Bryan Brattlof <hello@xxxxxxxxxxxxxxxxx> wrote:
> > As for your patch, I built the driver using:
> >
> > $ make CCFLAGS=-Werror W=1 M=drivers/staging/android
> >
> > Which produced the following error:
> >
> >
> > drivers/staging/android/ashmem.c: In function ‘ashmem_mmap’:
> > drivers/staging/android/ashmem.c:380:2: warning: ‘static’ is not at beginning of declaration [-Wold-style-declaration]
> > 380 | const static struct file_operations vmfile_fops;
> > | ^~~~~
> > drivers/staging/android/ashmem.c:431:16: error: assignment of read-only variable ‘vmfile_fops’
> > 431 | vmfile_fops = *vmfile->f_op;
> > | ^
> > drivers/staging/android/ashmem.c:432:21: error: assignment of member ‘mmap’ in read-only object
> > 432 | vmfile_fops.mmap = ashmem_vmfile_mmap;
> > | ^
> > drivers/staging/android/ashmem.c:433:34: error: assignment of member ‘get_unmapped_area’ in read-only object
> > 433 | vmfile_fops.get_unmapped_area =
> > | ^
> > make[1]: *** [scripts/Makefile.build:271: drivers/staging/android/ashmem.o] Error 1
> > make: *** [Makefile:1851: drivers/staging/android] Error 2
> >
>
> Hi, this seems very useful and I tried this myself just now. I don't
> get any errors that you do though. When I hit enter I just get a new
> shell prompt. What am I doing wrong? Probably a silly mistake. I ran
> make CCFLAGS=-Werror M=drivers/staging/android/.

Are you sure the file is being built at all? You usually have to select
the proper configuration option to enable that driver as well.

thanks,

greg k-h