From: mugil2301 <[email protected]>
Signed-off-by: mugil2301 <[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 8044510..50f882a 100644
--- a/drivers/staging/android/ashmem.c
+++ b/drivers/staging/android/ashmem.c
@@ -367,7 +367,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;
--
2.7.4
On Sun, 2020-04-12 at 00:59 +0530, MugilRaj wrote:
> From: mugil2301 <[email protected]>
You need to verify the patch subject.
You need a change log message too.
> Signed-off-by: mugil2301 <[email protected]>
You need to put your legal name here
> diff --git a/drivers/staging/android/ashmem.c b/drivers/staging/android/ashmem.c
[]
> @@ -367,7 +367,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;
(this won't compile)
checkpatch is not always right.
Do please compile the files changed by your patch
and verify change correctness before sending any
proposed patch.
Hi MugilRaj,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on staging/staging-testing]
[also build test ERROR on v5.6 next-20200411]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/MugilRaj/taging-android-ashmem-Declared-const-key/20200412-033150
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git 134c0700a05174f2520d51ba4dd95698ffa779de
config: alpha-allmodconfig (attached as .config)
compiler: alpha-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.3.0 make.cross ARCH=alpha
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <[email protected]>
All errors (new ones prefixed by >>):
drivers/staging/android/ashmem.c: In function 'ashmem_mmap':
>> drivers/staging/android/ashmem.c:418:16: error: assignment of read-only variable 'vmfile_fops'
418 | vmfile_fops = *vmfile->f_op;
| ^
>> drivers/staging/android/ashmem.c:419:21: error: assignment of member 'mmap' in read-only object
419 | vmfile_fops.mmap = ashmem_vmfile_mmap;
| ^
>> drivers/staging/android/ashmem.c:420:34: error: assignment of member 'get_unmapped_area' in read-only object
420 | vmfile_fops.get_unmapped_area =
| ^
vim +/vmfile_fops +418 drivers/staging/android/ashmem.c
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 367
11980c2ac4ccfa Robert Love 2011-12-20 368 static int ashmem_mmap(struct file *file, struct vm_area_struct *vma)
11980c2ac4ccfa Robert Love 2011-12-20 369 {
d5d1ae9cc69f62 mugil2301 2020-04-12 370 static const struct file_operations vmfile_fops;
11980c2ac4ccfa Robert Love 2011-12-20 371 struct ashmem_area *asma = file->private_data;
11980c2ac4ccfa Robert Love 2011-12-20 372 int ret = 0;
11980c2ac4ccfa Robert Love 2011-12-20 373
11980c2ac4ccfa Robert Love 2011-12-20 374 mutex_lock(&ashmem_mutex);
11980c2ac4ccfa Robert Love 2011-12-20 375
11980c2ac4ccfa Robert Love 2011-12-20 376 /* user needs to SET_SIZE before mapping */
59848d6aded59a Alistair Strachan 2018-06-19 377 if (!asma->size) {
11980c2ac4ccfa Robert Love 2011-12-20 378 ret = -EINVAL;
11980c2ac4ccfa Robert Love 2011-12-20 379 goto out;
11980c2ac4ccfa Robert Love 2011-12-20 380 }
11980c2ac4ccfa Robert Love 2011-12-20 381
8632c614565d0c Alistair Strachan 2018-06-19 382 /* requested mapping size larger than object size */
8632c614565d0c Alistair Strachan 2018-06-19 383 if (vma->vm_end - vma->vm_start > PAGE_ALIGN(asma->size)) {
11980c2ac4ccfa Robert Love 2011-12-20 384 ret = -EINVAL;
11980c2ac4ccfa Robert Love 2011-12-20 385 goto out;
11980c2ac4ccfa Robert Love 2011-12-20 386 }
11980c2ac4ccfa Robert Love 2011-12-20 387
11980c2ac4ccfa Robert Love 2011-12-20 388 /* requested protection bits must match our allowed protection mask */
59848d6aded59a Alistair Strachan 2018-06-19 389 if ((vma->vm_flags & ~calc_vm_prot_bits(asma->prot_mask, 0)) &
59848d6aded59a Alistair Strachan 2018-06-19 390 calc_vm_prot_bits(PROT_MASK, 0)) {
11980c2ac4ccfa Robert Love 2011-12-20 391 ret = -EPERM;
11980c2ac4ccfa Robert Love 2011-12-20 392 goto out;
11980c2ac4ccfa Robert Love 2011-12-20 393 }
56f76fc68492af Arve Hj?nnev?g 2011-12-20 394 vma->vm_flags &= ~calc_vm_may_flags(~asma->prot_mask);
11980c2ac4ccfa Robert Love 2011-12-20 395
11980c2ac4ccfa Robert Love 2011-12-20 396 if (!asma->file) {
11980c2ac4ccfa Robert Love 2011-12-20 397 char *name = ASHMEM_NAME_DEF;
11980c2ac4ccfa Robert Love 2011-12-20 398 struct file *vmfile;
11980c2ac4ccfa Robert Love 2011-12-20 399
11980c2ac4ccfa Robert Love 2011-12-20 400 if (asma->name[ASHMEM_NAME_PREFIX_LEN] != '\0')
11980c2ac4ccfa Robert Love 2011-12-20 401 name = asma->name;
11980c2ac4ccfa Robert Love 2011-12-20 402
11980c2ac4ccfa Robert Love 2011-12-20 403 /* ... and allocate the backing shmem file */
11980c2ac4ccfa Robert Love 2011-12-20 404 vmfile = shmem_file_setup(name, asma->size, vma->vm_flags);
7f44cb0ba88b40 Viresh Kumar 2015-07-31 405 if (IS_ERR(vmfile)) {
11980c2ac4ccfa Robert Love 2011-12-20 406 ret = PTR_ERR(vmfile);
11980c2ac4ccfa Robert Love 2011-12-20 407 goto out;
11980c2ac4ccfa Robert Love 2011-12-20 408 }
97fbfef6bd5978 Shuxiao Zhang 2017-04-06 409 vmfile->f_mode |= FMODE_LSEEK;
11980c2ac4ccfa Robert Love 2011-12-20 410 asma->file = vmfile;
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 411 /*
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 412 * override mmap operation of the vmfile so that it can't be
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 413 * remapped which would lead to creation of a new vma with no
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 414 * asma permission checks. Have to override get_unmapped_area
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 415 * as well to prevent VM_BUG_ON check for f_ops modification.
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 416 */
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 417 if (!vmfile_fops.mmap) {
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 @418 vmfile_fops = *vmfile->f_op;
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 @419 vmfile_fops.mmap = ashmem_vmfile_mmap;
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 @420 vmfile_fops.get_unmapped_area =
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 421 ashmem_vmfile_get_unmapped_area;
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 422 }
6d67b0290b4b84 Suren Baghdasaryan 2020-01-27 423 vmfile->f_op = &vmfile_fops;
11980c2ac4ccfa Robert Love 2011-12-20 424 }
11980c2ac4ccfa Robert Love 2011-12-20 425 get_file(asma->file);
11980c2ac4ccfa Robert Love 2011-12-20 426
11980c2ac4ccfa Robert Love 2011-12-20 427 /*
11980c2ac4ccfa Robert Love 2011-12-20 428 * XXX - Reworked to use shmem_zero_setup() instead of
11980c2ac4ccfa Robert Love 2011-12-20 429 * shmem_set_file while we're in staging. -jstultz
11980c2ac4ccfa Robert Love 2011-12-20 430 */
11980c2ac4ccfa Robert Love 2011-12-20 431 if (vma->vm_flags & VM_SHARED) {
11980c2ac4ccfa Robert Love 2011-12-20 432 ret = shmem_zero_setup(vma);
11980c2ac4ccfa Robert Love 2011-12-20 433 if (ret) {
11980c2ac4ccfa Robert Love 2011-12-20 434 fput(asma->file);
11980c2ac4ccfa Robert Love 2011-12-20 435 goto out;
11980c2ac4ccfa Robert Love 2011-12-20 436 }
44960f2a7b63e2 John Stultz 2018-07-31 437 } else {
44960f2a7b63e2 John Stultz 2018-07-31 438 vma_set_anonymous(vma);
11980c2ac4ccfa Robert Love 2011-12-20 439 }
11980c2ac4ccfa Robert Love 2011-12-20 440
11980c2ac4ccfa Robert Love 2011-12-20 441 if (vma->vm_file)
11980c2ac4ccfa Robert Love 2011-12-20 442 fput(vma->vm_file);
11980c2ac4ccfa Robert Love 2011-12-20 443 vma->vm_file = asma->file;
11980c2ac4ccfa Robert Love 2011-12-20 444
11980c2ac4ccfa Robert Love 2011-12-20 445 out:
11980c2ac4ccfa Robert Love 2011-12-20 446 mutex_unlock(&ashmem_mutex);
11980c2ac4ccfa Robert Love 2011-12-20 447 return ret;
11980c2ac4ccfa Robert Love 2011-12-20 448 }
11980c2ac4ccfa Robert Love 2011-12-20 449
:::::: The code at line 418 was first introduced by commit
:::::: 6d67b0290b4b84c477e6a2fc6e005e174d3c7786 staging: android: ashmem: Disallow ashmem memory from being remapped
:::::: TO: Suren Baghdasaryan <[email protected]>
:::::: CC: Greg Kroah-Hartman <[email protected]>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
On Sun, Apr 12, 2020 at 12:59:56AM +0530, MugilRaj wrote:
> From: mugil2301 <[email protected]>
^^^^^^^^^
1) Real name.
2) Add a commit message.
>
> Signed-off-by: mugil2301 <[email protected]>
^^^^^^^^^
3) Real name here as well.
> ---
> 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 8044510..50f882a 100644
> --- a/drivers/staging/android/ashmem.c
> +++ b/drivers/staging/android/ashmem.c
> @@ -367,7 +367,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;
^^
4) Too many space characters.
Please resend.
regards,
dan carpenter