CC: [email protected] BCC: [email protected] TO: [email protected] tree: https://github.com/zen-kernel/zen-kernel 5.17/ksm head: 13291d69a25fa8e6f9c49b25602a096a1d98b4f2 commit: 930581120060a7ad837a936056e0c2debf936e24 [3/5] mm: introduce pmadv_ksm system call :::::: branch date: 4 days ago :::::: commit date: 4 days ago config: mips-randconfig-m031-20220601 (https://download.01.org/0day-ci/archive/20220604/[email protected]/config) compiler: mips-linux-gcc (GCC) 11.3.0
If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: mm/madvise.c:1529 __do_sys_pmadv_ksm() error: uninitialized symbol 'ret'. mm/madvise.c:1529 __do_sys_pmadv_ksm() error: uninitialized symbol 'ret'. vim +/ret +1529 mm/madvise.c 930581120060a7 Oleksandr Natalenko 2021-10-04 1448 930581120060a7 Oleksandr Natalenko 2021-10-04 1449 SYSCALL_DEFINE3(pmadv_ksm, int, pidfd, int, behaviour, unsigned int, flags) 930581120060a7 Oleksandr Natalenko 2021-10-04 1450 { 930581120060a7 Oleksandr Natalenko 2021-10-04 1451 #ifdef CONFIG_KSM 930581120060a7 Oleksandr Natalenko 2021-10-04 1452 ssize_t ret; 930581120060a7 Oleksandr Natalenko 2021-10-04 1453 struct pid *pid; 930581120060a7 Oleksandr Natalenko 2021-10-04 1454 struct task_struct *task; 930581120060a7 Oleksandr Natalenko 2021-10-04 1455 struct mm_struct *mm; 930581120060a7 Oleksandr Natalenko 2021-10-04 1456 unsigned int f_flags; 930581120060a7 Oleksandr Natalenko 2021-10-04 1457 struct vm_area_struct *vma; 930581120060a7 Oleksandr Natalenko 2021-10-04 1458 930581120060a7 Oleksandr Natalenko 2021-10-04 1459 if (flags != 0) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1460 ret = -EINVAL; 930581120060a7 Oleksandr Natalenko 2021-10-04 1461 goto out; 930581120060a7 Oleksandr Natalenko 2021-10-04 1462 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1463 930581120060a7 Oleksandr Natalenko 2021-10-04 1464 switch (behaviour) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1465 case MADV_MERGEABLE: 930581120060a7 Oleksandr Natalenko 2021-10-04 1466 case MADV_UNMERGEABLE: 930581120060a7 Oleksandr Natalenko 2021-10-04 1467 break; 930581120060a7 Oleksandr Natalenko 2021-10-04 1468 default: 930581120060a7 Oleksandr Natalenko 2021-10-04 1469 ret = -EINVAL; 930581120060a7 Oleksandr Natalenko 2021-10-04 1470 goto out; 930581120060a7 Oleksandr Natalenko 2021-10-04 1471 break; 930581120060a7 Oleksandr Natalenko 2021-10-04 1472 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1473 930581120060a7 Oleksandr Natalenko 2021-10-04 1474 pid = pidfd_get_pid(pidfd, &f_flags); 930581120060a7 Oleksandr Natalenko 2021-10-04 1475 if (IS_ERR(pid)) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1476 ret = PTR_ERR(pid); 930581120060a7 Oleksandr Natalenko 2021-10-04 1477 goto out; 930581120060a7 Oleksandr Natalenko 2021-10-04 1478 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1479 930581120060a7 Oleksandr Natalenko 2021-10-04 1480 task = get_pid_task(pid, PIDTYPE_PID); 930581120060a7 Oleksandr Natalenko 2021-10-04 1481 if (!task) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1482 ret = -ESRCH; 930581120060a7 Oleksandr Natalenko 2021-10-04 1483 goto put_pid; 930581120060a7 Oleksandr Natalenko 2021-10-04 1484 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1485 930581120060a7 Oleksandr Natalenko 2021-10-04 1486 /* Require PTRACE_MODE_READ to avoid leaking ASLR metadata. */ 930581120060a7 Oleksandr Natalenko 2021-10-04 1487 mm = mm_access(task, PTRACE_MODE_READ_FSCREDS); 930581120060a7 Oleksandr Natalenko 2021-10-04 1488 if (IS_ERR_OR_NULL(mm)) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1489 ret = IS_ERR(mm) ? PTR_ERR(mm) : -ESRCH; 930581120060a7 Oleksandr Natalenko 2021-10-04 1490 goto release_task; 930581120060a7 Oleksandr Natalenko 2021-10-04 1491 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1492 930581120060a7 Oleksandr Natalenko 2021-10-04 1493 /* Require CAP_SYS_NICE for influencing process performance. */ 930581120060a7 Oleksandr Natalenko 2021-10-04 1494 if (!capable(CAP_SYS_NICE)) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1495 ret = -EPERM; 930581120060a7 Oleksandr Natalenko 2021-10-04 1496 goto release_mm; 930581120060a7 Oleksandr Natalenko 2021-10-04 1497 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1498 930581120060a7 Oleksandr Natalenko 2021-10-04 1499 if (mmap_write_lock_killable(mm)) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1500 ret = -EINTR; 930581120060a7 Oleksandr Natalenko 2021-10-04 1501 goto release_mm; 930581120060a7 Oleksandr Natalenko 2021-10-04 1502 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1503 930581120060a7 Oleksandr Natalenko 2021-10-04 1504 for (vma = mm->mmap; vma; vma = vma->vm_next) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1505 switch (behaviour) { 930581120060a7 Oleksandr Natalenko 2021-10-04 1506 case MADV_MERGEABLE: 930581120060a7 Oleksandr Natalenko 2021-10-04 1507 ret = ksm_madvise_merge(vma->vm_mm, vma, &vma->vm_flags); 930581120060a7 Oleksandr Natalenko 2021-10-04 1508 break; 930581120060a7 Oleksandr Natalenko 2021-10-04 1509 case MADV_UNMERGEABLE: 930581120060a7 Oleksandr Natalenko 2021-10-04 1510 ret = ksm_madvise_unmerge(vma, vma->vm_start, vma->vm_end, &vma->vm_flags); 930581120060a7 Oleksandr Natalenko 2021-10-04 1511 break; 930581120060a7 Oleksandr Natalenko 2021-10-04 1512 default: 930581120060a7 Oleksandr Natalenko 2021-10-04 1513 /* look, ma, no brain */ 930581120060a7 Oleksandr Natalenko 2021-10-04 1514 break; 930581120060a7 Oleksandr Natalenko 2021-10-04 1515 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1516 if (ret) 930581120060a7 Oleksandr Natalenko 2021-10-04 1517 break; 930581120060a7 Oleksandr Natalenko 2021-10-04 1518 } 930581120060a7 Oleksandr Natalenko 2021-10-04 1519 930581120060a7 Oleksandr Natalenko 2021-10-04 1520 mmap_write_unlock(mm); 930581120060a7 Oleksandr Natalenko 2021-10-04 1521 930581120060a7 Oleksandr Natalenko 2021-10-04 1522 release_mm: 930581120060a7 Oleksandr Natalenko 2021-10-04 1523 mmput(mm); 930581120060a7 Oleksandr Natalenko 2021-10-04 1524 release_task: 930581120060a7 Oleksandr Natalenko 2021-10-04 1525 put_task_struct(task); 930581120060a7 Oleksandr Natalenko 2021-10-04 1526 put_pid: 930581120060a7 Oleksandr Natalenko 2021-10-04 1527 put_pid(pid); 930581120060a7 Oleksandr Natalenko 2021-10-04 1528 out: 930581120060a7 Oleksandr Natalenko 2021-10-04 @1529 return ret; -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
