From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: mm/madvise.c:124:28: warning: Parameter 'anon_name' can be declared with const [constParameter]
Date: Fri, 17 Jun 2022 04:15:07 +0800 [thread overview]
Message-ID: <202206170442.PSaV6679-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8276 bytes --]
::::::
:::::: Manual check reason: "low confidence static check warning: mm/madvise.c:124:28: warning: Parameter 'anon_name' can be declared with const [constParameter]"
::::::
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Suren Baghdasaryan <surenb@google.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 30306f6194cadcc29c77f6ddcd416a75bf5c0232
commit: 5c26f6ac9416b63d093e29c30e79b3297e425472 mm: refactor vm_area_struct::anon_vma_name usage code
date: 3 months ago
:::::: branch date: 23 hours ago
:::::: commit date: 3 months ago
compiler: mips-linux-gcc (GCC) 11.3.0
reproduce (cppcheck warning):
# apt-get install cppcheck
git checkout 5c26f6ac9416b63d093e29c30e79b3297e425472
cppcheck --quiet --enable=style,performance,portability --template=gcc FILE
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
cppcheck possible warnings: (new ones prefixed by >>, may not real problems)
>> mm/madvise.c:124:28: warning: Parameter 'anon_name' can be declared with const [constParameter]
struct anon_vma_name *anon_name)
^
vim +/anon_name +124 mm/madvise.c
9a10064f5625d5 Colin Cross 2022-01-14 100
9a10064f5625d5 Colin Cross 2022-01-14 101 /* mmap_lock should be write-locked */
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 102 static int replace_anon_vma_name(struct vm_area_struct *vma,
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 103 struct anon_vma_name *anon_name)
9a10064f5625d5 Colin Cross 2022-01-14 104 {
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 105 struct anon_vma_name *orig_name = anon_vma_name(vma);
78db3412833dc9 Suren Baghdasaryan 2022-01-14 106
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 107 if (!anon_name) {
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 108 vma->anon_name = NULL;
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 109 anon_vma_name_put(orig_name);
9a10064f5625d5 Colin Cross 2022-01-14 110 return 0;
9a10064f5625d5 Colin Cross 2022-01-14 111 }
9a10064f5625d5 Colin Cross 2022-01-14 112
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 113 if (anon_vma_name_eq(orig_name, anon_name))
9a10064f5625d5 Colin Cross 2022-01-14 114 return 0;
9a10064f5625d5 Colin Cross 2022-01-14 115
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 116 anon_vma_name_get(anon_name);
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 117 vma->anon_name = anon_name;
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 118 anon_vma_name_put(orig_name);
9a10064f5625d5 Colin Cross 2022-01-14 119
9a10064f5625d5 Colin Cross 2022-01-14 120 return 0;
9a10064f5625d5 Colin Cross 2022-01-14 121 }
9a10064f5625d5 Colin Cross 2022-01-14 122 #else /* CONFIG_ANON_VMA_NAME */
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 123 static int replace_anon_vma_name(struct vm_area_struct *vma,
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 @124 struct anon_vma_name *anon_name)
9a10064f5625d5 Colin Cross 2022-01-14 125 {
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 126 if (anon_name)
9a10064f5625d5 Colin Cross 2022-01-14 127 return -EINVAL;
9a10064f5625d5 Colin Cross 2022-01-14 128
9a10064f5625d5 Colin Cross 2022-01-14 129 return 0;
9a10064f5625d5 Colin Cross 2022-01-14 130 }
9a10064f5625d5 Colin Cross 2022-01-14 131 #endif /* CONFIG_ANON_VMA_NAME */
^1da177e4c3f41 Linus Torvalds 2005-04-16 132 /*
ac1e9acc5acf0b Colin Cross 2022-01-14 133 * Update the vm_flags on region of a vma, splitting it or merging it as
ac1e9acc5acf0b Colin Cross 2022-01-14 134 * necessary. Must be called with mmap_sem held for writing;
^1da177e4c3f41 Linus Torvalds 2005-04-16 135 */
ac1e9acc5acf0b Colin Cross 2022-01-14 136 static int madvise_update_vma(struct vm_area_struct *vma,
ac1e9acc5acf0b Colin Cross 2022-01-14 137 struct vm_area_struct **prev, unsigned long start,
9a10064f5625d5 Colin Cross 2022-01-14 138 unsigned long end, unsigned long new_flags,
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 139 struct anon_vma_name *anon_name)
^1da177e4c3f41 Linus Torvalds 2005-04-16 140 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 141 struct mm_struct *mm = vma->vm_mm;
ac1e9acc5acf0b Colin Cross 2022-01-14 142 int error;
05b7438475ddba Prasanna Meda 2005-06-21 143 pgoff_t pgoff;
e798c6e87b64d9 Prasanna Meda 2005-06-21 144
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 145 if (new_flags == vma->vm_flags && anon_vma_name_eq(anon_vma_name(vma), anon_name)) {
05b7438475ddba Prasanna Meda 2005-06-21 146 *prev = vma;
ac1e9acc5acf0b Colin Cross 2022-01-14 147 return 0;
05b7438475ddba Prasanna Meda 2005-06-21 148 }
05b7438475ddba Prasanna Meda 2005-06-21 149
05b7438475ddba Prasanna Meda 2005-06-21 150 pgoff = vma->vm_pgoff + ((start - vma->vm_start) >> PAGE_SHIFT);
05b7438475ddba Prasanna Meda 2005-06-21 151 *prev = vma_merge(mm, *prev, start, end, new_flags, vma->anon_vma,
19a809afe2fe08 Andrea Arcangeli 2015-09-04 152 vma->vm_file, pgoff, vma_policy(vma),
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 153 vma->vm_userfaultfd_ctx, anon_name);
05b7438475ddba Prasanna Meda 2005-06-21 154 if (*prev) {
05b7438475ddba Prasanna Meda 2005-06-21 155 vma = *prev;
05b7438475ddba Prasanna Meda 2005-06-21 156 goto success;
05b7438475ddba Prasanna Meda 2005-06-21 157 }
05b7438475ddba Prasanna Meda 2005-06-21 158
05b7438475ddba Prasanna Meda 2005-06-21 159 *prev = vma;
^1da177e4c3f41 Linus Torvalds 2005-04-16 160
^1da177e4c3f41 Linus Torvalds 2005-04-16 161 if (start != vma->vm_start) {
ac1e9acc5acf0b Colin Cross 2022-01-14 162 if (unlikely(mm->map_count >= sysctl_max_map_count))
ac1e9acc5acf0b Colin Cross 2022-01-14 163 return -ENOMEM;
def5efe0376501 David Rientjes 2017-02-24 164 error = __split_vma(mm, vma, start, 1);
f3bc0dba3154fa Mike Rapoport 2019-09-23 165 if (error)
ac1e9acc5acf0b Colin Cross 2022-01-14 166 return error;
def5efe0376501 David Rientjes 2017-02-24 167 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 168
^1da177e4c3f41 Linus Torvalds 2005-04-16 169 if (end != vma->vm_end) {
ac1e9acc5acf0b Colin Cross 2022-01-14 170 if (unlikely(mm->map_count >= sysctl_max_map_count))
ac1e9acc5acf0b Colin Cross 2022-01-14 171 return -ENOMEM;
def5efe0376501 David Rientjes 2017-02-24 172 error = __split_vma(mm, vma, end, 0);
f3bc0dba3154fa Mike Rapoport 2019-09-23 173 if (error)
ac1e9acc5acf0b Colin Cross 2022-01-14 174 return error;
def5efe0376501 David Rientjes 2017-02-24 175 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 176
836d5ffd345509 Hugh Dickins 2005-09-03 177 success:
^1da177e4c3f41 Linus Torvalds 2005-04-16 178 /*
c1e8d7c6a7a682 Michel Lespinasse 2020-06-08 179 * vm_flags is protected by the mmap_lock held in write mode.
^1da177e4c3f41 Linus Torvalds 2005-04-16 180 */
e798c6e87b64d9 Prasanna Meda 2005-06-21 181 vma->vm_flags = new_flags;
9a10064f5625d5 Colin Cross 2022-01-14 182 if (!vma->vm_file) {
5c26f6ac9416b6 Suren Baghdasaryan 2022-03-04 183 error = replace_anon_vma_name(vma, anon_name);
9a10064f5625d5 Colin Cross 2022-01-14 184 if (error)
9a10064f5625d5 Colin Cross 2022-01-14 185 return error;
9a10064f5625d5 Colin Cross 2022-01-14 186 }
f3bc0dba3154fa Mike Rapoport 2019-09-23 187
ac1e9acc5acf0b Colin Cross 2022-01-14 188 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 189 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 190
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-06-16 20:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-16 20:15 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-06-17 15:24 mm/madvise.c:124:28: warning: Parameter 'anon_name' can be declared with const [constParameter] kernel test robot
2022-07-11 12:41 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202206170442.PSaV6679-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.