Hi, [auto build test WARNING on next-20160607] [cannot apply to v4.7-rc2 v4.7-rc1 v4.6-rc7 v4.7-rc2] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Michal-Hocko/mm-oom_reaper-make-sure-that-mmput_async-is-called-only-when-memory-was-reaped/20160607-211715 config: mn10300-asb2364_defconfig (attached as .config) compiler: am33_2.0-linux-gcc (GCC) 4.9.0 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=mn10300 All warnings (new ones prefixed by >>): mm/oom_kill.c: In function '__oom_reap_task': >> mm/oom_kill.c:490:7: warning: passing argument 1 of 'mmget_not_zero' from incompatible pointer type if (!mmget_not_zero(&mm->mm_users)) { ^ In file included from include/linux/oom.h:5:0, from mm/oom_kill.c:20: include/linux/sched.h:2746:20: note: expected 'struct mm_struct *' but argument is of type 'struct atomic_t *' static inline bool mmget_not_zero(struct mm_struct *mm) ^ vim +/mmget_not_zero +490 mm/oom_kill.c 474 if (!p) 475 goto unlock_oom; 476 mm = p->mm; 477 atomic_inc(&mm->mm_count); 478 task_unlock(p); 479 480 if (!down_read_trylock(&mm->mmap_sem)) { 481 ret = false; 482 goto mm_drop; 483 } 484 485 /* 486 * increase mm_users only after we know we will reap something so 487 * that the mmput_async is called only when we have reaped something 488 * and delayed __mmput doesn't matter that much 489 */ > 490 if (!mmget_not_zero(&mm->mm_users)) { 491 up_read(&mm->mmap_sem); 492 goto mm_drop; 493 } 494 495 tlb_gather_mmu(&tlb, mm, 0, -1); 496 for (vma = mm->mmap ; vma; vma = vma->vm_next) { 497 if (is_vm_hugetlb_page(vma)) 498 continue; --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data