All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Muhammad Usama Anjum" <usama.anjum@collabora.com>,
	"Peter Xu" <peterx@redhat.com>,
	"David Hildenbrand" <david@redhat.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Michał Mirosław" <emmir@google.com>,
	"Andrei Vagin" <avagin@gmail.com>,
	"Danylo Mocherniuk" <mdanylo@google.com>,
	"Paul Gofman" <pgofman@codeweavers.com>,
	"Cyrill Gorcunov" <gorcunov@gmail.com>
Cc: oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Christian Brauner <brauner@kernel.org>,
	Yang Shi <shy828301@gmail.com>, Vlastimil Babka <vbabka@suse.cz>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	Yun Zhou <yun.zhou@windriver.com>,
	Suren Baghdasaryan <surenb@google.com>,
	Alex Sierra <alex.sierra@amd.com>,
	Muhammad Usama Anjum <usama.anjum@collabora.com>,
	Matthew Wilcox <willy@infradead.org>,
	Pasha Tatashin <pasha.tatashin@soleen.com>,
	Mike Rapoport <rppt@kernel.org>, Nadav Amit <namit@vmware.com>,
	Axel Rasmussen <axelrasmussen@google.com>,
	"Gustavo A . R . Silva" <gustavoars@kernel.org>,
	Dan Williams <dan.j.williams@intel.com>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-kselftest@vger.kernel.org, Greg KH <greg@kroah.com>
Subject: Re: [PATCH v8 3/4] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs
Date: Tue, 24 Jan 2023 18:02:54 +0800	[thread overview]
Message-ID: <202301241708.pfzy132a-lkp@intel.com> (raw)
In-Reply-To: <20230124084323.1363825-4-usama.anjum@collabora.com>

Hi Muhammad,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on shuah-kselftest/next]
[also build test WARNING on shuah-kselftest/fixes linus/master v6.2-rc5]
[cannot apply to next-20230124]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Muhammad-Usama-Anjum/userfaultfd-Add-UFFD-WP-Async-support/20230124-164601
base:   https://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest.git next
patch link:    https://lore.kernel.org/r/20230124084323.1363825-4-usama.anjum%40collabora.com
patch subject: [PATCH v8 3/4] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230124/202301241708.pfzy132a-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/8d3b72e0605d479fbc5c2bc6f4ba9ddfecdb9ccb
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Muhammad-Usama-Anjum/userfaultfd-Add-UFFD-WP-Async-support/20230124-164601
        git checkout 8d3b72e0605d479fbc5c2bc6f4ba9ddfecdb9ccb
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash fs/proc/

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

All warnings (new ones prefixed by >>):

   fs/proc/task_mmu.c: In function 'pagemap_scan_pmd_entry':
   fs/proc/task_mmu.c:1880:14: warning: unused variable 'pmd_wt' [-Wunused-variable]
    1880 |         bool pmd_wt;
         |              ^~~~~~
   fs/proc/task_mmu.c:1876:22: warning: unused variable 'len' [-Wunused-variable]
    1876 |         unsigned int len;
         |                      ^~~
   fs/proc/task_mmu.c: In function 'do_pagemap_cmd':
>> fs/proc/task_mmu.c:1971:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    1971 |         vec = (struct page_region *)untagged_addr(arg->vec);
         |               ^


vim +1971 fs/proc/task_mmu.c

  1960	
  1961	static long do_pagemap_cmd(struct mm_struct *mm, struct pagemap_scan_arg *arg)
  1962	{
  1963		unsigned long empty_slots, vec_index = 0;
  1964		unsigned long __user start, end;
  1965		unsigned long __start, __end;
  1966		struct page_region __user *vec;
  1967		struct pagemap_scan_private p;
  1968		int ret;
  1969	
  1970		start = (unsigned long)untagged_addr(arg->start);
> 1971		vec = (struct page_region *)untagged_addr(arg->vec);
  1972		if ((!IS_ALIGNED(start, PAGE_SIZE)) || (!access_ok((void __user *)start, arg->len)))
  1973			return -EINVAL;
  1974		if (IS_GET_OP(arg) && ((arg->vec_len == 0) ||
  1975		    (!access_ok((void __user *)vec, arg->vec_len * sizeof(struct page_region)))))
  1976			return -ENOMEM;
  1977		if ((arg->flags & ~PAGEMAP_WP_ENGAGE) || (arg->required_mask & ~PAGEMAP_OP_MASK) ||
  1978		    (arg->anyof_mask & ~PAGEMAP_OP_MASK) || (arg->excluded_mask & ~PAGEMAP_OP_MASK) ||
  1979		    (arg->return_mask & ~PAGEMAP_OP_MASK))
  1980			return -EINVAL;
  1981		if (IS_GET_OP(arg) && ((!arg->required_mask && !arg->anyof_mask && !arg->excluded_mask) ||
  1982					!arg->return_mask))
  1983			return -EINVAL;
  1984		/* The non-WT flags cannot be obtained if PAGEMAP_WP_ENGAGE is also specified. */
  1985		if (IS_WP_ENGAGE_OP(arg) && ((arg->required_mask & PAGEMAP_NONWT_OP_MASK) ||
  1986		    (arg->anyof_mask & PAGEMAP_NONWT_OP_MASK)))
  1987			return -EINVAL;
  1988	
  1989		end = start + arg->len;
  1990		p.max_pages = arg->max_pages;
  1991		p.found_pages = 0;
  1992		p.flags = arg->flags;
  1993		p.required_mask = arg->required_mask;
  1994		p.anyof_mask = arg->anyof_mask;
  1995		p.excluded_mask = arg->excluded_mask;
  1996		p.return_mask = arg->return_mask;
  1997		p.prev.len = 0;
  1998		p.vec_len = (PAGEMAP_WALK_SIZE >> PAGE_SHIFT);
  1999	
  2000		if (IS_GET_OP(arg)) {
  2001			p.vec = kmalloc_array(p.vec_len, sizeof(struct page_region), GFP_KERNEL);
  2002			if (!p.vec)
  2003				return -ENOMEM;
  2004		} else {
  2005			p.vec = NULL;
  2006		}
  2007		__start = __end = start;
  2008		while (__end < end) {
  2009			p.vec_index = 0;
  2010			empty_slots = arg->vec_len - vec_index;
  2011			if (p.vec_len > empty_slots)
  2012				p.vec_len = empty_slots;
  2013	
  2014			__end = (__start + PAGEMAP_WALK_SIZE) & PAGEMAP_WALK_MASK;
  2015			if (__end > end)
  2016				__end = end;
  2017	
  2018			mmap_read_lock(mm);
  2019			ret = walk_page_range(mm, __start, __end, &pagemap_scan_ops, &p);
  2020			mmap_read_unlock(mm);
  2021			if (!(!ret || ret == -ENOSPC))
  2022				goto free_data;
  2023	
  2024			__start = __end;
  2025			if (IS_GET_OP(arg) && p.vec_index) {
  2026				if (copy_to_user(&vec[vec_index], p.vec,
  2027						 p.vec_index * sizeof(struct page_region))) {
  2028					ret = -EFAULT;
  2029					goto free_data;
  2030				}
  2031				vec_index += p.vec_index;
  2032			}
  2033		}
  2034		ret = export_prev_to_out(&p, vec, &vec_index);
  2035		if (!ret)
  2036			ret = vec_index;
  2037	free_data:
  2038		if (IS_GET_OP(arg))
  2039			kfree(p.vec);
  2040	
  2041		return ret;
  2042	}
  2043	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

  reply	other threads:[~2023-01-24 10:03 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-24  8:43 [PATCH v8 0/4] Implement IOCTL to get and/or the clear info about PTEs Muhammad Usama Anjum
2023-01-24  8:43 ` [PATCH v8 1/4] userfaultfd: Add UFFD WP Async support Muhammad Usama Anjum
2023-01-24 10:43   ` kernel test robot
2023-01-24 11:04   ` kernel test robot
2023-01-24 11:15   ` kernel test robot
2023-01-26 23:05   ` Peter Xu
2023-01-27  6:47     ` Muhammad Usama Anjum
2023-01-27 15:32       ` Peter Xu
2023-01-30  8:38         ` Muhammad Usama Anjum
2023-01-30 21:27           ` Peter Xu
2023-01-31  8:40             ` Muhammad Usama Anjum
2023-01-24  8:43 ` [PATCH v8 2/4] userfaultfd: split mwriteprotect_range() Muhammad Usama Anjum
2023-01-24 10:23   ` kernel test robot
2023-01-27 17:05   ` Peter Xu
2023-01-30  9:10     ` Muhammad Usama Anjum
2023-01-24  8:43 ` [PATCH v8 3/4] fs/proc/task_mmu: Implement IOCTL to get and/or the clear info about PTEs Muhammad Usama Anjum
2023-01-24 10:02   ` kernel test robot [this message]
2023-01-27 17:36   ` Peter Xu
2023-01-30 11:12     ` Muhammad Usama Anjum
2023-01-30 21:34       ` Peter Xu
2023-01-24  8:43 ` [PATCH v8 4/4] selftests: vm: add pagemap ioctl tests Muhammad Usama Anjum

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=202301241708.pfzy132a-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=alex.sierra@amd.com \
    --cc=avagin@gmail.com \
    --cc=axelrasmussen@google.com \
    --cc=brauner@kernel.org \
    --cc=dan.j.williams@intel.com \
    --cc=david@redhat.com \
    --cc=emmir@google.com \
    --cc=gorcunov@gmail.com \
    --cc=greg@kroah.com \
    --cc=gustavoars@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mdanylo@google.com \
    --cc=namit@vmware.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pasha.tatashin@soleen.com \
    --cc=peterx@redhat.com \
    --cc=pgofman@codeweavers.com \
    --cc=rppt@kernel.org \
    --cc=shy828301@gmail.com \
    --cc=skhan@linuxfoundation.org \
    --cc=surenb@google.com \
    --cc=usama.anjum@collabora.com \
    --cc=vbabka@suse.cz \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.org \
    --cc=yun.zhou@windriver.com \
    /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.