2022-03-13 12:40:04

by Pavel Skripkin

[permalink] [raw]
Subject: Re: [PATCH] staging: android: ashmem: Declared file operation with const keyword Warning found by checkpatch.pl script.

Hi Shaikh,

On 3/12/22 23:41, shaikh kamal wrote:
> Signed-off-by: shaikh kamal <[email protected]>
> ---
> drivers/staging/android/ashmem.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
> index ddbde3f8430e..4c6b420fbf4d 100644
> --- a/drivers/staging/android/ashmem.c
> +++ b/drivers/staging/android/ashmem.c
> @@ -377,7 +377,7 @@ ashmem_vmfile_get_unmapped_area(struct file *file, unsigned long addr,
>
> static int ashmem_mmap(struct file *file, struct vm_area_struct *vma)
> {
> - static struct file_operations vmfile_fops;
> + static const struct file_operations vmfile_fops;
> struct ashmem_area *asma = file->private_data;
> int ret = 0;
>

Are you sure this patch compiles? vmfile_fops is overrided few lines below

odd checkpatch.pl warning...




With regards,
Pavel Skripkin


2022-03-14 15:01:19

by shaikh kamaluddin

[permalink] [raw]
Subject: Re: [PATCH] staging: android: ashmem: Declared file operation with const keyword Warning found by checkpatch.pl script.

On 3/13/2022 3:13 AM, Pavel Skripkin wrote:
> Hi Shaikh,
>
> On 3/12/22 23:41, shaikh kamal wrote:
>> Signed-off-by: shaikh kamal <[email protected]>
>> ---
>>   drivers/staging/android/ashmem.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/staging/android/ashmem.c
>> b/drivers/staging/android/ashmem.c
>> index ddbde3f8430e..4c6b420fbf4d 100644
>> --- a/drivers/staging/android/ashmem.c
>> +++ b/drivers/staging/android/ashmem.c
>> @@ -377,7 +377,7 @@ ashmem_vmfile_get_unmapped_area(struct file *file,
>> unsigned long addr,
>>   static int ashmem_mmap(struct file *file, struct vm_area_struct *vma)
>>   {
>> -    static struct file_operations vmfile_fops;
>> +    static const struct file_operations vmfile_fops;
>>       struct ashmem_area *asma = file->private_data;
>>       int ret = 0;
>
> Are you sure this patch compiles? vmfile_fops is overrided few lines below
>
> odd checkpatch.pl warning...
>
>
>
>
> With regards,
> Pavel Skripkin

Thank you,yes vmfile_fops is overrided in below code.
Building the kernel - make -j4,
drivers/staging/android/ashmem.c: In function ‘ashmem_mmap’:
drivers/staging/android/ashmem.c:431:16: error: assignment of read-only
variable ‘vmfile_fops’
vmfile_fops = *vmfile->f_op;
^
drivers/staging/android/ashmem.c:432:21: error: assignment of member
‘mmap’ in read-only object
vmfile_fops.mmap = ashmem_vmfile_mmap;
^
drivers/staging/android/ashmem.c:433:34: error: assignment of member
‘get_unmapped_area’ in read-only object
vmfile_fops.get_unmapped_area =
^
scripts/Makefile.build:288: recipe for target
'drivers/staging/android/ashmem.o' failed
make[3]: *** [drivers/staging/android/ashmem.o] Error 1
scripts/Makefile.build:550: recipe for target 'drivers/staging/android'
failed
make[2]: *** [drivers/staging/android] Error 2
scripts/Makefile.build:550: recipe for target 'drivers/staging' failed
make[1]: *** [drivers/staging] Error 2
Makefile:1831: recipe for target 'drivers' failed


Thanks & Regards,
Shaikh Kamaluddin

2022-03-14 18:42:07

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] staging: android: ashmem: Declared file operation with const keyword Warning found by checkpatch.pl script.

On Mon, Mar 14, 2022 at 04:55:55PM +0530, shaikh kamaluddin wrote:
> On 3/13/2022 3:13 AM, Pavel Skripkin wrote:
> > Hi Shaikh,
> >
> > On 3/12/22 23:41, shaikh kamal wrote:
> > > Signed-off-by: shaikh kamal <[email protected]>
> > > ---
> > >   drivers/staging/android/ashmem.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/staging/android/ashmem.c
> > > b/drivers/staging/android/ashmem.c
> > > index ddbde3f8430e..4c6b420fbf4d 100644
> > > --- a/drivers/staging/android/ashmem.c
> > > +++ b/drivers/staging/android/ashmem.c
> > > @@ -377,7 +377,7 @@ ashmem_vmfile_get_unmapped_area(struct file
> > > *file, unsigned long addr,
> > >   static int ashmem_mmap(struct file *file, struct vm_area_struct *vma)
> > >   {
> > > -    static struct file_operations vmfile_fops;
> > > +    static const struct file_operations vmfile_fops;
> > >       struct ashmem_area *asma = file->private_data;
> > >       int ret = 0;
> >
> > Are you sure this patch compiles? vmfile_fops is overrided few lines below
> >
> > odd checkpatch.pl warning...
> >
> >
> >
> >
> > With regards,
> > Pavel Skripkin
>
> Thank you,yes vmfile_fops is overrided in below code.
> Building the kernel - make -j4,
> drivers/staging/android/ashmem.c: In function ‘ashmem_mmap’:
> drivers/staging/android/ashmem.c:431:16: error: assignment of read-only
> variable ‘vmfile_fops’
> vmfile_fops = *vmfile->f_op;
> ^
> drivers/staging/android/ashmem.c:432:21: error: assignment of member ‘mmap’
> in read-only object
> vmfile_fops.mmap = ashmem_vmfile_mmap;
> ^
> drivers/staging/android/ashmem.c:433:34: error: assignment of member
> ‘get_unmapped_area’ in read-only object
> vmfile_fops.get_unmapped_area =
> ^
> scripts/Makefile.build:288: recipe for target
> 'drivers/staging/android/ashmem.o' failed
> make[3]: *** [drivers/staging/android/ashmem.o] Error 1
> scripts/Makefile.build:550: recipe for target 'drivers/staging/android'
> failed
> make[2]: *** [drivers/staging/android] Error 2
> scripts/Makefile.build:550: recipe for target 'drivers/staging' failed
> make[1]: *** [drivers/staging] Error 2
> Makefile:1831: recipe for target 'drivers' failed

As always, it is expected that when you submit a change to the kernel,
at the very least you have test-built it to ensure that it does not
break the build. Please remember to do this next time.

thanks,

greg k-h

2022-03-14 19:52:32

by shaikh kamaluddin

[permalink] [raw]
Subject: Re: [PATCH] staging: android: ashmem: Declared file operation with const keyword Warning found by checkpatch.pl script.

On 3/14/2022 5:03 PM, Greg Kroah-Hartman wrote:
> On Mon, Mar 14, 2022 at 04:55:55PM +0530, shaikh kamaluddin wrote:
>> On 3/13/2022 3:13 AM, Pavel Skripkin wrote:
>>> Hi Shaikh,
>>>
>>> On 3/12/22 23:41, shaikh kamal wrote:
>>>> Signed-off-by: shaikh kamal <[email protected]>
>>>> ---
>>>>   drivers/staging/android/ashmem.c | 2 +-
>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/staging/android/ashmem.c
>>>> b/drivers/staging/android/ashmem.c
>>>> index ddbde3f8430e..4c6b420fbf4d 100644
>>>> --- a/drivers/staging/android/ashmem.c
>>>> +++ b/drivers/staging/android/ashmem.c
>>>> @@ -377,7 +377,7 @@ ashmem_vmfile_get_unmapped_area(struct file
>>>> *file, unsigned long addr,
>>>>   static int ashmem_mmap(struct file *file, struct vm_area_struct *vma)
>>>>   {
>>>> -    static struct file_operations vmfile_fops;
>>>> +    static const struct file_operations vmfile_fops;
>>>>       struct ashmem_area *asma = file->private_data;
>>>>       int ret = 0;
>>>
>>> Are you sure this patch compiles? vmfile_fops is overrided few lines below
>>>
>>> odd checkpatch.pl warning...
>>>
>>>
>>>
>>>
>>> With regards,
>>> Pavel Skripkin
>>
>> Thank you,yes vmfile_fops is overrided in below code.
>> Building the kernel - make -j4,
>> drivers/staging/android/ashmem.c: In function ‘ashmem_mmap’:
>> drivers/staging/android/ashmem.c:431:16: error: assignment of read-only
>> variable ‘vmfile_fops’
>> vmfile_fops = *vmfile->f_op;
>> ^
>> drivers/staging/android/ashmem.c:432:21: error: assignment of member ‘mmap’
>> in read-only object
>> vmfile_fops.mmap = ashmem_vmfile_mmap;
>> ^
>> drivers/staging/android/ashmem.c:433:34: error: assignment of member
>> ‘get_unmapped_area’ in read-only object
>> vmfile_fops.get_unmapped_area =
>> ^
>> scripts/Makefile.build:288: recipe for target
>> 'drivers/staging/android/ashmem.o' failed
>> make[3]: *** [drivers/staging/android/ashmem.o] Error 1
>> scripts/Makefile.build:550: recipe for target 'drivers/staging/android'
>> failed
>> make[2]: *** [drivers/staging/android] Error 2
>> scripts/Makefile.build:550: recipe for target 'drivers/staging' failed
>> make[1]: *** [drivers/staging] Error 2
>> Makefile:1831: recipe for target 'drivers' failed
>
> As always, it is expected that when you submit a change to the kernel,
> at the very least you have test-built it to ensure that it does not
> break the build. Please remember to do this next time.
>
> thanks,
>
> greg k-h


Thank you, I will do that.

Regards,
Shaikh Kamaluddin