:::::: 
:::::: Manual check reason: "low confidence static check warning: 
mm/madvise.c:1438:6: warning: Redundant assignment of 'ret' to itself. 
[selfAssignment]"
:::::: 

CC: [email protected]
BCC: [email protected]
CC: [email protected]
TO: Charan Teja Kalla <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   32346491ddf24599decca06190ebca03ff9de7f8
commit: 5bd009c7c9a9e888077c07535dc0c70aeab242c3 mm: madvise: return correct 
bytes advised with process_madvise
date:   4 months ago
:::::: branch date: 18 hours ago
:::::: commit date: 4 months ago
compiler: nios2-linux-gcc (GCC) 11.3.0
reproduce (cppcheck warning):
        # apt-get install cppcheck
        git checkout 5bd009c7c9a9e888077c07535dc0c70aeab242c3
        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 <[email protected]>


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> mm/madvise.c:1438:6: warning: Redundant assignment of 'ret' to itself. 
>> [selfAssignment]
    ret = (total_len - iov_iter_count(&iter)) ? : ret;
        ^
   mm/madvise.c:123:28: warning: Parameter 'anon_name' can be declared with 
const [constParameter]
        struct anon_vma_name *anon_name)
                              ^

vim +/ret +1438 mm/madvise.c

ecb8ac8b1f1469 Minchan Kim        2020-10-17  1378  
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1379  
SYSCALL_DEFINE5(process_madvise, int, pidfd, const struct iovec __user *, vec,
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1380              size_t, vlen, 
int, behavior, unsigned int, flags)
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1381  {
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1382      ssize_t ret;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1383      struct iovec 
iovstack[UIO_FASTIOV], iovec;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1384      struct iovec *iov = 
iovstack;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1385      struct iov_iter iter;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1386      struct task_struct 
*task;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1387      struct mm_struct *mm;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1388      size_t total_len;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1389      unsigned int f_flags;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1390  
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1391      if (flags != 0) {
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1392              ret = -EINVAL;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1393              goto out;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1394      }
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1395  
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1396      ret = 
import_iovec(READ, vec, vlen, ARRAY_SIZE(iovstack), &iov, &iter);
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1397      if (ret < 0)
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1398              goto out;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1399  
ee9955d61a0a77 Christian Brauner  2021-10-11  1400      task = 
pidfd_get_task(pidfd, &f_flags);
ee9955d61a0a77 Christian Brauner  2021-10-11  1401      if (IS_ERR(task)) {
ee9955d61a0a77 Christian Brauner  2021-10-11  1402              ret = 
PTR_ERR(task);
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1403              goto free_iov;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1404      }
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1405  
a68a0262abdaa2 Minchan Kim        2020-12-08  1406      if 
(!process_madvise_behavior_valid(behavior)) {
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1407              ret = -EINVAL;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1408              goto 
release_task;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1409      }
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1410  
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1411      /* Require 
PTRACE_MODE_READ to avoid leaking ASLR metadata. */
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1412      mm = mm_access(task, 
PTRACE_MODE_READ_FSCREDS);
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1413      if (IS_ERR_OR_NULL(mm)) 
{
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1414              ret = 
IS_ERR(mm) ? PTR_ERR(mm) : -ESRCH;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1415              goto 
release_task;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1416      }
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1417  
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1418      /*
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1419       * Require CAP_SYS_NICE 
for influencing process performance. Note that
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1420       * only non-destructive 
hints are currently supported.
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1421       */
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1422      if 
(!capable(CAP_SYS_NICE)) {
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1423              ret = -EPERM;
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1424              goto release_mm;
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1425      }
96cfe2c0fd23ea Suren Baghdasaryan 2021-03-12  1426  
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1427      total_len = 
iov_iter_count(&iter);
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1428  
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1429      while 
(iov_iter_count(&iter)) {
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1430              iovec = 
iov_iter_iovec(&iter);
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1431              ret = 
do_madvise(mm, (unsigned long)iovec.iov_base,
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1432                              
        iovec.iov_len, behavior);
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1433              if (ret < 0)
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1434                      break;
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1435              
iov_iter_advance(&iter, iovec.iov_len);
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1436      }
ecb8ac8b1f1469 Minchan Kim        2020-10-17  1437  
5bd009c7c9a9e8 Charan Teja Kalla  2022-03-22 @1438      ret = (total_len - 
iov_iter_count(&iter)) ? : ret;

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to