All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [android-common:android13-5.15 2/9] mm/mmap.c:1815:12: error: too few arguments to function 'vma_merge'
Date: Wed, 19 Jan 2022 13:03:13 +0800	[thread overview]
Message-ID: <202201191342.IuLE52KL-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 16589 bytes --]

tree:   https://android.googlesource.com/kernel/common android13-5.15
head:   2c37ba03094d66f3dcb478ef7aa2aa9f737089f7
commit: c7c68b81e19379204a80515cf1b5c444b0128ba0 [2/9] Revert "ANDROID: mm: fix up new call to vma_merge()"
config: i386-tinyconfig (https://download.01.org/0day-ci/archive/20220119/202201191342.IuLE52KL-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
        git remote add android-common https://android.googlesource.com/kernel/common
        git fetch --no-tags android-common android13-5.15
        git checkout c7c68b81e19379204a80515cf1b5c444b0128ba0
        # save the config file to linux build tree
        mkdir build_dir
        make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

Note: the android-common/android13-5.15 HEAD 2c37ba03094d66f3dcb478ef7aa2aa9f737089f7 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

   mm/mmap.c: In function 'mmap_region':
>> mm/mmap.c:1815:12: error: too few arguments to function 'vma_merge'
    1815 |    merge = vma_merge(mm, prev, vma->vm_start, vma->vm_end, vma->vm_flags,
         |            ^~~~~~~~~
   mm/mmap.c:1163:24: note: declared here
    1163 | struct vm_area_struct *vma_merge(struct mm_struct *mm,
         |                        ^~~~~~~~~


vim +/vma_merge +1815 mm/mmap.c

fc8744adc870a8d Linus Torvalds        2009-01-31  1724  
0165ab443556bdf Miklos Szeredi        2007-07-15  1725  unsigned long mmap_region(struct file *file, unsigned long addr,
897ab3e0c49e24b Mike Rapoport         2017-02-24  1726  		unsigned long len, vm_flags_t vm_flags, unsigned long pgoff,
897ab3e0c49e24b Mike Rapoport         2017-02-24  1727  		struct list_head *uf)
0165ab443556bdf Miklos Szeredi        2007-07-15  1728  {
0165ab443556bdf Miklos Szeredi        2007-07-15  1729  	struct mm_struct *mm = current->mm;
d70cec8983241a6 Miaohe Lin            2020-08-06  1730  	struct vm_area_struct *vma, *prev, *merge;
0165ab443556bdf Miklos Szeredi        2007-07-15  1731  	int error;
0165ab443556bdf Miklos Szeredi        2007-07-15  1732  	struct rb_node **rb_link, *rb_parent;
0165ab443556bdf Miklos Szeredi        2007-07-15  1733  	unsigned long charged = 0;
0165ab443556bdf Miklos Szeredi        2007-07-15  1734  
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1735  	/* Check against address space limit. */
84638335900f199 Konstantin Khlebnikov 2016-01-14  1736  	if (!may_expand_vm(mm, vm_flags, len >> PAGE_SHIFT)) {
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1737  		unsigned long nr_pages;
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1738  
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1739  		/*
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1740  		 * MAP_FIXED may remove pages of mappings that intersects with
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1741  		 * requested mapping. Account for the pages it would unmap.
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1742  		 */
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1743  		nr_pages = count_vma_pages_range(mm, addr, addr + len);
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1744  
84638335900f199 Konstantin Khlebnikov 2016-01-14  1745  		if (!may_expand_vm(mm, vm_flags,
84638335900f199 Konstantin Khlebnikov 2016-01-14  1746  					(len >> PAGE_SHIFT) - nr_pages))
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1747  			return -ENOMEM;
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1748  	}
e8420a8ece80b3f Cyril Hrubis          2013-04-29  1749  
fb8090b699c3e14 Liam R. Howlett       2020-10-17  1750  	/* Clear old maps, set up prev, rb_link, rb_parent, and uf */
fb8090b699c3e14 Liam R. Howlett       2020-10-17  1751  	if (munmap_vma_range(mm, addr, len, &prev, &rb_link, &rb_parent, uf))
^1da177e4c3f415 Linus Torvalds        2005-04-16  1752  		return -ENOMEM;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1753  	/*
^1da177e4c3f415 Linus Torvalds        2005-04-16  1754  	 * Private writable mapping: check memory availability
^1da177e4c3f415 Linus Torvalds        2005-04-16  1755  	 */
5a6fe1259506760 Mel Gorman            2009-02-10  1756  	if (accountable_mapping(file, vm_flags)) {
^1da177e4c3f415 Linus Torvalds        2005-04-16  1757  		charged = len >> PAGE_SHIFT;
191c542442fdf53 Al Viro               2012-02-13  1758  		if (security_vm_enough_memory_mm(mm, charged))
^1da177e4c3f415 Linus Torvalds        2005-04-16  1759  			return -ENOMEM;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1760  		vm_flags |= VM_ACCOUNT;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1761  	}
^1da177e4c3f415 Linus Torvalds        2005-04-16  1762  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1763  	/*
de33c8db5910cda Linus Torvalds        2009-01-29  1764  	 * Can we just expand an old mapping?
^1da177e4c3f415 Linus Torvalds        2005-04-16  1765  	 */
19a809afe2fe089 Andrea Arcangeli      2015-09-04  1766  	vma = vma_merge(mm, prev, addr, addr + len, vm_flags,
60500a42286de35 Colin Cross           2015-10-27  1767  			NULL, file, pgoff, NULL, NULL_VM_UFFD_CTX, NULL);
ba470de43188cdb Rik van Riel          2008-10-18  1768  	if (vma)
^1da177e4c3f415 Linus Torvalds        2005-04-16  1769  		goto out;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1770  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1771  	/*
^1da177e4c3f415 Linus Torvalds        2005-04-16  1772  	 * Determine the object being mapped and call the appropriate
^1da177e4c3f415 Linus Torvalds        2005-04-16  1773  	 * specific mapper. the address has already been validated, but
^1da177e4c3f415 Linus Torvalds        2005-04-16  1774  	 * not unmapped, but the maps are removed from the list.
^1da177e4c3f415 Linus Torvalds        2005-04-16  1775  	 */
490fc053865c9cc Linus Torvalds        2018-07-21  1776  	vma = vm_area_alloc(mm);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1777  	if (!vma) {
^1da177e4c3f415 Linus Torvalds        2005-04-16  1778  		error = -ENOMEM;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1779  		goto unacct_error;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1780  	}
^1da177e4c3f415 Linus Torvalds        2005-04-16  1781  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1782  	vma->vm_start = addr;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1783  	vma->vm_end = addr + len;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1784  	vma->vm_flags = vm_flags;
3ed75eb8f1cd895 Coly Li               2007-10-18  1785  	vma->vm_page_prot = vm_get_page_prot(vm_flags);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1786  	vma->vm_pgoff = pgoff;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1787  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1788  	if (file) {
4bb5f5d9395bc11 David Herrmann        2014-08-08  1789  		if (vm_flags & VM_SHARED) {
4bb5f5d9395bc11 David Herrmann        2014-08-08  1790  			error = mapping_map_writable(file->f_mapping);
4bb5f5d9395bc11 David Herrmann        2014-08-08  1791  			if (error)
8d0920bde5eb8ec David Hildenbrand     2021-04-22  1792  				goto free_vma;
4bb5f5d9395bc11 David Herrmann        2014-08-08  1793  		}
4bb5f5d9395bc11 David Herrmann        2014-08-08  1794  
cb0942b81249798 Al Viro               2012-08-27  1795  		vma->vm_file = get_file(file);
f74ac01520c9f6d Miklos Szeredi        2017-02-20  1796  		error = call_mmap(file, vma);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1797  		if (error)
^1da177e4c3f415 Linus Torvalds        2005-04-16  1798  			goto unmap_and_free_vma;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1799  
309d08d9b3a3659 Liu Zixian            2020-12-05  1800  		/* Can addr have changed??
309d08d9b3a3659 Liu Zixian            2020-12-05  1801  		 *
309d08d9b3a3659 Liu Zixian            2020-12-05  1802  		 * Answer: Yes, several device drivers can do it in their
309d08d9b3a3659 Liu Zixian            2020-12-05  1803  		 *         f_op->mmap method. -DaveM
309d08d9b3a3659 Liu Zixian            2020-12-05  1804  		 * Bug: If addr is changed, prev, rb_link, rb_parent should
309d08d9b3a3659 Liu Zixian            2020-12-05  1805  		 *      be updated for vma_link()
309d08d9b3a3659 Liu Zixian            2020-12-05  1806  		 */
309d08d9b3a3659 Liu Zixian            2020-12-05  1807  		WARN_ON_ONCE(addr != vma->vm_start);
309d08d9b3a3659 Liu Zixian            2020-12-05  1808  
309d08d9b3a3659 Liu Zixian            2020-12-05  1809  		addr = vma->vm_start;
309d08d9b3a3659 Liu Zixian            2020-12-05  1810  
d70cec8983241a6 Miaohe Lin            2020-08-06  1811  		/* If vm_flags changed after call_mmap(), we should try merge vma again
d70cec8983241a6 Miaohe Lin            2020-08-06  1812  		 * as we may succeed this time.
d70cec8983241a6 Miaohe Lin            2020-08-06  1813  		 */
d70cec8983241a6 Miaohe Lin            2020-08-06  1814  		if (unlikely(vm_flags != vma->vm_flags && prev)) {
d70cec8983241a6 Miaohe Lin            2020-08-06 @1815  			merge = vma_merge(mm, prev, vma->vm_start, vma->vm_end, vma->vm_flags,
c7c68b81e193792 Suren Baghdasaryan    2021-12-28  1816  				NULL, vma->vm_file, vma->vm_pgoff, NULL, NULL_VM_UFFD_CTX);
d70cec8983241a6 Miaohe Lin            2020-08-06  1817  			if (merge) {
bc4fe4cdd602b3b Miaohe Lin            2020-10-10  1818  				/* ->mmap() can change vma->vm_file and fput the original file. So
bc4fe4cdd602b3b Miaohe Lin            2020-10-10  1819  				 * fput the vma->vm_file here or we would add an extra fput for file
bc4fe4cdd602b3b Miaohe Lin            2020-10-10  1820  				 * and cause general protection fault ultimately.
bc4fe4cdd602b3b Miaohe Lin            2020-10-10  1821  				 */
bc4fe4cdd602b3b Miaohe Lin            2020-10-10  1822  				fput(vma->vm_file);
d70cec8983241a6 Miaohe Lin            2020-08-06  1823  				vm_area_free(vma);
d70cec8983241a6 Miaohe Lin            2020-08-06  1824  				vma = merge;
309d08d9b3a3659 Liu Zixian            2020-12-05  1825  				/* Update vm_flags to pick up the change. */
d70cec8983241a6 Miaohe Lin            2020-08-06  1826  				vm_flags = vma->vm_flags;
d70cec8983241a6 Miaohe Lin            2020-08-06  1827  				goto unmap_writable;
d70cec8983241a6 Miaohe Lin            2020-08-06  1828  			}
d70cec8983241a6 Miaohe Lin            2020-08-06  1829  		}
d70cec8983241a6 Miaohe Lin            2020-08-06  1830  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1831  		vm_flags = vma->vm_flags;
f8dbf0a7a4c5d98 Huang Shijie          2009-09-21  1832  	} else if (vm_flags & VM_SHARED) {
f8dbf0a7a4c5d98 Huang Shijie          2009-09-21  1833  		error = shmem_zero_setup(vma);
f8dbf0a7a4c5d98 Huang Shijie          2009-09-21  1834  		if (error)
f8dbf0a7a4c5d98 Huang Shijie          2009-09-21  1835  			goto free_vma;
bfd40eaff5abb9f Kirill A. Shutemov    2018-07-26  1836  	} else {
bfd40eaff5abb9f Kirill A. Shutemov    2018-07-26  1837  		vma_set_anonymous(vma);
f8dbf0a7a4c5d98 Huang Shijie          2009-09-21  1838  	}
^1da177e4c3f415 Linus Torvalds        2005-04-16  1839  
c462ac288f2c97e Catalin Marinas       2019-11-25  1840  	/* Allow architectures to sanity-check the vm_flags */
c462ac288f2c97e Catalin Marinas       2019-11-25  1841  	if (!arch_validate_flags(vma->vm_flags)) {
c462ac288f2c97e Catalin Marinas       2019-11-25  1842  		error = -EINVAL;
c462ac288f2c97e Catalin Marinas       2019-11-25  1843  		if (file)
c462ac288f2c97e Catalin Marinas       2019-11-25  1844  			goto unmap_and_free_vma;
c462ac288f2c97e Catalin Marinas       2019-11-25  1845  		else
c462ac288f2c97e Catalin Marinas       2019-11-25  1846  			goto free_vma;
c462ac288f2c97e Catalin Marinas       2019-11-25  1847  	}
c462ac288f2c97e Catalin Marinas       2019-11-25  1848  
4d3d5b41a72b525 Oleg Nesterov         2008-04-28  1849  	vma_link(mm, vma, prev, rb_link, rb_parent);
4d3d5b41a72b525 Oleg Nesterov         2008-04-28  1850  	/* Once vma denies write, undo our temporary denial count */
d70cec8983241a6 Miaohe Lin            2020-08-06  1851  unmap_writable:
8d0920bde5eb8ec David Hildenbrand     2021-04-22  1852  	if (file && vm_flags & VM_SHARED)
4bb5f5d9395bc11 David Herrmann        2014-08-08  1853  		mapping_unmap_writable(file->f_mapping);
e86867720e61777 Oleg Nesterov         2013-09-11  1854  	file = vma->vm_file;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1855  out:
cdd6c482c9ff9c5 Ingo Molnar           2009-09-21  1856  	perf_event_mmap(vma);
0a4a93919bdc5ce Peter Zijlstra        2009-03-30  1857  
84638335900f199 Konstantin Khlebnikov 2016-01-14  1858  	vm_stat_account(mm, vm_flags, len >> PAGE_SHIFT);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1859  	if (vm_flags & VM_LOCKED) {
e1fb4a0864958fa Dave Jiang            2018-08-17  1860  		if ((vm_flags & VM_SPECIAL) || vma_is_dax(vma) ||
e1fb4a0864958fa Dave Jiang            2018-08-17  1861  					is_vm_hugetlb_page(vma) ||
e1fb4a0864958fa Dave Jiang            2018-08-17  1862  					vma == get_gate_vma(current->mm))
de60f5f10c58d4f Eric B Munson         2015-11-05  1863  			vma->vm_flags &= VM_LOCKED_CLEAR_MASK;
e1fb4a0864958fa Dave Jiang            2018-08-17  1864  		else
e1fb4a0864958fa Dave Jiang            2018-08-17  1865  			mm->locked_vm += (len >> PAGE_SHIFT);
bebeb3d68b24bb4 Michel Lespinasse     2013-02-22  1866  	}
2b144498350860b Srikar Dronamraju     2012-02-09  1867  
c7a3a88c938fbe3 Oleg Nesterov         2012-08-19  1868  	if (file)
c7a3a88c938fbe3 Oleg Nesterov         2012-08-19  1869  		uprobe_mmap(vma);
2b144498350860b Srikar Dronamraju     2012-02-09  1870  
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1871  	/*
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1872  	 * New (or expanded) vma always get soft dirty status.
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1873  	 * Otherwise user-space soft-dirty page tracker won't
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1874  	 * be able to distinguish situation when vma area unmapped,
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1875  	 * then new mapped in-place (which must be aimed as
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1876  	 * a completely new data area).
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1877  	 */
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1878  	vma->vm_flags |= VM_SOFTDIRTY;
d9104d1ca966249 Cyrill Gorcunov       2013-09-11  1879  
64e455079e1bd77 Peter Feiner          2014-10-13  1880  	vma_set_page_prot(vma);
64e455079e1bd77 Peter Feiner          2014-10-13  1881  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1882  	return addr;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1883  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1884  unmap_and_free_vma:
1527f926fd04490 Christian König       2020-10-09  1885  	fput(vma->vm_file);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1886  	vma->vm_file = NULL;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1887  
^1da177e4c3f415 Linus Torvalds        2005-04-16  1888  	/* Undo any partial mapping done by a device driver. */
e0da382c92626ad Hugh Dickins          2005-04-19  1889  	unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
e0da382c92626ad Hugh Dickins          2005-04-19  1890  	charged = 0;
4bb5f5d9395bc11 David Herrmann        2014-08-08  1891  	if (vm_flags & VM_SHARED)
4bb5f5d9395bc11 David Herrmann        2014-08-08  1892  		mapping_unmap_writable(file->f_mapping);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1893  free_vma:
3928d4f5ee37cdc Linus Torvalds        2018-07-21  1894  	vm_area_free(vma);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1895  unacct_error:
^1da177e4c3f415 Linus Torvalds        2005-04-16  1896  	if (charged)
^1da177e4c3f415 Linus Torvalds        2005-04-16  1897  		vm_unacct_memory(charged);
^1da177e4c3f415 Linus Torvalds        2005-04-16  1898  	return error;
^1da177e4c3f415 Linus Torvalds        2005-04-16  1899  }
^1da177e4c3f415 Linus Torvalds        2005-04-16  1900  

:::::: The code at line 1815 was first introduced by commit
:::::: d70cec8983241a6aafadf78e2d65bbafac87ab6a mm: mmap: merge vma after call_mmap() if possible

:::::: TO: Miaohe Lin <linmiaohe@huawei.com>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

                 reply	other threads:[~2022-01-19  5:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202201191342.IuLE52KL-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@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.